fp_ioctlx 内核服务
用途
向打开的设备发出控制命令。
语法
#include <sys/types.h>
#include <sys/errno.h>
#include <fcntl.h>
int fp_ioctlx (fp, cmd, arg, ext, flags, retval)
struct file *fp;
unsigned long cmd;
caddr_t arg;
ext_t ext;
unsigned long flags;
long *retval;
描述
fp_ioctlx 内核服务是由 ioctl 子例程提供的功能的内部接口。
fp_ioctlx 内核服务对打开的设备发出控制命令。 某些驱动程序需要由内核服务返回的返回值 (如果没有错误)。 此值在 fp_ioctl 内核服务中不可用。 fp_ioctlx 内核服务允许传递这些数据。
参数
| 项 | 描述 |
|---|---|
| Fp | 指向由 fp_open 或 fp_opendev 内核服务所返回的文件结构。 |
| cmd | 指定请求的特定控制命令。 |
| arg | 指示命令所需要的数据。 |
| 分机 | 指定某些设备驱动程序需要的扩展参数。 其内容,形式和用途由个人驾驶员自行确定。 |
| 标志 | 指示 阿尔格 参数的地址空间。 如果 阿尔格 值在内核地址空间中,那么应该将 标志 指定为 Fkernel。 否则,它应该为零 (驱动程序传递用户空间中的数据)。 |
| 雷特瓦尔 | 指向在从调用成功返回时将存储返回值的位置。 |
执行环境
fp_ioctlx 内核服务只能从进程环境中进行调用。
返回值
成功完成后, fp_ioctlx 内核服务将返回 0。 如果不成功,那么将返回 /usr/include/sys/errno.h 文件中的一个值。 ioctl 子例程包含有效的 错误号 值。 此值将存储在 雷特瓦尔 参数中。