我所追求的是这种类型的含义以及可以使用它的界面.
Posix规范中解释了它dev_t用于设备ID.但是,设备ID对路径描述的任何对象意味着什么,可以是文件,直接,fifo或物理设备?
例如,调用stat()应该给你一个结构,包括这种类型的成员; 并且您可以在文件系统中统计任何类型的对象.对于不同的文件类型,设备ID应具有不同的含义.
dev_t绝大多数程序(可移植且未连接到单个OS)的唯一用途是确定两个文件名或文件描述符引用相同的底层文件.当且仅当两个文件的结构的条目st_ino和st_dev条目stat彼此匹配时才是这样.
基本上,st_dev告诉文件驻留在哪个"设备"(例如,安装的分区,网络共享等),并且st_ino是单个设备的上下文内的文件的唯一标识符.
实际上,有两个dev_t字段struct stat:
st_dev是"包含文件的设备的[d]设备ID",因此如果两个文件具有相同的文件st_dev,则它们位于同一文件系统上.st_rdev是由字符或块特殊文件表示的设备的设备ID,即通常遇到的文件/dev.它对其他类型的文件没有意义.