首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硬盘信息的netbsd ioctl

硬盘信息的netbsd ioctl
EN

Stack Overflow用户
提问于 2013-12-23 20:49:32
回答 1查看 339关注 0票数 0

我似乎找不到netbsd可用的ioctls的完整列表。

我希望在硬盘上做一些操作(获取大小,物理扇区大小,型号)。我有在linux上工作的代码。它看起来像这样,我删除了错误等,使它更紧凑:

代码语言:javascript
复制
   ioctl(fileno(driveptr[i]),HDIO_GET_IDENTITY,&hd);
   ioctl(fileno(driveptr[i]),BLKGETSIZE64,&drivesize[i]);
   ioctl(fileno(driveptr[i]),BLKPBSZGET,&psztemp);

netbsd中是否有与这些ioctls等效的ioctl?

问候

EN

回答 1

Stack Overflow用户

发布于 2014-07-06 06:37:17

给定类型的磁盘接口(或任何其他类型的设备驱动程序)的驱动程序源可能是查找特定于设备的ioctls的最佳规范位置。

与许多基于unix的系统一样,系统级的NetBSD尽量避免特定于硬件,甚至在向用户级提供详细的特定于硬件的信息方面也是如此。毕竟,unix的目标是提供一个在各种硬件平台上都是统一的系统,而不是提供对特定硬件的详细低级访问。在硬件特定细节方面,您可以获得的最好信息是驱动程序在引导时打印的有关硬件的信息,因为它被探测和附加。

在更一般的级别上,您基本上只能获得磁盘和分区标签--即与系统向用户提供磁盘设备的方式相关的信息。不幸的是,唯一记录这些的驱动程序手册页面是sd(4) (cd(4)有更多关于特定于cd-rom设备的ioctls的详细信息)。scsi(4)记录了SCSI和ATAPI接口的总线级ioctls。

在x86平台上,有"sysctl“(以及通过sysctl(3)实现的等效C级接口)来获取有关machdep.diskinfo在引导时报告的有关它所知道的磁盘的详细信息,但这可能是不完整的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20743971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档