【发布时间】:2021-12-21 12:16:15
【问题描述】:
我想访问一个设备(打开它),该设备的唯一信息是文件 stat 结构中的 st_dev 字段。
int fd;
char *path;
struct stat buf;
stat("/path/to/my/file", &buf);
// do some things with buf.st_dev
// then either path contains a path to the device refered by st_dev or fd contains a file descriptor refering to it.
我想找到一种方法来做到这一点,或者以 POSIX 可移植方式,或者至少在 Linux 和 MacOS 系统上使用不同的特定方式
【问题讨论】:
-
我认为在 POSIX 中没有任何方法可以做到这一点。您也许可以使用 Linux 特定的操作来做到这一点。
-
我也很想找到一种方法来使用 Linux 特定的操作
-
@Barmar stackoverflow.com/questions/57642729/… 不是重复的。不仅因为它适用于 Linux,还因为它只是定位一个包含设备元数据的位置,而不是一个允许访问块设备内容的位置。
-
我假设(错误地)元数据将包括设备路径或挂载信息。 @Gilles'SO-stopbeingevil'
标签: c posix stat block-device