inode
结构体中有一个i_rdev
成员(定义在<linux/fs.h>
中):
struct inode {
......
dev_t i_rdev;
......
}
如果inode
代表一个设备,则i_rdev
的值为设备号。为了代码更好地可移植性,获取inode
的major
和minor
号应该使用imajor
和iminor
函数:
static inline unsigned iminor(const struct inode *inode)
{
return MINOR(inode->i_rdev);
}
static inline unsigned imajor(const struct inode *inode)
{
return MAJOR(inode->i_rdev);
}