About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / ioctl / ioctl-decoding.txt




Custom Search

Based on kernel version 3.15.4. Page generated on 2014-07-07 09:03 EST.

1	To decode a hex IOCTL code:
2	
3	Most architectures use this generic format, but check
4	include/ARCH/ioctl.h for specifics, e.g. powerpc
5	uses 3 bits to encode read/write and 13 bits for size.
6	
7	 bits    meaning
8	 31-30	00 - no parameters: uses _IO macro
9		10 - read: _IOR
10		01 - write: _IOW
11		11 - read/write: _IOWR
12	
13	 29-16	size of arguments
14	
15	 15-8	ascii character supposedly
16		unique to each driver
17	
18	 7-0	function #
19	
20	
21	So for example 0x82187201 is a read with arg length of 0x218,
22	character 'r' function 1. Grepping the source reveals this is:
23	
24	#define VFAT_IOCTL_READDIR_BOTH         _IOR('r', 1, struct dirent [2])
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.