ioctl函式用的命令

2021-07-10 19:15:34 字數 691 閱讀 2355

linux/ioctl.h   //定義ioctl函式用的命令號,由四個位段構成

@type:魔數,8位(定義於巨集__ioc_typebits)寬,整個驅動中唯一

@number:順序號,8位(定義於巨集__ioc_nrbits)寬

@direction:資料傳送方向,如果此命令涉及資料傳送,__ioc_read,__ioc_write,

// __ioc_none,是位掩碼,可以或在一起

@size:涉及到的使用者資料大小,一般填上sizeof( data_type)

_io(type,nr)      //命令構造巨集,無參命令

_ior(type,nr,datatype)        //命令構造巨集,從驅動讀資料

_iow(type,nr,datatype)        //命令構造巨集,寫資料

_iowr(type,nr,datatype)       //命令構造巨集,雙向

fioclex,fionclex,fioasync,fioqsize,fionbio //系統預定義的針對任何檔案的cmd

_ioc_dir(cmd)        //解碼巨集,獲取方向

_ioc_type(cmd)       //解碼巨集,獲取魔數

_ioc_nr(cmd)         //解碼巨集,獲取序號

_ioc_size(cmd)       //解碼巨集,獲取size

ioctl函式介紹

我這裡說的ioctl函式是在驅動程式裡的,因為我不知道還有沒有別的場合用到了ioctl,所以就規定了我們討論的範圍。為什麼要寫篇文章呢,是因為我前一陣子被ioctl給搞混 了,這幾天才弄明白它,於是在這裡清理一下頭腦。一 什麼是ioctl。ioctl是裝置驅動程式中對裝置的i o通道進行管理的函式。...

ioctl 函式詳解

int ioctl struct inode struct file unsigned int,unsigned long 這是驅動程式裝置控制介面函式 ioctl函式 的核心原型定義,struct inode 和 struct file 描述了操作的檔案,unsigned int 描述了ioctl...

ioctl引數命令設定

define scull ioc magic k define scull iocreset io scull ioc magic,0 define scull iocsquantum iow scull ioc magic,1,int define scull iocsqset iow scull...