xref: /OK3568_Linux_fs/kernel/Documentation/userspace-api/ioctl/ioctl-number.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun=============
2*4882a593SmuzhiyunIoctl Numbers
3*4882a593Smuzhiyun=============
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun19 October 1999
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunMichael Elizabeth Chastain
8*4882a593Smuzhiyun<mec@shout.net>
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunIf you are adding new ioctl's to the kernel, you should use the _IO
11*4882a593Smuzhiyunmacros defined in <linux/ioctl.h>:
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun    ====== == ============================================
14*4882a593Smuzhiyun    _IO    an ioctl with no parameters
15*4882a593Smuzhiyun    _IOW   an ioctl with write parameters (copy_from_user)
16*4882a593Smuzhiyun    _IOR   an ioctl with read parameters  (copy_to_user)
17*4882a593Smuzhiyun    _IOWR  an ioctl with both write and read parameters.
18*4882a593Smuzhiyun    ====== == ============================================
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun'Write' and 'read' are from the user's point of view, just like the
21*4882a593Smuzhiyunsystem calls 'write' and 'read'.  For example, a SET_FOO ioctl would
22*4882a593Smuzhiyunbe _IOW, although the kernel would actually read data from user space;
23*4882a593Smuzhiyuna GET_FOO ioctl would be _IOR, although the kernel would actually write
24*4882a593Smuzhiyundata to user space.
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunThe first argument to _IO, _IOW, _IOR, or _IOWR is an identifying letter
27*4882a593Smuzhiyunor number from the table below.  Because of the large number of drivers,
28*4882a593Smuzhiyunmany drivers share a partial letter with other drivers.
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunIf you are writing a driver for a new device and need a letter, pick an
31*4882a593Smuzhiyununused block with enough room for expansion: 32 to 256 ioctl commands.
32*4882a593SmuzhiyunYou can register the block by patching this file and submitting the
33*4882a593Smuzhiyunpatch to Linus Torvalds.  Or you can e-mail me at <mec@shout.net> and
34*4882a593SmuzhiyunI'll register one for you.
35*4882a593Smuzhiyun
36*4882a593SmuzhiyunThe second argument to _IO, _IOW, _IOR, or _IOWR is a sequence number
37*4882a593Smuzhiyunto distinguish ioctls from each other.  The third argument to _IOW,
38*4882a593Smuzhiyun_IOR, or _IOWR is the type of the data going into the kernel or coming
39*4882a593Smuzhiyunout of the kernel (e.g.  'int' or 'struct foo').  NOTE!  Do NOT use
40*4882a593Smuzhiyunsizeof(arg) as the third argument as this results in your ioctl thinking
41*4882a593Smuzhiyunit passes an argument of type size_t.
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunSome devices use their major number as the identifier; this is OK, as
44*4882a593Smuzhiyunlong as it is unique.  Some devices are irregular and don't follow any
45*4882a593Smuzhiyunconvention at all.
46*4882a593Smuzhiyun
47*4882a593SmuzhiyunFollowing this convention is good because:
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun(1) Keeping the ioctl's globally unique helps error checking:
50*4882a593Smuzhiyun    if a program calls an ioctl on the wrong device, it will get an
51*4882a593Smuzhiyun    error rather than some unexpected behaviour.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun(2) The 'strace' build procedure automatically finds ioctl numbers
54*4882a593Smuzhiyun    defined with _IO, _IOW, _IOR, or _IOWR.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun(3) 'strace' can decode numbers back into useful names when the
57*4882a593Smuzhiyun    numbers are unique.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun(4) People looking for ioctls can grep for them more easily when
60*4882a593Smuzhiyun    this convention is used to define the ioctl numbers.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun(5) When following the convention, the driver code can use generic
63*4882a593Smuzhiyun    code to copy the parameters between user and kernel space.
64*4882a593Smuzhiyun
65*4882a593SmuzhiyunThis table lists ioctls visible from user land for Linux/x86.  It contains
66*4882a593Smuzhiyunmost drivers up to 2.6.31, but I know I am missing some.  There has been
67*4882a593Smuzhiyunno attempt to list non-X86 architectures or ioctls from drivers/staging/.
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun====  =====  ======================================================= ================================================================
70*4882a593SmuzhiyunCode  Seq#    Include File                                           Comments
71*4882a593Smuzhiyun      (hex)
72*4882a593Smuzhiyun====  =====  ======================================================= ================================================================
73*4882a593Smuzhiyun0x00  00-1F  linux/fs.h                                              conflict!
74*4882a593Smuzhiyun0x00  00-1F  scsi/scsi_ioctl.h                                       conflict!
75*4882a593Smuzhiyun0x00  00-1F  linux/fb.h                                              conflict!
76*4882a593Smuzhiyun0x00  00-1F  linux/wavefront.h                                       conflict!
77*4882a593Smuzhiyun0x02  all    linux/fd.h
78*4882a593Smuzhiyun0x03  all    linux/hdreg.h
79*4882a593Smuzhiyun0x04  D2-DC  linux/umsdos_fs.h                                       Dead since 2.6.11, but don't reuse these.
80*4882a593Smuzhiyun0x06  all    linux/lp.h
81*4882a593Smuzhiyun0x09  all    linux/raid/md_u.h
82*4882a593Smuzhiyun0x10  00-0F  drivers/char/s390/vmcp.h
83*4882a593Smuzhiyun0x10  10-1F  arch/s390/include/uapi/sclp_ctl.h
84*4882a593Smuzhiyun0x10  20-2F  arch/s390/include/uapi/asm/hypfs.h
85*4882a593Smuzhiyun0x12  all    linux/fs.h
86*4882a593Smuzhiyun             linux/blkpg.h
87*4882a593Smuzhiyun0x1b  all                                                            InfiniBand Subsystem
88*4882a593Smuzhiyun                                                                     <http://infiniband.sourceforge.net/>
89*4882a593Smuzhiyun0x20  all    drivers/cdrom/cm206.h
90*4882a593Smuzhiyun0x22  all    scsi/sg.h
91*4882a593Smuzhiyun'!'   00-1F  uapi/linux/seccomp.h
92*4882a593Smuzhiyun'#'   00-3F                                                          IEEE 1394 Subsystem
93*4882a593Smuzhiyun                                                                     Block for the entire subsystem
94*4882a593Smuzhiyun'$'   00-0F  linux/perf_counter.h, linux/perf_event.h
95*4882a593Smuzhiyun'%'   00-0F  include/uapi/linux/stm.h                                System Trace Module subsystem
96*4882a593Smuzhiyun                                                                     <mailto:alexander.shishkin@linux.intel.com>
97*4882a593Smuzhiyun'&'   00-07  drivers/firewire/nosy-user.h
98*4882a593Smuzhiyun'1'   00-1F  linux/timepps.h                                         PPS kit from Ulrich Windl
99*4882a593Smuzhiyun                                                                     <ftp://ftp.de.kernel.org/pub/linux/daemons/ntp/PPS/>
100*4882a593Smuzhiyun'2'   01-04  linux/i2o.h
101*4882a593Smuzhiyun'3'   00-0F  drivers/s390/char/raw3270.h                             conflict!
102*4882a593Smuzhiyun'3'   00-1F  linux/suspend_ioctls.h,                                 conflict!
103*4882a593Smuzhiyun             kernel/power/user.c
104*4882a593Smuzhiyun'8'   all                                                            SNP8023 advanced NIC card
105*4882a593Smuzhiyun                                                                     <mailto:mcr@solidum.com>
106*4882a593Smuzhiyun';'   64-7F  linux/vfio.h
107*4882a593Smuzhiyun'@'   00-0F  linux/radeonfb.h                                        conflict!
108*4882a593Smuzhiyun'@'   00-0F  drivers/video/aty/aty128fb.c                            conflict!
109*4882a593Smuzhiyun'A'   00-1F  linux/apm_bios.h                                        conflict!
110*4882a593Smuzhiyun'A'   00-0F  linux/agpgart.h,                                        conflict!
111*4882a593Smuzhiyun             drivers/char/agp/compat_ioctl.h
112*4882a593Smuzhiyun'A'   00-7F  sound/asound.h                                          conflict!
113*4882a593Smuzhiyun'B'   00-1F  linux/cciss_ioctl.h                                     conflict!
114*4882a593Smuzhiyun'B'   00-0F  include/linux/pmu.h                                     conflict!
115*4882a593Smuzhiyun'B'   C0-FF  advanced bbus                                           <mailto:maassen@uni-freiburg.de>
116*4882a593Smuzhiyun'C'   all    linux/soundcard.h                                       conflict!
117*4882a593Smuzhiyun'C'   01-2F  linux/capi.h                                            conflict!
118*4882a593Smuzhiyun'C'   F0-FF  drivers/net/wan/cosa.h                                  conflict!
119*4882a593Smuzhiyun'D'   all    arch/s390/include/asm/dasd.h
120*4882a593Smuzhiyun'D'   40-5F  drivers/scsi/dpt/dtpi_ioctl.h
121*4882a593Smuzhiyun'D'   05     drivers/scsi/pmcraid.h
122*4882a593Smuzhiyun'E'   all    linux/input.h                                           conflict!
123*4882a593Smuzhiyun'E'   00-0F  xen/evtchn.h                                            conflict!
124*4882a593Smuzhiyun'F'   all    linux/fb.h                                              conflict!
125*4882a593Smuzhiyun'F'   01-02  drivers/scsi/pmcraid.h                                  conflict!
126*4882a593Smuzhiyun'F'   20     drivers/video/fsl-diu-fb.h                              conflict!
127*4882a593Smuzhiyun'F'   20     drivers/video/intelfb/intelfb.h                         conflict!
128*4882a593Smuzhiyun'F'   20     linux/ivtvfb.h                                          conflict!
129*4882a593Smuzhiyun'F'   20     linux/matroxfb.h                                        conflict!
130*4882a593Smuzhiyun'F'   20     drivers/video/aty/atyfb_base.c                          conflict!
131*4882a593Smuzhiyun'F'   00-0F  video/da8xx-fb.h                                        conflict!
132*4882a593Smuzhiyun'F'   80-8F  linux/arcfb.h                                           conflict!
133*4882a593Smuzhiyun'F'   DD     video/sstfb.h                                           conflict!
134*4882a593Smuzhiyun'G'   00-3F  drivers/misc/sgi-gru/grulib.h                           conflict!
135*4882a593Smuzhiyun'H'   00-7F  linux/hiddev.h                                          conflict!
136*4882a593Smuzhiyun'H'   00-0F  linux/hidraw.h                                          conflict!
137*4882a593Smuzhiyun'H'   01     linux/mei.h                                             conflict!
138*4882a593Smuzhiyun'H'   02     linux/mei.h                                             conflict!
139*4882a593Smuzhiyun'H'   03     linux/mei.h                                             conflict!
140*4882a593Smuzhiyun'H'   00-0F  sound/asound.h                                          conflict!
141*4882a593Smuzhiyun'H'   20-40  sound/asound_fm.h                                       conflict!
142*4882a593Smuzhiyun'H'   80-8F  sound/sfnt_info.h                                       conflict!
143*4882a593Smuzhiyun'H'   10-8F  sound/emu10k1.h                                         conflict!
144*4882a593Smuzhiyun'H'   10-1F  sound/sb16_csp.h                                        conflict!
145*4882a593Smuzhiyun'H'   10-1F  sound/hda_hwdep.h                                       conflict!
146*4882a593Smuzhiyun'H'   40-4F  sound/hdspm.h                                           conflict!
147*4882a593Smuzhiyun'H'   40-4F  sound/hdsp.h                                            conflict!
148*4882a593Smuzhiyun'H'   90     sound/usb/usx2y/usb_stream.h
149*4882a593Smuzhiyun'H'   00-0F  uapi/misc/habanalabs.h                                  conflict!
150*4882a593Smuzhiyun'H'   A0     uapi/linux/usb/cdc-wdm.h
151*4882a593Smuzhiyun'H'   C0-F0  net/bluetooth/hci.h                                     conflict!
152*4882a593Smuzhiyun'H'   C0-DF  net/bluetooth/hidp/hidp.h                               conflict!
153*4882a593Smuzhiyun'H'   C0-DF  net/bluetooth/cmtp/cmtp.h                               conflict!
154*4882a593Smuzhiyun'H'   C0-DF  net/bluetooth/bnep/bnep.h                               conflict!
155*4882a593Smuzhiyun'H'   F1     linux/hid-roccat.h                                      <mailto:erazor_de@users.sourceforge.net>
156*4882a593Smuzhiyun'H'   F8-FA  sound/firewire.h
157*4882a593Smuzhiyun'I'   all    linux/isdn.h                                            conflict!
158*4882a593Smuzhiyun'I'   00-0F  drivers/isdn/divert/isdn_divert.h                       conflict!
159*4882a593Smuzhiyun'I'   40-4F  linux/mISDNif.h                                         conflict!
160*4882a593Smuzhiyun'J'   00-1F  drivers/scsi/gdth_ioctl.h
161*4882a593Smuzhiyun'K'   all    linux/kd.h
162*4882a593Smuzhiyun'L'   00-1F  linux/loop.h                                            conflict!
163*4882a593Smuzhiyun'L'   10-1F  drivers/scsi/mpt3sas/mpt3sas_ctl.h                      conflict!
164*4882a593Smuzhiyun'L'   20-2F  linux/lightnvm.h
165*4882a593Smuzhiyun'L'   E0-FF  linux/ppdd.h                                            encrypted disk device driver
166*4882a593Smuzhiyun                                                                     <http://linux01.gwdg.de/~alatham/ppdd.html>
167*4882a593Smuzhiyun'M'   all    linux/soundcard.h                                       conflict!
168*4882a593Smuzhiyun'M'   01-16  mtd/mtd-abi.h                                           conflict!
169*4882a593Smuzhiyun      and    drivers/mtd/mtdchar.c
170*4882a593Smuzhiyun'M'   01-03  drivers/scsi/megaraid/megaraid_sas.h
171*4882a593Smuzhiyun'M'   00-0F  drivers/video/fsl-diu-fb.h                              conflict!
172*4882a593Smuzhiyun'N'   00-1F  drivers/usb/scanner.h
173*4882a593Smuzhiyun'N'   40-7F  drivers/block/nvme.c
174*4882a593Smuzhiyun'O'   00-06  mtd/ubi-user.h                                          UBI
175*4882a593Smuzhiyun'P'   all    linux/soundcard.h                                       conflict!
176*4882a593Smuzhiyun'P'   60-6F  sound/sscape_ioctl.h                                    conflict!
177*4882a593Smuzhiyun'P'   00-0F  drivers/usb/class/usblp.c                               conflict!
178*4882a593Smuzhiyun'P'   01-09  drivers/misc/pci_endpoint_test.c                        conflict!
179*4882a593Smuzhiyun'Q'   all    linux/soundcard.h
180*4882a593Smuzhiyun'R'   00-1F  linux/random.h                                          conflict!
181*4882a593Smuzhiyun'R'   01     linux/rfkill.h                                          conflict!
182*4882a593Smuzhiyun'R'   C0-DF  net/bluetooth/rfcomm.h
183*4882a593Smuzhiyun'S'   all    linux/cdrom.h                                           conflict!
184*4882a593Smuzhiyun'S'   80-81  scsi/scsi_ioctl.h                                       conflict!
185*4882a593Smuzhiyun'S'   82-FF  scsi/scsi.h                                             conflict!
186*4882a593Smuzhiyun'S'   00-7F  sound/asequencer.h                                      conflict!
187*4882a593Smuzhiyun'T'   all    linux/soundcard.h                                       conflict!
188*4882a593Smuzhiyun'T'   00-AF  sound/asound.h                                          conflict!
189*4882a593Smuzhiyun'T'   all    arch/x86/include/asm/ioctls.h                           conflict!
190*4882a593Smuzhiyun'T'   C0-DF  linux/if_tun.h                                          conflict!
191*4882a593Smuzhiyun'U'   all    sound/asound.h                                          conflict!
192*4882a593Smuzhiyun'U'   00-CF  linux/uinput.h                                          conflict!
193*4882a593Smuzhiyun'U'   00-EF  linux/usbdevice_fs.h
194*4882a593Smuzhiyun'U'   C0-CF  drivers/bluetooth/hci_uart.h
195*4882a593Smuzhiyun'V'   all    linux/vt.h                                              conflict!
196*4882a593Smuzhiyun'V'   all    linux/videodev2.h                                       conflict!
197*4882a593Smuzhiyun'V'   C0     linux/ivtvfb.h                                          conflict!
198*4882a593Smuzhiyun'V'   C0     linux/ivtv.h                                            conflict!
199*4882a593Smuzhiyun'V'   C0     media/davinci/vpfe_capture.h                            conflict!
200*4882a593Smuzhiyun'V'   C0     media/si4713.h                                          conflict!
201*4882a593Smuzhiyun'W'   00-1F  linux/watchdog.h                                        conflict!
202*4882a593Smuzhiyun'W'   00-1F  linux/wanrouter.h                                       conflict! (pre 3.9)
203*4882a593Smuzhiyun'W'   00-3F  sound/asound.h                                          conflict!
204*4882a593Smuzhiyun'W'   40-5F  drivers/pci/switch/switchtec.c
205*4882a593Smuzhiyun'W'   60-61  linux/watch_queue.h
206*4882a593Smuzhiyun'X'   all    fs/xfs/xfs_fs.h,                                        conflict!
207*4882a593Smuzhiyun             fs/xfs/linux-2.6/xfs_ioctl32.h,
208*4882a593Smuzhiyun             include/linux/falloc.h,
209*4882a593Smuzhiyun             linux/fs.h,
210*4882a593Smuzhiyun'X'   all    fs/ocfs2/ocfs_fs.h                                      conflict!
211*4882a593Smuzhiyun'X'   01     linux/pktcdvd.h                                         conflict!
212*4882a593Smuzhiyun'Y'   all    linux/cyclades.h
213*4882a593Smuzhiyun'Z'   14-15  drivers/message/fusion/mptctl.h
214*4882a593Smuzhiyun'['   00-3F  linux/usb/tmc.h                                         USB Test and Measurement Devices
215*4882a593Smuzhiyun                                                                     <mailto:gregkh@linuxfoundation.org>
216*4882a593Smuzhiyun'a'   all    linux/atm*.h, linux/sonet.h                             ATM on linux
217*4882a593Smuzhiyun                                                                     <http://lrcwww.epfl.ch/>
218*4882a593Smuzhiyun'a'   00-0F  drivers/crypto/qat/qat_common/adf_cfg_common.h          conflict! qat driver
219*4882a593Smuzhiyun'b'   00-FF                                                          conflict! bit3 vme host bridge
220*4882a593Smuzhiyun                                                                     <mailto:natalia@nikhefk.nikhef.nl>
221*4882a593Smuzhiyun'c'   all    linux/cm4000_cs.h                                       conflict!
222*4882a593Smuzhiyun'c'   00-7F  linux/comstats.h                                        conflict!
223*4882a593Smuzhiyun'c'   00-7F  linux/coda.h                                            conflict!
224*4882a593Smuzhiyun'c'   00-1F  linux/chio.h                                            conflict!
225*4882a593Smuzhiyun'c'   80-9F  arch/s390/include/asm/chsc.h                            conflict!
226*4882a593Smuzhiyun'c'   A0-AF  arch/x86/include/asm/msr.h conflict!
227*4882a593Smuzhiyun'd'   00-FF  linux/char/drm/drm.h                                    conflict!
228*4882a593Smuzhiyun'd'   02-40  pcmcia/ds.h                                             conflict!
229*4882a593Smuzhiyun'd'   F0-FF  linux/digi1.h
230*4882a593Smuzhiyun'e'   all    linux/digi1.h                                           conflict!
231*4882a593Smuzhiyun'f'   00-1F  linux/ext2_fs.h                                         conflict!
232*4882a593Smuzhiyun'f'   00-1F  linux/ext3_fs.h                                         conflict!
233*4882a593Smuzhiyun'f'   00-0F  fs/jfs/jfs_dinode.h                                     conflict!
234*4882a593Smuzhiyun'f'   00-0F  fs/ext4/ext4.h                                          conflict!
235*4882a593Smuzhiyun'f'   00-0F  linux/fs.h                                              conflict!
236*4882a593Smuzhiyun'f'   00-0F  fs/ocfs2/ocfs2_fs.h                                     conflict!
237*4882a593Smuzhiyun'f'   13-27  linux/fscrypt.h
238*4882a593Smuzhiyun'f'   81-8F  linux/fsverity.h
239*4882a593Smuzhiyun'g'   00-0F  linux/usb/gadgetfs.h
240*4882a593Smuzhiyun'g'   20-2F  linux/usb/g_printer.h
241*4882a593Smuzhiyun'h'   00-7F                                                          conflict! Charon filesystem
242*4882a593Smuzhiyun                                                                     <mailto:zapman@interlan.net>
243*4882a593Smuzhiyun'h'   00-1F  linux/hpet.h                                            conflict!
244*4882a593Smuzhiyun'h'   80-8F  fs/hfsplus/ioctl.c
245*4882a593Smuzhiyun'i'   00-3F  linux/i2o-dev.h                                         conflict!
246*4882a593Smuzhiyun'i'   0B-1F  linux/ipmi.h                                            conflict!
247*4882a593Smuzhiyun'i'   80-8F  linux/i8k.h
248*4882a593Smuzhiyun'j'   00-3F  linux/joystick.h
249*4882a593Smuzhiyun'k'   00-0F  linux/spi/spidev.h                                      conflict!
250*4882a593Smuzhiyun'k'   00-05  video/kyro.h                                            conflict!
251*4882a593Smuzhiyun'k'   10-17  linux/hsi/hsi_char.h                                    HSI character device
252*4882a593Smuzhiyun'l'   00-3F  linux/tcfs_fs.h                                         transparent cryptographic file system
253*4882a593Smuzhiyun                                                                     <http://web.archive.org/web/%2A/http://mikonos.dia.unisa.it/tcfs>
254*4882a593Smuzhiyun'l'   40-7F  linux/udf_fs_i.h                                        in development:
255*4882a593Smuzhiyun                                                                     <http://sourceforge.net/projects/linux-udf/>
256*4882a593Smuzhiyun'm'   00-09  linux/mmtimer.h                                         conflict!
257*4882a593Smuzhiyun'm'   all    linux/mtio.h                                            conflict!
258*4882a593Smuzhiyun'm'   all    linux/soundcard.h                                       conflict!
259*4882a593Smuzhiyun'm'   all    linux/synclink.h                                        conflict!
260*4882a593Smuzhiyun'm'   00-19  drivers/message/fusion/mptctl.h                         conflict!
261*4882a593Smuzhiyun'm'   00     drivers/scsi/megaraid/megaraid_ioctl.h                  conflict!
262*4882a593Smuzhiyun'n'   00-7F  linux/ncp_fs.h and fs/ncpfs/ioctl.c
263*4882a593Smuzhiyun'n'   80-8F  uapi/linux/nilfs2_api.h                                 NILFS2
264*4882a593Smuzhiyun'n'   E0-FF  linux/matroxfb.h                                        matroxfb
265*4882a593Smuzhiyun'o'   00-1F  fs/ocfs2/ocfs2_fs.h                                     OCFS2
266*4882a593Smuzhiyun'o'   00-03  mtd/ubi-user.h                                          conflict! (OCFS2 and UBI overlaps)
267*4882a593Smuzhiyun'o'   40-41  mtd/ubi-user.h                                          UBI
268*4882a593Smuzhiyun'o'   01-A1  `linux/dvb/*.h`                                         DVB
269*4882a593Smuzhiyun'p'   00-0F  linux/phantom.h                                         conflict! (OpenHaptics needs this)
270*4882a593Smuzhiyun'p'   00-1F  linux/rtc.h                                             conflict!
271*4882a593Smuzhiyun'p'   40-7F  linux/nvram.h
272*4882a593Smuzhiyun'p'   80-9F  linux/ppdev.h                                           user-space parport
273*4882a593Smuzhiyun                                                                     <mailto:tim@cyberelk.net>
274*4882a593Smuzhiyun'p'   A1-A5  linux/pps.h                                             LinuxPPS
275*4882a593Smuzhiyun                                                                     <mailto:giometti@linux.it>
276*4882a593Smuzhiyun'q'   00-1F  linux/serio.h
277*4882a593Smuzhiyun'q'   80-FF  linux/telephony.h                                       Internet PhoneJACK, Internet LineJACK
278*4882a593Smuzhiyun             linux/ixjuser.h                                         <http://web.archive.org/web/%2A/http://www.quicknet.net>
279*4882a593Smuzhiyun'r'   00-1F  linux/msdos_fs.h and fs/fat/dir.c
280*4882a593Smuzhiyun's'   all    linux/cdk.h
281*4882a593Smuzhiyun't'   00-7F  linux/ppp-ioctl.h
282*4882a593Smuzhiyun't'   80-8F  linux/isdn_ppp.h
283*4882a593Smuzhiyun't'   90-91  linux/toshiba.h                                         toshiba and toshiba_acpi SMM
284*4882a593Smuzhiyun'u'   00-1F  linux/smb_fs.h                                          gone
285*4882a593Smuzhiyun'u'   20-3F  linux/uvcvideo.h                                        USB video class host driver
286*4882a593Smuzhiyun'u'   40-4f  linux/udmabuf.h                                         userspace dma-buf misc device
287*4882a593Smuzhiyun'v'   00-1F  linux/ext2_fs.h                                         conflict!
288*4882a593Smuzhiyun'v'   00-1F  linux/fs.h                                              conflict!
289*4882a593Smuzhiyun'v'   00-0F  linux/sonypi.h                                          conflict!
290*4882a593Smuzhiyun'v'   00-0F  media/v4l2-subdev.h                                     conflict!
291*4882a593Smuzhiyun'v'   20-27  arch/powerpc/include/uapi/asm/vas-api.h		     VAS API
292*4882a593Smuzhiyun'v'   C0-FF  linux/meye.h                                            conflict!
293*4882a593Smuzhiyun'w'   all                                                            CERN SCI driver
294*4882a593Smuzhiyun'y'   00-1F                                                          packet based user level communications
295*4882a593Smuzhiyun                                                                     <mailto:zapman@interlan.net>
296*4882a593Smuzhiyun'z'   00-3F                                                          CAN bus card conflict!
297*4882a593Smuzhiyun                                                                     <mailto:hdstich@connectu.ulm.circular.de>
298*4882a593Smuzhiyun'z'   40-7F                                                          CAN bus card conflict!
299*4882a593Smuzhiyun                                                                     <mailto:oe@port.de>
300*4882a593Smuzhiyun'z'   10-4F  drivers/s390/crypto/zcrypt_api.h                        conflict!
301*4882a593Smuzhiyun'|'   00-7F  linux/media.h
302*4882a593Smuzhiyun0x80  00-1F  linux/fb.h
303*4882a593Smuzhiyun0x89  00-06  arch/x86/include/asm/sockios.h
304*4882a593Smuzhiyun0x89  0B-DF  linux/sockios.h
305*4882a593Smuzhiyun0x89  E0-EF  linux/sockios.h                                         SIOCPROTOPRIVATE range
306*4882a593Smuzhiyun0x89  E0-EF  linux/dn.h                                              PROTOPRIVATE range
307*4882a593Smuzhiyun0x89  F0-FF  linux/sockios.h                                         SIOCDEVPRIVATE range
308*4882a593Smuzhiyun0x8B  all    linux/wireless.h
309*4882a593Smuzhiyun0x8C  00-3F                                                          WiNRADiO driver
310*4882a593Smuzhiyun                                                                     <http://www.winradio.com.au/>
311*4882a593Smuzhiyun0x90  00     drivers/cdrom/sbpcd.h
312*4882a593Smuzhiyun0x92  00-0F  drivers/usb/mon/mon_bin.c
313*4882a593Smuzhiyun0x93  60-7F  linux/auto_fs.h
314*4882a593Smuzhiyun0x94  all    fs/btrfs/ioctl.h                                        Btrfs filesystem
315*4882a593Smuzhiyun             and linux/fs.h                                          some lifted to vfs/generic
316*4882a593Smuzhiyun0x97  00-7F  fs/ceph/ioctl.h                                         Ceph file system
317*4882a593Smuzhiyun0x99  00-0F                                                          537-Addinboard driver
318*4882a593Smuzhiyun                                                                     <mailto:buk@buks.ipn.de>
319*4882a593Smuzhiyun0xA0  all    linux/sdp/sdp.h                                         Industrial Device Project
320*4882a593Smuzhiyun                                                                     <mailto:kenji@bitgate.com>
321*4882a593Smuzhiyun0xA1  0      linux/vtpm_proxy.h                                      TPM Emulator Proxy Driver
322*4882a593Smuzhiyun0xA3  80-8F                                                          Port ACL  in development:
323*4882a593Smuzhiyun                                                                     <mailto:tlewis@mindspring.com>
324*4882a593Smuzhiyun0xA3  90-9F  linux/dtlk.h
325*4882a593Smuzhiyun0xA4  00-1F  uapi/linux/tee.h                                        Generic TEE subsystem
326*4882a593Smuzhiyun0xAA  00-3F  linux/uapi/linux/userfaultfd.h
327*4882a593Smuzhiyun0xAB  00-1F  linux/nbd.h
328*4882a593Smuzhiyun0xAC  00-1F  linux/raw.h
329*4882a593Smuzhiyun0xAD  00                                                             Netfilter device in development:
330*4882a593Smuzhiyun                                                                     <mailto:rusty@rustcorp.com.au>
331*4882a593Smuzhiyun0xAE  00-1F  linux/kvm.h                                             Kernel-based Virtual Machine
332*4882a593Smuzhiyun                                                                     <mailto:kvm@vger.kernel.org>
333*4882a593Smuzhiyun0xAE  40-FF  linux/kvm.h                                             Kernel-based Virtual Machine
334*4882a593Smuzhiyun                                                                     <mailto:kvm@vger.kernel.org>
335*4882a593Smuzhiyun0xAE  20-3F  linux/nitro_enclaves.h                                  Nitro Enclaves
336*4882a593Smuzhiyun0xAF  00-1F  linux/fsl_hypervisor.h                                  Freescale hypervisor
337*4882a593Smuzhiyun0xB0  all                                                            RATIO devices in development:
338*4882a593Smuzhiyun                                                                     <mailto:vgo@ratio.de>
339*4882a593Smuzhiyun0xB1  00-1F                                                          PPPoX
340*4882a593Smuzhiyun                                                                     <mailto:mostrows@styx.uwaterloo.ca>
341*4882a593Smuzhiyun0xB3  00     linux/mmc/ioctl.h
342*4882a593Smuzhiyun0xB4  00-0F  linux/gpio.h                                            <mailto:linux-gpio@vger.kernel.org>
343*4882a593Smuzhiyun0xB5  00-0F  uapi/linux/rpmsg.h                                      <mailto:linux-remoteproc@vger.kernel.org>
344*4882a593Smuzhiyun0xB6  all    linux/fpga-dfl.h
345*4882a593Smuzhiyun0xB7  all    uapi/linux/remoteproc_cdev.h                            <mailto:linux-remoteproc@vger.kernel.org>
346*4882a593Smuzhiyun0xC0  00-0F  linux/usb/iowarrior.h
347*4882a593Smuzhiyun0xCA  00-0F  uapi/misc/cxl.h
348*4882a593Smuzhiyun0xCA  10-2F  uapi/misc/ocxl.h
349*4882a593Smuzhiyun0xCA  80-BF  uapi/scsi/cxlflash_ioctl.h
350*4882a593Smuzhiyun0xCB  00-1F                                                          CBM serial IEC bus in development:
351*4882a593Smuzhiyun                                                                     <mailto:michael.klein@puffin.lb.shuttle.de>
352*4882a593Smuzhiyun0xCC  00-0F  drivers/misc/ibmvmc.h                                   pseries VMC driver
353*4882a593Smuzhiyun0xCD  01     linux/reiserfs_fs.h
354*4882a593Smuzhiyun0xCF  02     fs/cifs/ioctl.c
355*4882a593Smuzhiyun0xDB  00-0F  drivers/char/mwave/mwavepub.h
356*4882a593Smuzhiyun0xDD  00-3F                                                          ZFCP device driver see drivers/s390/scsi/
357*4882a593Smuzhiyun                                                                     <mailto:aherrman@de.ibm.com>
358*4882a593Smuzhiyun0xE5  00-3F  linux/fuse.h
359*4882a593Smuzhiyun0xEC  00-01  drivers/platform/chrome/cros_ec_dev.h                   ChromeOS EC driver
360*4882a593Smuzhiyun0xF3  00-3F  drivers/usb/misc/sisusbvga/sisusb.h                     sisfb (in development)
361*4882a593Smuzhiyun                                                                     <mailto:thomas@winischhofer.net>
362*4882a593Smuzhiyun0xF6  all                                                            LTTng Linux Trace Toolkit Next Generation
363*4882a593Smuzhiyun                                                                     <mailto:mathieu.desnoyers@efficios.com>
364*4882a593Smuzhiyun0xFD  all    linux/dm-ioctl.h
365*4882a593Smuzhiyun0xFE  all    linux/isst_if.h
366*4882a593Smuzhiyun====  =====  ======================================================= ================================================================
367