devswdel 内核服务

用途

从设备开关表中删除设备驱动程序项。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/device.h>
int devswdel
(
devno)
dev_t devno;

参数

描述
德夫诺 指定将删除的设备的 主要和次要设备号

描述

devswdel 内核服务通常由设备驱动程序的 ddconfig 例程在终止时调用,以从设备交换机 table.The 设备交换机表是由设备驱动程序的主设备号建立索引的设备交换机 (devsw) 结构表。 设备驱动程序接口服务在内核中使用此结构表,以方便调用设备驱动程序例程。

德夫诺 参数的主要设备号部分用于指定要移除的项的设备开关表中的索引。 在除去设备开关结构之前,将检查现有条目以确定是否有任何打开的设备正在使用它。

如果已打开的设备当前正在占用要移除的条目,那么 德夫斯代尔 服务不会执行更新。 相反,它会返回 EEXIST 返回码。 如果移除成功,那么将返回码设置为 0。

德夫斯代尔 服务通过将设备开关结构条目标记为未定义,并将该结构中的所有入口点字段设置为 诺德夫 值来从表中除去该条目。 因此,除去的设备驱动程序的任何调用者都将返回 ENODEV 错误代码。 如果指定的条目已标记为未定义,那么 德夫斯代尔 服务会返回 ENODEV 错误代码。

执行环境

仅可从 流程环境 调用 德夫斯代尔 内核服务。

返回值

描述
重大安全事件数量 指示操作成功。
EEXIST 指示指定的设备开关项正在使用中且无法除去。
ENODEV 指示未定义指定的设备交换机项。
EINVAL 指示 德夫诺 参数的主要设备号部分超过允许的最大设备切换条目数。