major(3) デバイス番号の操作

Other Alias

makedev, minor

書式

#define _BSD_SOURCE /* feature_test_macros(7) 参照 */
#include <sys/types.h>
dev_t makedev(int maj, int min);
unsigned int major(dev_t dev);
unsigned int minor(dev_t dev);

説明

デバイス ID は、メジャー ID とマイナー ID の二つの部分から構成される。 メジャー ID はデバイスクラスの識別に使用され、マイナー ID は そのクラス内の特定のデバイスインスタンスの識別に使用される。 デバイス ID は dev_t 型を用いて表現される。

makedev() は、指定されたメジャー ID とマイナー ID を組み合わせて デバイス ID を生成し、関数の結果として返す。 このデバイス ID は mknod(2) などに渡すことができる。

関数 major() と minor() は makedev() と反対の処理を行う。 つまり、device ID を渡すと、それぞれメジャー ID 部分とマイナー ID 部分 を返す。これらのマクロは、例えば、 stat(2) が返す構造体に含まれる デバイス ID を分解する場合などで役に立つ。

準拠

関数 makedev(), major(), minor() は POSIX.1 では規定されていないが、他の多くのシステムにも存在する。

注意

これらのインタフェースはマクロとして定義されている。 glibc 2.3.3 以降では、これらは GNU 固有の 3 つの関数 gnu_dev_makedev(), gnu_dev_major(), gnu_dev_minor() の エイリアス (別名) となっている。後者の名前がエクスポートされるが、 以前から使われている前者の名前の方が移植性がある。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。