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.65 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。