解碼 IOCTL 魔數¶
解碼十六進位制 IOCTL 程式碼
大多數架構使用這種通用格式,但請檢查 include/ARCH/ioctl.h 以瞭解具體資訊,例如 powerpc 使用 3 位來編碼讀/寫,使用 13 位來編碼大小。
位
含義
31-30
00 - 無引數:使用 _IO 宏 10 - 讀取:_IOR 01 - 寫入:_IOW 11 - 讀/寫:_IOWR
29-16
引數大小
15-8
理論上每個驅動程式都獨有的 ASCII 字元
7-0
功能 #
例如,0x82187201 是一個讀取操作,引數長度為 0x218,字元為 'r',函式為 1。在原始碼中搜索可以發現它是
#define VFAT_IOCTL_READDIR_BOTH _IOR('r', 1, struct dirent [2])