EN JA
MAKEDEV(3)
MAKEDEV(3) Linux Programmer's Manual MAKEDEV(3)

名前

makedev, major, 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() のエイリアス (別名) となっている。後者の名前がエクスポートされるが、以前から使われている前者の名前の方が移植性がある。

関連項目

mknod(2), stat(2)

この文書について

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