entn 特殊文件

用途

通过以太网设备处理程序提供对以太网高性能 LAN 适配器的访问。

描述

/dev/entn 字符特殊文件提供对以太网设备处理程序的访问,以便提供对以太网 LAN 的访问。 设备处理程序最多支持四个适配器,每个适配器可能正在运行标准以太网和/或 IEEE 802.3 协议。

使用注意事项

访问以太网设备处理程序时,应考虑以下事项:

驱动程序初始化和终止

可以装入和卸载设备处理程序。 处理程序支持用于初始化和终止自身的配置调用。

特殊文件支持

将根据设备处理程序的操作方式来讨论除 openclose 子例程以外的调用。

子例程支持

以太网设备处理程序支持 opencloseread, 以及采用以下方式的 write 子例程:

打开和关闭子例程

设备处理程序支持 /dev/entn 特殊文件作为字符多路复用特殊文件。 必须打开特殊文件以进行读写 (O_RDWR)。 但是,关闭特殊文件没有特殊注意事项。 open 调用中使用的特殊文件名取决于设备的打开方式。 特殊文件名的类型为:

描述
/dev/ent n An 打开 call to this device is used to start the device handler for the selected port, where the value of N is 0 <= N <= 7.
/dev/ent n /D An 打开 call to this device is used to start the device handler for the selected port in diagnostic mode, where the value of N is 0 <= N <= 7.

read 子例程

可以采用 read readxreadvreadvx 子例程的形式。 对于此调用,设备处理程序会将数据复制到调用者指定的缓冲区中。

write 子例程

可以采用 writewritexwritevwritevx 子例程的形式。 对于此调用,设备处理程序将用户数据复制到缓冲区并在 LAN 上传输数据。

错误代码

通过 dev/entn 特殊文件访问设备处理程序时,可能会返回以下错误代码:

描述
EACCES 由于下列其中一个原因,访问该端口的许可权被拒绝:
  • 尚未初始化设备。
  • 以诊断方式打开设备的请求被拒绝。
  • 调用来自内核方式进程。
EAFNOSUPPORT 该协议不支持地址系列,或者未设置地址中的多点广播位。
再次 传输队列已满。
EBUSY 由于设备已以诊断方式打开,或者已达到最大打开数,因此请求被拒绝。
EEXIST 定义设备结构 (DDS) 已存在。
Efault 指定的地址或参数无效。
EINTR 子例程调用已中断。
EINVAL 指定了无效的范围或操作码,或者设备未处于诊断方式。
EIO 发生 I/O 错误。
ENOBUFS 没有可用的缓冲区。
ENOCONNECT 未建立连接。
ENODEV 设备不存在。
ENOENT 没有要删除的 DDS。
ENOMEM 设备没有足够的内存。
ENOMSG 没有所需类型的消息可用。
ENOSPC 设备上没有剩余空间 (多点广播表已满)。
ENOTREADY 设备未就绪,未发出 CIO_START 操作,或者发出了该操作但未完成。
ENXIO 设备不存在,或超过了最大适配器数。
EUNATCH 未连接协议驱动程序。