omd 特殊文件
用途
提供对读/写光学设备驱动程序的访问权。
描述
奥姆德 特殊文件提供对读/写光盘驱动器中磁盘的块和字符 (原始) 访问。
特殊文件名上的 R 前缀表示驱动器是作为原始设备而不是块设备访问的。 使用光盘执行原始 I/O 需要所有数据传输的长度都是光盘逻辑块长度的倍数。 此外,对原始读/写光学设备驱动程序执行的所有 寻求 子例程都必须将文件偏移量指针设置为指定逻辑块大小的倍数值。
scdisk SCSI 设备驱动程序提供有关实现细节的更多信息。
读/写光学设备驱动程序
在读/写光盘驱动器中使用的读/写光盘是为大量数据提供存储器的介质。 通过特殊文件 /dev/omd0, /dev/omd1, ... /dev/omdn实现对光盘的块访问。 通过特殊文件 /dev/romd0, /dev/romd1, ... /dev/romdn提供字符访问。
当已安装的读/写光盘文件系统的读/写光盘从驱动器中弹出时,光盘上的文件将无法再访问。 在再次尝试访问这些文件之前,请对从读/写光盘安装的文件系统执行下列步骤:
- 停止在文件系统上打开文件的进程。
- 移动文件系统上具有当前目录的进程。
- 卸装该文件系统。
- 在重新插入介质后重新安装文件系统。
如果这些操作不起作用,请对文件系统执行强制卸装; 然后,重新安装文件系统。
与设备相关的子例程
大多数读/写光学操作是使用 开, 读, 写和 关闭 子例程实现的。 但是,为了某些目的,需要使用 奥佩克斯 (扩展) 子例程。
openx 子例程 (openx Subroutine)
支持 奥佩克斯 子例程以向 开 序列提供其他函数。 执行需要相应的权限。 如果试图在没有适当授权的情况下运行 openx 子程序,该子程序将返回 -1 ,并将 errno 全局变量设置为 EPERM。
Ioctl 子例程
ioctl 子例程 IOCINFO 操作返回 /usr/include/sys/devinfo.h 文件中定义的 devinfo 结构。 IOCINFO 操作是对所有使用 ioctl 子例程的设备驱动程序定义的唯一操作。 其他 ioctl 操作是特定于设备驱动程序类型的。 对于 IOCINFO 操作,不需要诊断方式。
错误条件数
使用 奥姆德 特殊文件时, ioctl, 开, 读和 写 子例程的可能 错误号 值包括:
| 项 | 描述 |
|---|---|
| EACCES | 指示下列其中一种情况:
|
| EBUSY | 指示下列其中一种情况:
|
| EFAULT | 指示非法用户地址。 |
| EFORMAT | 指示目标设备具有未格式化的介质或格式不兼容的介质。 |
| EINVAL | 指示下列其中一种情况:
|
| EIO | 指示下列其中一种情况:
|
| EMEDIA | 指示下列其中一种情况:
|
| 电子文件 | 指示对已具有允许的最大打开设备数的适配器尝试了 开 操作。 |
| ENODEV | 指示下列其中一种情况:
|
| ENOTREADY | 指示驱动器中没有任何读/写光盘。 |
| ENXIO | 指示下列其中一种情况:
|
| EPERM | 指示尝试的子例程需要适当的权限。 |
| ESTALE | 指示已弹出只读光盘 (未由用户先关闭) ,然后重新插入或替换为第二个光盘。 |
| ETIMEDOUT | 指示 I/O 操作已超过给定的计时器值。 |
| EWRPROTET | 指示下列其中一种情况:
|
文件
| 项 | 描述 |
|---|---|
| /dev/romd0, /dev/romd1,..., /dev/romdn | 提供对读/写光学设备驱动程序的字符访问。 |
| /dev/omd0, /dev/omd1,..., /dev/omdn | 提供对读/写光学设备驱动程序的块访问。 |