这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教ioctl()函数的实现

共2条 1/1 1 跳转至

请教ioctl()函数的实现

菜鸟
2007-06-25 01:44:22     打赏

最近读XFree86驱动,发现里面很多地方都用到了ioctl()函数,找了很久却没有找到它的函数原型,只找到一个定义:

#define ioctl() xf86ioctl();

然后找xf86ioctl()函数的实现,发现它是这样的:

int
xf86ioctl(int fd, unsigned long request, pointer argp)
{
int status = ioctl(fd, request, argp);

xf86errno = xf86GetErrno();
return status;
}
岂不是又回去了?怎么可能呢?还是这里的ioctl()函数有另外的实现?

在Linux下,ioctl()函数是由系统实现的还是由各个驱动自己实现的呢?在vxworks下,有没有ioctl()函数呢?

困惑中,各位高手帮忙看看!先谢了!




关键词: 请教     ioctl     函数     实现    

菜鸟
2007-06-27 21:18:00     打赏
2楼
回去了没有关系。。。。ioctl最终会将调用驱动具体实现的ioctl函数,也就是安装驱动的时候指定的那7个函数(create/open/close/read/write/ioctl/delete)并将所有参数传递给那个函数,也就是驱动具体的ioctl函数。。。要找ioctl究竟干了什么,必须查出安装io驱动的时候指定的什么函数。。再看那个函数的具体实现。。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]