]>
Commit | Line | Data |
---|---|---|
2297bf0e | 1 | .\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain. |
fea681da MK |
2 | .\" Michael Elizabeth Chastain |
3 | .\" <mec@duracef.shout.net> | |
c13182ef | 4 | .\" |
ef06249a | 5 | .\" %%%LICENSE_START(GPLv2_MISC) |
0ffb4f81 | 6 | .\" It is licensed under the GNU General Public License, Version 2. |
8ff7380d | 7 | .\" %%%LICENSE_END |
c13182ef | 8 | .\" |
2297bf0e MK |
9 | .\" Ioctl List 1.3.27 |
10 | .\" Sun 17 Sep 1995 | |
11 | .\" | |
12 | .\" // Copyright | |
13 | .\" | |
c13182ef MK |
14 | .\" |
15 | .\" | |
fea681da | 16 | .\" // Change Log |
c13182ef | 17 | .\" |
fea681da MK |
18 | .\" 1.3.27 421 ioctls. |
19 | .\" Type information for non-pointer args. | |
20 | .\" SIOCDEVPRIVATE, SIOCPROTOPRIVATE ioctls. | |
21 | .\" Descriptions of extended arguments. | |
c13182ef | 22 | .\" |
fea681da MK |
23 | .\" 1.2.9 365 ioctls. |
24 | .\" First public version. | |
c13182ef MK |
25 | .\" |
26 | .\" | |
e23e4c26 | 27 | .\" 2007-12-29 Alain Portal <aportal@univ-montp2.fr> and Michael Kerrisk |
ec113208 | 28 | .\" <mtk.manpages@gmail.com>: |
e23e4c26 | 29 | .\" Various formatting improvements |
60dd1421 | 30 | .\" |
a5409de9 | 31 | .TH IOCTL_LIST 2 2019-11-19 "Linux" "Linux Programmer's Manual" |
fea681da MK |
32 | .SH NAME |
33 | ioctl_list \- list of ioctl calls in Linux/i386 kernel | |
fea681da | 34 | .SH DESCRIPTION |
fea681da | 35 | This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel |
c13182ef | 36 | 1.3.27. |
4bd8c614 | 37 | It contains 421 ioctls from |
e23e4c26 | 38 | .IR </usr/include/{asm,linux}/*.h> . |
fea681da MK |
39 | For each ioctl, its numerical value, its name, and its argument |
40 | type are given. | |
41 | .PP | |
e23e4c26 | 42 | An argument type of |
5049da5b | 43 | .I "const struct foo\ *" |
e23e4c26 | 44 | means the argument is input to the kernel. |
5049da5b | 45 | .I "struct foo\ *" |
e23e4c26 | 46 | means the kernel outputs the argument. |
fea681da | 47 | If the kernel uses the argument for both input and output, this is |
e23e4c26 | 48 | marked with \fI//\ I-O\fP. |
fea681da MK |
49 | .PP |
50 | Some ioctls take more arguments or return more values than a single | |
c13182ef | 51 | structure. |
e23e4c26 | 52 | These are marked \fI//\ MORE\fP and documented further in a |
fea681da | 53 | separate section. |
556e715a MK |
54 | In addition, information about some ioctls can be found in |
55 | the pages listed under SEE ALSO in | |
56 | .BR ioctl (2). | |
fea681da MK |
57 | .PP |
58 | This list is very incomplete. | |
73d8cece | 59 | .SS ioctl structure |
fea681da MK |
60 | .\" added two sections - aeb |
61 | Ioctl command values are 32-bit constants. | |
62 | In principle these constants are completely arbitrary, but people have | |
63 | tried to build some structure into them. | |
dd3568a1 | 64 | .PP |
fea681da MK |
65 | The old Linux situation was that of mostly 16-bit constants, where the |
66 | last byte is a serial number, and the preceding byte(s) give a type | |
c13182ef MK |
67 | indicating the driver. |
68 | Sometimes the major number was used: 0x03 | |
e23e4c26 MK |
69 | for the |
70 | .B HDIO_* | |
71 | ioctls, 0x06 for the | |
72 | .B LP* | |
73 | ioctls. | |
c13182ef MK |
74 | And sometimes |
75 | one or more ASCII letters were used. | |
e23e4c26 MK |
76 | For example, |
77 | .B TCGETS | |
78 | has value | |
f81fb444 | 79 | 0x00005401, with 0x54 = \(aqT\(aq indicating the terminal driver, and |
e23e4c26 | 80 | .B CYGETTIMEOUT |
f81fb444 | 81 | has value 0x00435906, with 0x43 0x59 = \(aqC\(aq \(aqY\(aq |
fea681da | 82 | indicating the cyclades driver. |
dd3568a1 | 83 | .PP |
fea681da MK |
84 | Later (0.98p5) some more information was built into the number. |
85 | One has 2 direction bits | |
86 | (00: none, 01: write, 10: read, 11: read/write) | |
87 | followed by 14 size bits (giving the size of the argument), | |
88 | followed by an 8-bit type (collecting the ioctls in groups | |
89 | for a common purpose or a common driver), and an 8-bit | |
90 | serial number. | |
dd3568a1 | 91 | .PP |
c9942389 MK |
92 | The macros describing this structure live in |
93 | .I <asm/ioctl.h> | |
e23e4c26 MK |
94 | and are |
95 | .B _IO(type,nr) | |
96 | and | |
97 | .BR "{_IOR,_IOW,_IOWR}(type,nr,size)" . | |
98 | They use | |
99 | .I sizeof(size) | |
100 | so that size is a | |
c4bb193f | 101 | misnomer here: this third argument is a data type. |
dd3568a1 | 102 | .PP |
e9496f74 MK |
103 | Note that the size bits are very unreliable: in lots of cases |
104 | they are wrong, either because of buggy macros using | |
e23e4c26 MK |
105 | .IR sizeof(sizeof(struct)) , |
106 | or because of legacy values. | |
dd3568a1 | 107 | .PP |
fea681da MK |
108 | Thus, it seems that the new structure only gave disadvantages: |
109 | it does not help in checking, but it causes varying values | |
110 | for the various architectures. | |
47297adb | 111 | .SH RETURN VALUE |
fea681da | 112 | Decent ioctls return 0 on success and \-1 on error, while |
c13182ef MK |
113 | any output value is stored via the argument. |
114 | However, | |
fea681da MK |
115 | quite a few ioctls in fact return an output value. |
116 | This is not yet indicated below. | |
e646a1ba | 117 | .PP |
fea681da | 118 | // Main table. |
e646a1ba | 119 | .PP |
fea681da | 120 | // <include/asm-i386/socket.h> |
e23e4c26 | 121 | .TS |
ebf3a7d5 MK |
122 | l l. |
123 | FIOSETOWN const int * | |
124 | SIOCSPGRP const int * | |
125 | FIOGETOWN int * | |
126 | SIOCGPGRP int * | |
127 | SIOCATMAR int * | |
128 | SIOCGSTAMP timeval * | |
e23e4c26 | 129 | .TE |
e646a1ba | 130 | .sp 1 |
fea681da | 131 | // <include/asm-i386/termios.h> |
e23e4c26 | 132 | .TS |
ebf3a7d5 MK |
133 | l l. |
134 | TCGETS struct termios * | |
135 | TCSETS const struct termios * | |
136 | TCSETSW const struct termios * | |
137 | TCSETSF const struct termios * | |
138 | TCGETA struct termio * | |
139 | TCSETA const struct termio * | |
140 | TCSETAW const struct termio * | |
141 | TCSETAF const struct termio * | |
142 | TCSBRK int | |
143 | TCXONC int | |
144 | TCFLSH int | |
145 | TIOCEXCL void | |
146 | TIOCNXCL void | |
147 | TIOCSCTTY int | |
148 | TIOCGPGRP pid_t * | |
149 | TIOCSPGRP const pid_t * | |
150 | TIOCOUTQ int * | |
151 | TIOCSTI const char * | |
152 | TIOCGWINSZ struct winsize * | |
153 | TIOCSWINSZ const struct winsize * | |
154 | TIOCMGET int * | |
155 | TIOCMBIS const int * | |
156 | TIOCMBIC const int * | |
157 | TIOCMSET const int * | |
158 | TIOCGSOFTCAR int * | |
159 | TIOCSSOFTCAR const int * | |
160 | FIONREAD int * | |
161 | TIOCINQ int * | |
162 | TIOCLINUX const char * // MORE | |
163 | TIOCCONS void | |
164 | TIOCGSERIAL struct serial_struct * | |
165 | TIOCSSERIAL const struct serial_struct * | |
166 | TIOCPKT const int * | |
167 | FIONBIO const int * | |
168 | TIOCNOTTY void | |
169 | TIOCSETD const int * | |
170 | TIOCGETD int * | |
171 | TCSBRKP int | |
172 | TIOCTTYGSTRUCT struct tty_struct * | |
173 | FIONCLEX void | |
174 | FIOCLEX void | |
175 | FIOASYNC const int * | |
176 | TIOCSERCONFIG void | |
177 | TIOCSERGWILD int * | |
178 | TIOCSERSWILD const int * | |
179 | TIOCGLCKTRMIOS struct termios * | |
180 | TIOCSLCKTRMIOS const struct termios * | |
181 | TIOCSERGSTRUCT struct async_struct * | |
182 | TIOCSERGETLSR int * | |
e53eca74 BIG |
183 | .TE |
184 | .\" Some tables are split into two or more to avoid the warning: | |
185 | .\" "table wider than line width". Some lines are to long to fit | |
186 | .\" on one line on an 80 columns console | |
187 | .TS | |
ebf3a7d5 MK |
188 | l l. |
189 | TIOCSERGETMULTI struct serial_multiport_struct * | |
190 | TIOCSERSETMULTI const struct serial_multiport_struct * | |
e23e4c26 | 191 | .TE |
e646a1ba | 192 | .sp 1 |
fea681da | 193 | // <include/linux/ax25.h> |
e23e4c26 | 194 | .TS |
ebf3a7d5 MK |
195 | l l. |
196 | SIOCAX25GETUID const struct sockaddr_ax25 * | |
197 | SIOCAX25ADDUID const struct sockaddr_ax25 * | |
198 | SIOCAX25DELUID const struct sockaddr_ax25 * | |
199 | SIOCAX25NOUID const int * | |
200 | SIOCAX25DIGCTL const int * | |
201 | SIOCAX25GETPARMS struct ax25_parms_struct * // I-O | |
e53eca74 BIG |
202 | .TE |
203 | .TS | |
ebf3a7d5 MK |
204 | l l. |
205 | SIOCAX25SETPARMS const struct ax25_parms_struct * | |
e23e4c26 | 206 | .TE |
e646a1ba | 207 | .sp 1 |
fea681da | 208 | // <include/linux/cdk.h> |
e23e4c26 | 209 | .TS |
ebf3a7d5 MK |
210 | l l. |
211 | STL_BINTR void | |
212 | STL_BSTART void | |
213 | STL_BSTOP void | |
214 | STL_BRESET void | |
e23e4c26 | 215 | .TE |
e646a1ba | 216 | .sp 1 |
fea681da | 217 | // <include/linux/cdrom.h> |
e23e4c26 | 218 | .TS |
ebf3a7d5 MK |
219 | l l. |
220 | CDROMPAUSE void | |
221 | CDROMRESUME void | |
222 | CDROMPLAYMSF const struct cdrom_msf * | |
223 | CDROMPLAYTRKIND const struct cdrom_ti * | |
224 | CDROMREADTOCHDR struct cdrom_tochdr * | |
e53eca74 BIG |
225 | .TE |
226 | .TS | |
ebf3a7d5 MK |
227 | l l l. |
228 | CDROMREADTOCENTRY struct cdrom_tocentry * // I-O | |
e53eca74 BIG |
229 | .TE |
230 | .TS | |
ebf3a7d5 MK |
231 | l l l. |
232 | CDROMSTOP void | |
233 | CDROMSTART void | |
234 | CDROMEJECT void | |
235 | CDROMVOLCTRL const struct cdrom_volctrl * | |
236 | CDROMSUBCHNL struct cdrom_subchnl * // I-O | |
237 | CDROMREADMODE2 const struct cdrom_msf * // MORE | |
238 | CDROMREADMODE1 const struct cdrom_msf * // MORE | |
239 | CDROMREADAUDIO const struct cdrom_read_audio * // MORE | |
240 | CDROMEJECT_SW int | |
e53eca74 BIG |
241 | .TE |
242 | .TS | |
ebf3a7d5 MK |
243 | l l l. |
244 | CDROMMULTISESSION struct cdrom_multisession * // I-O | |
e53eca74 BIG |
245 | .TE |
246 | .TS | |
ebf3a7d5 MK |
247 | l l l. |
248 | CDROM_GET_UPC struct { char [8]; } * | |
249 | CDROMRESET void | |
250 | CDROMVOLREAD struct cdrom_volctrl * | |
251 | CDROMREADRAW const struct cdrom_msf * // MORE | |
252 | CDROMREADCOOKED const struct cdrom_msf * // MORE | |
253 | CDROMSEEK const struct cdrom_msf * | |
e23e4c26 | 254 | .TE |
e646a1ba | 255 | .sp 1 |
fea681da | 256 | // <include/linux/cm206.h> |
e23e4c26 | 257 | .TS |
ebf3a7d5 MK |
258 | l l. |
259 | CM206CTL_GET_STAT int | |
260 | CM206CTL_GET_LAST_STAT int | |
e23e4c26 | 261 | .TE |
e646a1ba | 262 | .sp 1 |
fea681da | 263 | // <include/linux/cyclades.h> |
e23e4c26 | 264 | .TS |
ebf3a7d5 MK |
265 | l l. |
266 | CYGETMON struct cyclades_monitor * | |
267 | CYGETTHRESH int * | |
268 | CYSETTHRESH int | |
269 | CYGETDEFTHRESH int * | |
270 | CYSETDEFTHRESH int | |
271 | CYGETTIMEOUT int * | |
272 | CYSETTIMEOUT int | |
273 | CYGETDEFTIMEOUT int * | |
274 | CYSETDEFTIMEOUT int | |
e23e4c26 | 275 | .TE |
e646a1ba | 276 | .sp 1 |
fea681da | 277 | // <include/linux/fd.h> |
e23e4c26 | 278 | .TS |
ebf3a7d5 MK |
279 | l l. |
280 | FDCLRPRM void | |
281 | FDSETPRM const struct floppy_struct * | |
282 | FDDEFPRM const struct floppy_struct * | |
283 | FDGETPRM struct floppy_struct * | |
284 | FDMSGON void | |
285 | FDMSGOFF void | |
286 | FDFMTBEG void | |
287 | FDFMTTRK const struct format_descr * | |
288 | FDFMTEND void | |
289 | FDSETEMSGTRESH int | |
290 | FDFLUSH void | |
291 | FDSETMAXERRS const struct floppy_max_errors * | |
292 | FDGETMAXERRS struct floppy_max_errors * | |
293 | FDGETDRVTYP struct { char [16]; } * | |
294 | FDSETDRVPRM const struct floppy_drive_params * | |
295 | FDGETDRVPRM struct floppy_drive_params * | |
296 | FDGETDRVSTAT struct floppy_drive_struct * | |
297 | FDPOLLDRVSTAT struct floppy_drive_struct * | |
298 | FDRESET int | |
299 | FDGETFDCSTAT struct floppy_fdc_state * | |
300 | FDWERRORCLR void | |
301 | FDWERRORGET struct floppy_write_errors * | |
e53eca74 BIG |
302 | .TE |
303 | .TS | |
ebf3a7d5 MK |
304 | l l l. |
305 | FDRAWCMD struct floppy_raw_cmd * // MORE // I-O | |
306 | FDTWADDLE void | |
e23e4c26 | 307 | .TE |
e646a1ba | 308 | .sp 1 |
fea681da | 309 | // <include/linux/fs.h> |
e23e4c26 | 310 | .TS |
ebf3a7d5 MK |
311 | l l l. |
312 | BLKROSET const int * | |
313 | BLKROGET int * | |
314 | BLKRRPART void | |
315 | BLKGETSIZE unsigned long * | |
316 | BLKFLSBUF void | |
317 | BLKRASET unsigned long | |
318 | BLKRAGET unsigned long * | |
319 | FIBMAP int * // I-O | |
320 | FIGETBSZ int * | |
321 | FS_IOC_GETFLAGS int * | |
322 | FS_IOC_SETFLAGS int * | |
323 | FS_IOC_GETVERSION int * | |
324 | FS_IOC_SETVERSION int * | |
325 | FS_IOC_FIEMAP struct fiemap * | |
326 | FS_IOC32_SETFLAGS int * | |
327 | FS_IOC32_SETFLAGS int * | |
328 | FS_IOC32_GETVERSION int * | |
329 | FS_IOC32_SETVERSION int * | |
e23e4c26 | 330 | .TE |
e646a1ba | 331 | .sp 1 |
fea681da | 332 | // <include/linux/hdreg.h> |
e23e4c26 | 333 | .TS |
ebf3a7d5 MK |
334 | l l. |
335 | HDIO_GETGEO struct hd_geometry * | |
336 | HDIO_GET_UNMASKINTR int * | |
337 | HDIO_GET_MULTCOUNT int * | |
338 | HDIO_GET_IDENTITY struct hd_driveid * | |
339 | HDIO_GET_KEEPSETTINGS int * | |
340 | HDIO_GET_CHIPSET int * | |
341 | HDIO_GET_NOWERR int * | |
342 | HDIO_GET_DMA int * | |
343 | HDIO_DRIVE_CMD int * // I-O | |
344 | HDIO_SET_MULTCOUNT int | |
345 | HDIO_SET_UNMASKINTR int | |
346 | HDIO_SET_KEEPSETTINGS int | |
347 | HDIO_SET_CHIPSET int | |
348 | HDIO_SET_NOWERR int | |
349 | HDIO_SET_DMA int | |
e23e4c26 | 350 | .TE |
e646a1ba | 351 | .sp 1 |
fea681da | 352 | // <include/linux/if_eql.h> |
e23e4c26 | 353 | .TS |
ebf3a7d5 MK |
354 | l l l. |
355 | EQL_ENSLAVE struct ifreq * // MORE // I-O | |
356 | EQL_EMANCIPATE struct ifreq * // MORE // I-O | |
357 | EQL_GETSLAVECFG struct ifreq * // MORE // I-O | |
358 | EQL_SETSLAVECFG struct ifreq * // MORE // I-O | |
359 | EQL_GETMASTRCFG struct ifreq * // MORE // I-O | |
360 | EQL_SETMASTRCFG struct ifreq * // MORE // I-O | |
e23e4c26 | 361 | .TE |
e646a1ba | 362 | .sp 1 |
fea681da | 363 | // <include/linux/if_plip.h> |
e23e4c26 | 364 | .TS |
ebf3a7d5 MK |
365 | l l l. |
366 | SIOCDEVPLIP struct ifreq * // I-O | |
e23e4c26 | 367 | .TE |
e646a1ba | 368 | .sp 1 |
fea681da | 369 | // <include/linux/if_ppp.h> |
e23e4c26 | 370 | .TS |
ebf3a7d5 MK |
371 | l l. |
372 | PPPIOCGFLAGS int * | |
373 | PPPIOCSFLAGS const int * | |
374 | PPPIOCGASYNCMAP int * | |
375 | PPPIOCSASYNCMAP const int * | |
376 | PPPIOCGUNIT int * | |
377 | PPPIOCSINPSIG const int * | |
378 | PPPIOCSDEBUG const int * | |
379 | PPPIOCGDEBUG int * | |
380 | PPPIOCGSTAT struct ppp_stats * | |
381 | PPPIOCGTIME struct ppp_ddinfo * | |
382 | PPPIOCGXASYNCMAP struct { int [8]; } * | |
383 | PPPIOCSXASYNCMAP const struct { int [8]; } * | |
384 | PPPIOCSMRU const int * | |
385 | PPPIOCRASYNCMAP const int * | |
386 | PPPIOCSMAXCID const int * | |
e23e4c26 | 387 | .TE |
e646a1ba | 388 | .sp 1 |
fea681da | 389 | // <include/linux/ipx.h> |
e23e4c26 | 390 | .TS |
ebf3a7d5 MK |
391 | l l. |
392 | SIOCAIPXITFCRT const char * | |
393 | SIOCAIPXPRISLT const char * | |
394 | SIOCIPXCFGDATA struct ipx_config_data * | |
e23e4c26 | 395 | .TE |
e646a1ba | 396 | .sp 1 |
fea681da | 397 | // <include/linux/kd.h> |
e23e4c26 | 398 | .TS |
ebf3a7d5 MK |
399 | l l. |
400 | GIO_FONT struct { char [8192]; } * | |
401 | PIO_FONT const struct { char [8192]; } * | |
e53eca74 BIG |
402 | .TE |
403 | .TS | |
ebf3a7d5 MK |
404 | l2 l2 l. |
405 | GIO_FONTX struct console_font_desc * // MORE // I-O | |
406 | PIO_FONTX const struct console_font_desc * //MORE | |
e53eca74 BIG |
407 | .TE |
408 | .TS | |
409 | l l l. | |
ebf3a7d5 MK |
410 | GIO_CMAP struct { char [48]; } * |
411 | PIO_CMAP const struct { char [48]; } | |
e53eca74 BIG |
412 | .TE |
413 | .TS | |
ebf3a7d5 MK |
414 | l l l. |
415 | KIOCSOUND int | |
416 | KDMKTONE int | |
417 | KDGETLED char * | |
418 | KDSETLED int | |
419 | KDGKBTYPE char * | |
420 | KDADDIO int // MORE | |
421 | KDDELIO int // MORE | |
422 | KDENABIO void // MORE | |
423 | KDDISABIO void // MORE | |
424 | KDSETMODE int | |
425 | KDGETMODE int * | |
426 | KDMAPDISP void // MORE | |
427 | KDUNMAPDISP void // MORE | |
428 | GIO_SCRNMAP struct { char [E_TABSZ]; } * | |
e53eca74 BIG |
429 | .TE |
430 | .TS | |
ebf3a7d5 MK |
431 | l l. |
432 | PIO_SCRNMAP const struct { char [E_TABSZ]; } * | |
433 | GIO_UNISCRNMAP struct { short [E_TABSZ]; } * | |
434 | PIO_UNISCRNMAP const struct { short [E_TABSZ]; } * | |
e53eca74 BIG |
435 | .TE |
436 | .TS | |
ebf3a7d5 MK |
437 | l l l. |
438 | GIO_UNIMAP struct unimapdesc * // MORE // I-O | |
439 | PIO_UNIMAP const struct unimapdesc * // MORE | |
440 | PIO_UNIMAPCLR const struct unimapinit * | |
441 | KDGKBMODE int * | |
442 | KDSKBMODE int | |
443 | KDGKBMETA int * | |
444 | KDSKBMETA int | |
445 | KDGKBLED int * | |
446 | KDSKBLED int | |
447 | KDGKBENT struct kbentry * // I-O | |
448 | KDSKBENT const struct kbentry * | |
449 | KDGKBSENT struct kbsentry * // I-O | |
450 | KDSKBSENT const struct kbsentry * | |
451 | KDGKBDIACR struct kbdiacrs * | |
452 | KDSKBDIACR const struct kbdiacrs * | |
453 | KDGETKEYCODE struct kbkeycode * // I-O | |
454 | KDSETKEYCODE const struct kbkeycode * | |
455 | KDSIGACCEPT int | |
e23e4c26 | 456 | .TE |
e646a1ba | 457 | .sp 1 |
fea681da | 458 | // <include/linux/lp.h> |
e23e4c26 | 459 | .TS |
ebf3a7d5 MK |
460 | l l. |
461 | LPCHAR int | |
462 | LPTIME int | |
463 | LPABORT int | |
464 | LPSETIRQ int | |
465 | LPGETIRQ int * | |
466 | LPWAIT int | |
467 | LPCAREFUL int | |
468 | LPABORTOPEN int | |
469 | LPGETSTATUS int * | |
470 | LPRESET void | |
471 | LPGETSTATS struct lp_stats * | |
e23e4c26 | 472 | .TE |
e646a1ba | 473 | .sp 1 |
fea681da | 474 | // <include/linux/mroute.h> |
e23e4c26 | 475 | .TS |
ebf3a7d5 MK |
476 | l l l. |
477 | SIOCGETVIFCNT struct sioc_vif_req * // I-O | |
478 | SIOCGETSGCNT struct sioc_sg_req * // I-O | |
e23e4c26 | 479 | .TE |
e646a1ba | 480 | .sp 1 |
458abbe6 | 481 | // <include/linux/msdos_fs.h> see |
60dd1421 | 482 | .BR ioctl_fat (2) |
237565c9 | 483 | .TS |
ebf3a7d5 MK |
484 | l l. |
485 | VFAT_IOCTL_READDIR_BOTH struct dirent [2] | |
486 | VFAT_IOCTL_READDIR_SHORT struct dirent [2] | |
487 | FAT_IOCTL_GET_ATTRIBUTES __u32 * | |
488 | FAT_IOCTL_SET_ATTRIBUTES const __u32 * | |
489 | FAT_IOCTL_GET_VOLUME_ID __u32 * | |
237565c9 | 490 | .TE |
e646a1ba | 491 | .sp 1 |
fea681da | 492 | // <include/linux/mtio.h> |
e23e4c26 | 493 | .TS |
ebf3a7d5 MK |
494 | l l. |
495 | MTIOCTOP const struct mtop * | |
496 | MTIOCGET struct mtget * | |
497 | MTIOCPOS struct mtpos * | |
498 | MTIOCGETCONFIG struct mtconfiginfo * | |
499 | MTIOCSETCONFIG const struct mtconfiginfo * | |
e23e4c26 | 500 | .TE |
e646a1ba | 501 | .sp 1 |
fea681da | 502 | // <include/linux/netrom.h> |
e23e4c26 | 503 | .TS |
ebf3a7d5 MK |
504 | l l l. |
505 | SIOCNRGETPARMS struct nr_parms_struct * // I-O | |
506 | SIOCNRSETPARMS const struct nr_parms_struct * | |
507 | SIOCNRDECOBS void | |
508 | SIOCNRRTCTL const int * | |
e23e4c26 | 509 | .TE |
e646a1ba | 510 | .sp 1 |
938bcc08 | 511 | // <include/uapi/linux/wireless.h> |
eb56b04b HS |
512 | .br |
513 | // This API is deprecated. | |
514 | .br | |
515 | // It is being replaced by nl80211 and cfg80211. | |
516 | See | |
517 | .br | |
518 | // | |
519 | .I https://wireless.wiki.kernel.org/en/developers/documentation/nl80211 | |
938bcc08 | 520 | .TS |
eb56b04b HS |
521 | l l l. |
522 | x00008b00 SIOCSIWCOMMIT struct iwreq * | |
523 | x00008b01 SIOCGIWNAME struct iwreq * | |
524 | x00008b02 SIOCSIWNWID struct iwreq * | |
525 | x00008b03 SIOCGIWNWID struct iwreq * | |
526 | x00008b04 SIOCSIWFREQ struct iwreq * | |
527 | x00008b05 SIOCGIWFREQ struct iwreq * | |
528 | x00008b06 SIOCSIWMODE struct iwreq * | |
529 | x00008b07 SIOCGIWMODE struct iwreq * | |
530 | x00008b08 SIOCSIWSENS struct iwreq * | |
531 | x00008b09 SIOCGIWSENS struct iwreq * | |
532 | x00008b0a SIOCSIWRANGE struct iwreq * | |
533 | x00008b0b SIOCGIWRANGE struct iwreq * | |
534 | x00008b0c SIOCSIWPRIV struct iwreq * | |
535 | x00008b0d SIOCGIWPRIV struct iwreq * | |
536 | x00008b0e SIOCSIWSTATS struct iwreq * | |
537 | x00008b0f SIOCGIWSTATS struct iwreq * | |
538 | x00008b10 SIOCSIWSPY struct iwreq * | |
539 | x00008b11 SIOCGIWSPY struct iwreq * | |
540 | x00008b12 SIOCSIWTHRSPY struct iwreq * | |
541 | x00008b13 SIOCGIWTHRSPY struct iwreq * | |
542 | x00008b14 SIOCSIWAP struct iwreq * | |
543 | x00008b15 SIOCGIWAP struct iwreq * | |
544 | x00008b17 SIOCGIWAPLIST struct iwreq * | |
545 | x00008b18 SIOCSIWSCAN struct iwreq * | |
546 | x00008b19 SIOCGIWSCAN struct iwreq * | |
547 | x00008b1a SIOCSIWESSID struct iwreq * | |
548 | x00008b1b SIOCGIWESSID struct iwreq * | |
549 | x00008b1c SIOCSIWNICKN struct iwreq * | |
550 | x00008b1d SIOCGIWNICKN struct iwreq * | |
551 | x00008b20 SIOCSIWRATE struct iwreq * | |
552 | x00008b21 SIOCGIWRATE struct iwreq * | |
553 | x00008b22 SIOCSIWRTS struct iwreq * | |
554 | x00008b23 SIOCGIWRTS struct iwreq * | |
555 | x00008b24 SIOCSIWFRAG struct iwreq * | |
556 | x00008b25 SIOCGIWFRAG struct iwreq * | |
557 | x00008b26 SIOCSIWTXPOW struct iwreq * | |
558 | x00008b27 SIOCGIWTXPOW struct iwreq * | |
559 | x00008b28 SIOCSIWRETRY struct iwreq * | |
560 | x00008b29 SIOCGIWRETRY struct iwreq * | |
561 | x00008b2a SIOCSIWENCODE struct iwreq * | |
562 | x00008b2b SIOCGIWENCODE struct iwreq * | |
563 | x00008b2c SIOCSIWPOWER struct iwreq * | |
564 | x00008b2d SIOCGIWPOWER struct iwreq * | |
565 | x00008b30 SIOCSIWGENIE struct iwreq * | |
566 | x00008b31 SIOCGIWGENIE struct iwreq * | |
567 | x00008b16 SIOCSIWMLME struct iwreq * | |
568 | x00008b32 SIOCSIWAUTH struct iwreq * | |
569 | x00008b33 SIOCGIWAUTH struct iwreq * | |
570 | x00008b34 SIOCSIWENCODEEXT struct iwreq * | |
571 | x00008b35 SIOCGIWENCODEEXT struct iwreq * | |
572 | x00008b36 SIOCSIWPMKSA struct iwreq * | |
938bcc08 | 573 | .TE |
e646a1ba | 574 | .sp 1 |
fea681da | 575 | // <include/linux/sbpcd.h> |
e23e4c26 | 576 | .TS |
ebf3a7d5 MK |
577 | l l. |
578 | DDIOCSDBG const int * | |
579 | CDROMAUDIOBUFSIZ int | |
e23e4c26 | 580 | .TE |
e646a1ba | 581 | .sp 1 |
fea681da | 582 | // <include/linux/scc.h> |
e23e4c26 | 583 | .TS |
ebf3a7d5 MK |
584 | l l l. |
585 | TIOCSCCINI void | |
586 | TIOCCHANINI const struct scc_modem * | |
587 | TIOCGKISS struct ioctl_command * // I-O | |
588 | TIOCSKISS const struct ioctl_command * | |
589 | TIOCSCCSTAT struct scc_stat * | |
e23e4c26 | 590 | .TE |
e646a1ba | 591 | .sp 1 |
fea681da | 592 | // <include/linux/scsi.h> |
e23e4c26 | 593 | .TS |
ebf3a7d5 MK |
594 | l l. |
595 | SCSI_IOCTL_GET_IDLUN struct { int [2]; } * | |
596 | SCSI_IOCTL_TAGGED_ENABLE void | |
597 | SCSI_IOCTL_TAGGED_DISABLE void | |
e53eca74 BIG |
598 | .TE |
599 | .TS | |
ebf3a7d5 MK |
600 | l l l. |
601 | SCSI_IOCTL_PROBE_HOST const int * // MORE | |
e23e4c26 | 602 | .TE |
e646a1ba | 603 | .sp 1 |
fea681da | 604 | // <include/linux/smb_fs.h> |
e23e4c26 | 605 | .TS |
e53eca74 | 606 | l l l. |
ebf3a7d5 | 607 | SMB_IOC_GETMOUNTUID uid_t * |
e23e4c26 | 608 | .TE |
e646a1ba | 609 | .sp 1 |
767ffad3 | 610 | // <include/uapi/linux/sockios.h> see |
a3b9b5da | 611 | .BR netdevice (7) |
e646a1ba | 612 | .PP |
e23e4c26 | 613 | .TS |
ebf3a7d5 MK |
614 | l l l. |
615 | SIOCADDRT const struct rtentry * // MORE | |
616 | SIOCDELRT const struct rtentry * // MORE | |
617 | SIOCGIFNAME char [] | |
618 | SIOCSIFLINK void | |
619 | SIOCGIFCONF struct ifconf * // MORE // I-O | |
620 | SIOCGIFFLAGS struct ifreq * // I-O | |
621 | SIOCSIFFLAGS const struct ifreq * | |
622 | SIOCGIFADDR struct ifreq * // I-O | |
623 | SIOCSIFADDR const struct ifreq * | |
624 | SIOCGIFDSTADDR struct ifreq * // I-O | |
625 | SIOCSIFDSTADDR const struct ifreq * | |
626 | SIOCGIFBRDADDR struct ifreq * // I-O | |
627 | SIOCSIFBRDADDR const struct ifreq * | |
628 | SIOCGIFNETMASK struct ifreq * // I-O | |
629 | SIOCSIFNETMASK const struct ifreq * | |
630 | SIOCGIFMETRIC struct ifreq * // I-O | |
631 | SIOCSIFMETRIC const struct ifreq * | |
632 | SIOCGIFMEM struct ifreq * // I-O | |
633 | SIOCSIFMEM const struct ifreq * | |
634 | SIOCGIFMTU struct ifreq * // I-O | |
635 | SIOCSIFMTU const struct ifreq * | |
e53eca74 BIG |
636 | .TE |
637 | .TS | |
ebf3a7d5 MK |
638 | l l l. |
639 | OLD_SIOCGIFHWADDR struct ifreq * // I-O | |
640 | SIOCSIFHWADDR const struct ifreq * // MORE | |
641 | SIOCGIFENCAP int * | |
642 | SIOCSIFENCAP const int * | |
643 | SIOCGIFHWADDR struct ifreq * // I-O | |
644 | SIOCGIFSLAVE void | |
645 | SIOCSIFSLAVE void | |
646 | SIOCADDMULTI const struct ifreq * | |
647 | SIOCDELMULTI const struct ifreq * | |
648 | SIOCADDRTOLD void | |
649 | SIOCDELRTOLD void | |
650 | SIOCDARP const struct arpreq * | |
651 | SIOCGARP struct arpreq * // I-O | |
652 | SIOCSARP const struct arpreq * | |
653 | SIOCDRARP const struct arpreq * | |
654 | SIOCGRARP struct arpreq * // I-O | |
655 | SIOCSRARP const struct arpreq * | |
656 | SIOCGIFMAP struct ifreq * // I-O | |
657 | SIOCSIFMAP const struct ifreq * | |
e23e4c26 | 658 | .TE |
e646a1ba | 659 | .sp 1 |
fea681da | 660 | // <include/linux/soundcard.h> |
e23e4c26 | 661 | .TS |
ebf3a7d5 MK |
662 | l l. |
663 | SNDCTL_SEQ_RESET void | |
664 | SNDCTL_SEQ_SYNC void | |
665 | .TE | |
666 | .TS | |
e53eca74 | 667 | l l l. |
ebf3a7d5 MK |
668 | SNDCTL_SYNTH_INFO struct synth_info * // I-O |
669 | SNDCTL_SEQ_CTRLRATE int * // I-O | |
670 | SNDCTL_SEQ_GETOUTCOUNT int * | |
671 | SNDCTL_SEQ_GETINCOUNT int * | |
672 | SNDCTL_SEQ_PERCMODE void | |
e53eca74 BIG |
673 | .TE |
674 | .TS | |
ebf3a7d5 MK |
675 | l l. |
676 | SNDCTL_FM_LOAD_INSTR const struct sbi_instrument * | |
e53eca74 BIG |
677 | .TE |
678 | .TS | |
679 | l l l. | |
ebf3a7d5 MK |
680 | SNDCTL_SEQ_TESTMIDI const int * |
681 | SNDCTL_SEQ_RESETSAMPLES const int * | |
682 | SNDCTL_SEQ_NRSYNTHS int * | |
683 | SNDCTL_SEQ_NRMIDIS int * | |
684 | SNDCTL_MIDI_INFO struct midi_info * // I-O | |
685 | SNDCTL_SEQ_THRESHOLD const int * | |
686 | SNDCTL_SYNTH_MEMAVL int * // I-O | |
687 | SNDCTL_FM_4OP_ENABLE const int * | |
688 | SNDCTL_PMGR_ACCESS struct patmgr_info * // I-O | |
689 | SNDCTL_SEQ_PANIC void | |
e53eca74 BIG |
690 | .TE |
691 | .TS | |
ebf3a7d5 MK |
692 | l l. |
693 | SNDCTL_SEQ_OUTOFBAND const struct seq_event_rec * | |
e53eca74 BIG |
694 | .TE |
695 | .TS | |
696 | l l l. | |
ebf3a7d5 MK |
697 | SNDCTL_TMR_TIMEBASE int * // I-O |
698 | SNDCTL_TMR_START void | |
699 | SNDCTL_TMR_STOP void | |
700 | SNDCTL_TMR_CONTINUE void | |
701 | SNDCTL_TMR_TEMPO int * // I-O | |
702 | SNDCTL_TMR_SOURCE int * // I-O | |
703 | SNDCTL_TMR_METRONOME const int * | |
704 | SNDCTL_TMR_SELECT int * // I-O | |
705 | SNDCTL_PMGR_IFACE struct patmgr_info * // I-O | |
706 | SNDCTL_MIDI_PRETIME int * // I-O | |
707 | SNDCTL_MIDI_MPUMODE const int * | |
e53eca74 BIG |
708 | .TE |
709 | .TS | |
ebf3a7d5 MK |
710 | l l l. |
711 | SNDCTL_MIDI_MPUCMD struct mpu_command_rec * // I-O | |
e53eca74 BIG |
712 | .TE |
713 | .TS | |
ebf3a7d5 MK |
714 | l l l. |
715 | SNDCTL_DSP_RESET void | |
716 | SNDCTL_DSP_SYNC void | |
717 | SNDCTL_DSP_SPEED int * // I-O | |
718 | SNDCTL_DSP_STEREO int * // I-O | |
719 | SNDCTL_DSP_GETBLKSIZE int * // I-O | |
720 | SOUND_PCM_WRITE_CHANNELS int * // I-O | |
721 | SOUND_PCM_WRITE_FILTER int * // I-O | |
722 | SNDCTL_DSP_POST void | |
723 | SNDCTL_DSP_SUBDIVIDE int * // I-O | |
724 | SNDCTL_DSP_SETFRAGMENT int * // I-O | |
725 | SNDCTL_DSP_GETFMTS int * | |
726 | SNDCTL_DSP_SETFMT int * // I-O | |
e53eca74 BIG |
727 | .TE |
728 | .TS | |
ebf3a7d5 MK |
729 | l l. |
730 | SNDCTL_DSP_GETOSPACE struct audio_buf_info * | |
731 | SNDCTL_DSP_GETISPACE struct audio_buf_info * | |
732 | SNDCTL_DSP_NONBLOCK void | |
733 | SOUND_PCM_READ_RATE int * | |
734 | SOUND_PCM_READ_CHANNELS int * | |
735 | SOUND_PCM_READ_BITS int * | |
736 | SOUND_PCM_READ_FILTER int * | |
737 | SNDCTL_COPR_RESET void | |
738 | SNDCTL_COPR_LOAD const struct copr_buffer * | |
e53eca74 BIG |
739 | .TE |
740 | .TS | |
741 | l l l. | |
ebf3a7d5 MK |
742 | SNDCTL_COPR_RDATA struct copr_debug_buf * // I-O |
743 | SNDCTL_COPR_RCODE struct copr_debug_buf * // I-O | |
e53eca74 BIG |
744 | .TE |
745 | .TS | |
ebf3a7d5 MK |
746 | l l. |
747 | SNDCTL_COPR_WDATA const struct copr_debug_buf * | |
748 | SNDCTL_COPR_WCODE const struct copr_debug_buf * | |
e53eca74 BIG |
749 | .TE |
750 | .TS | |
751 | l l l. | |
ebf3a7d5 MK |
752 | SNDCTL_COPR_RUN struct copr_debug_buf * // I-O |
753 | SNDCTL_COPR_HALT struct copr_debug_buf * // I-O | |
e53eca74 BIG |
754 | .TE |
755 | .TS | |
ebf3a7d5 MK |
756 | l l. |
757 | SNDCTL_COPR_SENDMSG const struct copr_msg * | |
758 | SNDCTL_COPR_RCVMSG struct copr_msg * | |
759 | SOUND_MIXER_READ_VOLUME int * | |
760 | SOUND_MIXER_READ_BASS int * | |
761 | SOUND_MIXER_READ_TREBLE int * | |
762 | SOUND_MIXER_READ_SYNTH int * | |
763 | SOUND_MIXER_READ_PCM int * | |
764 | SOUND_MIXER_READ_SPEAKER int * | |
765 | SOUND_MIXER_READ_LINE int * | |
766 | SOUND_MIXER_READ_MIC int * | |
767 | SOUND_MIXER_READ_CD int * | |
768 | SOUND_MIXER_READ_IMIX int * | |
769 | SOUND_MIXER_READ_ALTPCM int * | |
770 | SOUND_MIXER_READ_RECLEV int * | |
771 | SOUND_MIXER_READ_IGAIN int * | |
772 | SOUND_MIXER_READ_OGAIN int * | |
773 | SOUND_MIXER_READ_LINE1 int * | |
774 | SOUND_MIXER_READ_LINE2 int * | |
775 | SOUND_MIXER_READ_LINE3 int * | |
776 | SOUND_MIXER_READ_MUTE int * | |
777 | SOUND_MIXER_READ_ENHANCE int * | |
778 | SOUND_MIXER_READ_LOUD int * | |
779 | SOUND_MIXER_READ_RECSRC int * | |
780 | SOUND_MIXER_READ_DEVMASK int * | |
781 | SOUND_MIXER_READ_RECMASK int * | |
782 | SOUND_MIXER_READ_STEREODEVS int * | |
783 | SOUND_MIXER_READ_CAPS int * | |
e53eca74 BIG |
784 | .TE |
785 | .TS | |
786 | l l l. | |
ebf3a7d5 MK |
787 | SOUND_MIXER_WRITE_VOLUME int * // I-O |
788 | SOUND_MIXER_WRITE_BASS int * // I-O | |
789 | SOUND_MIXER_WRITE_TREBLE int * // I-O | |
790 | SOUND_MIXER_WRITE_SYNTH int * // I-O | |
791 | SOUND_MIXER_WRITE_PCM int * // I-O | |
792 | SOUND_MIXER_WRITE_SPEAKER int * // I-O | |
793 | SOUND_MIXER_WRITE_LINE int * // I-O | |
794 | SOUND_MIXER_WRITE_MIC int * // I-O | |
795 | SOUND_MIXER_WRITE_CD int * // I-O | |
796 | SOUND_MIXER_WRITE_IMIX int * // I-O | |
797 | SOUND_MIXER_WRITE_ALTPCM int * // I-O | |
798 | SOUND_MIXER_WRITE_RECLEV int * // I-O | |
799 | SOUND_MIXER_WRITE_IGAIN int * // I-O | |
800 | SOUND_MIXER_WRITE_OGAIN int * // I-O | |
801 | SOUND_MIXER_WRITE_LINE1 int * // I-O | |
802 | SOUND_MIXER_WRITE_LINE2 int * // I-O | |
803 | SOUND_MIXER_WRITE_LINE3 int * // I-O | |
804 | SOUND_MIXER_WRITE_MUTE int * // I-O | |
805 | SOUND_MIXER_WRITE_ENHANCE int * // I-O | |
806 | SOUND_MIXER_WRITE_LOUD int * // I-O | |
807 | SOUND_MIXER_WRITE_RECSRC int * // I-O | |
e23e4c26 | 808 | .TE |
e646a1ba | 809 | .sp 1 |
9537fb3c HS |
810 | // <include/linux/timerfd.h> see |
811 | .BR timerfd_create (2) | |
812 | .TS | |
ebf3a7d5 MK |
813 | l l l. |
814 | TFD_IOC_SET_TICKS uint64_t * | |
9537fb3c | 815 | .TE |
e646a1ba | 816 | .sp 1 |
fea681da | 817 | // <include/linux/umsdos_fs.h> |
e23e4c26 | 818 | .TS |
ebf3a7d5 MK |
819 | l l l. |
820 | UMSDOS_READDIR_DOS struct umsdos_ioctl * // I-O | |
821 | UMSDOS_UNLINK_DOS const struct umsdos_ioctl * | |
822 | UMSDOS_RMDIR_DOS const struct umsdos_ioctl * | |
823 | UMSDOS_STAT_DOS struct umsdos_ioctl * // I-O | |
824 | UMSDOS_CREAT_EMD const struct umsdos_ioctl * | |
825 | UMSDOS_UNLINK_EMD const struct umsdos_ioctl * | |
826 | UMSDOS_READDIR_EMD struct umsdos_ioctl * // I-O | |
827 | UMSDOS_GETVERSION struct umsdos_ioctl * | |
828 | UMSDOS_INIT_EMD void | |
829 | UMSDOS_DOS_SETUP const struct umsdos_ioctl * | |
830 | UMSDOS_RENAME_DOS const struct umsdos_ioctl * | |
e23e4c26 | 831 | .TE |
e646a1ba | 832 | .sp 1 |
fea681da | 833 | // <include/linux/vt.h> |
e23e4c26 | 834 | .TS |
ebf3a7d5 MK |
835 | l l. |
836 | VT_OPENQRY int * | |
837 | VT_GETMODE struct vt_mode * | |
838 | VT_SETMODE const struct vt_mode * | |
839 | VT_GETSTATE struct vt_stat * | |
840 | VT_SENDSIG void | |
841 | VT_RELDISP int | |
842 | VT_ACTIVATE int | |
843 | VT_WAITACTIVE int | |
844 | VT_DISALLOCATE int | |
845 | VT_RESIZE const struct vt_sizes * | |
846 | VT_RESIZEX const struct vt_consize * | |
e23e4c26 | 847 | .TE |
e646a1ba | 848 | .sp 1 |
fea681da | 849 | // More arguments. |
fea681da | 850 | Some ioctl's take a pointer to a structure which contains additional |
20523df7 MK |
851 | pointers. |
852 | These are documented here in alphabetical order. | |
e646a1ba | 853 | .PP |
e23e4c26 MK |
854 | .B CDROMREADAUDIO |
855 | takes an input pointer | |
5049da5b | 856 | .IR "const struct cdrom_read_audio\ *" . |
e23e4c26 MK |
857 | The |
858 | .I buf | |
859 | field points to an output buffer of length | |
5049da5b | 860 | .IR "nframes\ * CD_FRAMESIZE_RAW" . |
e646a1ba | 861 | .PP |
e23e4c26 MK |
862 | .BR CDROMREADCOOKED , |
863 | .BR CDROMREADMODE1 , | |
864 | .BR CDROMREADMODE2 , | |
865 | and | |
866 | .B CDROMREADRAW | |
867 | take an input pointer | |
5049da5b | 868 | .IR "const struct cdrom_msf\ *" . |
e23e4c26 MK |
869 | They use the same pointer as an output pointer to |
870 | .IR "char []" . | |
c13182ef | 871 | The length varies by request. |
e23e4c26 MK |
872 | For |
873 | .BR CDROMREADMODE1 , | |
84c517a4 MK |
874 | most drivers use CD_FRAMESIZE, but the Optics Storage |
875 | driver uses OPT_BLOCKSIZE instead (both have the numerical value | |
fea681da | 876 | 2048). |
408731d4 | 877 | .PP |
88933758 | 878 | .nf |
e23e4c26 MK |
879 | CDROMREADCOOKED char [CD_FRAMESIZE] |
880 | CDROMREADMODE1 char [CD_FRAMESIZE or OPT_BLOCKSIZE] | |
881 | CDROMREADMODE2 char [CD_FRAMESIZE_RAW0] | |
882 | CDROMREADRAW char [CD_FRAMESIZE_RAW] | |
88933758 | 883 | .fi |
408731d4 | 884 | .PP |
e23e4c26 MK |
885 | .BR EQL_ENSLAVE , |
886 | .BR EQL_EMANCIPATE , | |
887 | .BR EQL_GETSLAVECFG , | |
888 | .BR EQL_SETSLAVECFG , | |
889 | .BR EQL_GETMASTERCFG , | |
890 | and | |
891 | .B EQL_SETMASTERCFG | |
892 | take a | |
5049da5b | 893 | .IR "struct ifreq\ *" . |
e23e4c26 MK |
894 | The |
895 | .I ifr_data | |
896 | field is a pointer to another structure as follows: | |
408731d4 | 897 | .PP |
88933758 | 898 | .nf |
e23e4c26 MK |
899 | EQL_ENSLAVE const struct slaving_request * |
900 | EQL_EMANCIPATE const struct slaving_request * | |
901 | EQL_GETSLAVECFG struct slave_config * // I-O | |
902 | EQL_SETSLAVECFG const struct slave_config * | |
903 | EQL_GETMASTERCFG struct master_config * | |
904 | EQL_SETMASTERCFG const struct master_config * | |
88933758 | 905 | .fi |
408731d4 | 906 | .PP |
e23e4c26 MK |
907 | .B FDRAWCMD |
908 | takes a | |
5049da5b | 909 | .IR "struct floppy raw_cmd\ *" . |
e23e4c26 MK |
910 | If |
911 | .I flags & FD_RAW_WRITE | |
c7094399 | 912 | is nonzero, then |
e23e4c26 MK |
913 | .I data |
914 | points to an input buffer of length | |
915 | .IR length . | |
916 | If | |
917 | .I flags & FD_RAW_READ | |
c7094399 | 918 | is nonzero, then |
e23e4c26 MK |
919 | .I data |
920 | points to an output buffer of length | |
921 | .IR length . | |
e646a1ba | 922 | .PP |
e23e4c26 MK |
923 | .B GIO_FONTX |
924 | and | |
925 | .B PIO_FONTX | |
926 | take a | |
5049da5b | 927 | .I struct console_font_desc\ * |
e23e4c26 | 928 | or a |
5049da5b | 929 | .IR "const struct console_font_desc\ *" , |
e23e4c26 MK |
930 | respectively. |
931 | .I chardata | |
932 | points to a buffer of | |
933 | .IR "char [charcount]" . | |
934 | This is an output buffer for | |
935 | .B GIO_FONTX | |
936 | and an input buffer for | |
937 | .BR PIO_FONTX . | |
e646a1ba | 938 | .PP |
e23e4c26 MK |
939 | .B GIO_UNIMAP |
940 | and | |
941 | .B PIO_UNIMAP | |
942 | take a | |
5049da5b | 943 | .I "struct unimapdesc\ *" |
e23e4c26 | 944 | or a |
5049da5b | 945 | .IR "const struct unimapdesc\ *" , |
e23e4c26 MK |
946 | respectively. |
947 | .I entries | |
948 | points to a buffer of | |
949 | .IR "struct unipair [entry_ct]" . | |
950 | This is an output buffer for | |
951 | .B GIO_UNIMAP | |
952 | and an input buffer for | |
953 | .BR PIO_UNIMAP . | |
e646a1ba | 954 | .PP |
fea681da | 955 | KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to |
c13182ef MK |
956 | I/O ports. |
957 | They are essentially alternate interfaces to 'ioperm'. | |
e646a1ba | 958 | .PP |
e23e4c26 MK |
959 | .B KDMAPDISP |
960 | and | |
961 | .B KDUNMAPDISP | |
962 | enable or disable memory mappings or I/O port access. | |
c13182ef | 963 | They are not implemented in the kernel. |
e646a1ba | 964 | .PP |
e23e4c26 MK |
965 | .B SCSI_IOCTL_PROBE_HOST |
966 | takes an input pointer | |
5049da5b | 967 | .IR "const int\ *" , |
e23e4c26 MK |
968 | which is a length. |
969 | It uses the same pointer as an output pointer to a | |
970 | .I char [] | |
fea681da | 971 | buffer of this length. |
e646a1ba | 972 | .PP |
e23e4c26 MK |
973 | .B SIOCADDRT |
974 | and | |
975 | .B SIOCDELRT | |
976 | take an input pointer whose type depends on | |
fea681da | 977 | the protocol: |
408731d4 | 978 | .PP |
88933758 | 979 | .nf |
e23e4c26 MK |
980 | Most protocols const struct rtentry * |
981 | AX.25 const struct ax25_route * | |
982 | NET/ROM const struct nr_route_struct * | |
24e9c95d | 983 | INET6 const struct in6_rtmsg * |
88933758 | 984 | .fi |
408731d4 | 985 | .PP |
e23e4c26 MK |
986 | .B SIOCGIFCONF |
987 | takes a | |
5049da5b | 988 | .IR "struct ifconf\ *" . |
e23e4c26 MK |
989 | The |
990 | .I ifc_buf | |
991 | field points to a buffer of length | |
992 | .I ifc_len | |
993 | bytes, into which the kernel writes a list of type | |
994 | .IR "struct ifreq []" . | |
e646a1ba | 995 | .PP |
e23e4c26 MK |
996 | .B SIOCSIFHWADDR |
997 | takes an input pointer whose type depends on the protocol: | |
408731d4 | 998 | .PP |
88933758 | 999 | .nf |
e23e4c26 MK |
1000 | Most protocols const struct ifreq * |
1001 | AX.25 const char [AX25_ADDR_LEN] | |
88933758 | 1002 | .fi |
408731d4 | 1003 | .PP |
e23e4c26 MK |
1004 | .B TIOCLINUX |
1005 | takes a | |
5049da5b | 1006 | .IR "const char\ *" . |
c13182ef | 1007 | It uses this to distinguish several |
310672d6 | 1008 | independent subcases. |
e23e4c26 MK |
1009 | In the table below, |
1010 | .I N + foo | |
1011 | means | |
1012 | .I foo | |
1013 | after an N-byte pad. | |
1014 | .I struct selection | |
1015 | is implicitly defined in | |
1016 | .IR drivers/char/selection.c | |
408731d4 | 1017 | .PP |
88933758 | 1018 | .nf |
e23e4c26 MK |
1019 | TIOCLINUX-2 1 + const struct selection * |
1020 | TIOCLINUX-3 void | |
1021 | TIOCLINUX-4 void | |
1022 | TIOCLINUX-5 4 + const struct { long [8]; } * | |
1023 | TIOCLINUX-6 char * | |
1024 | TIOCLINUX-7 char * | |
1025 | TIOCLINUX-10 1 + const char * | |
88933758 | 1026 | .fi |
408731d4 | 1027 | .PP |
fea681da | 1028 | // Duplicate ioctls |
e646a1ba | 1029 | .PP |
e23e4c26 MK |
1030 | This list does not include ioctls in the range |
1031 | .B SIOCDEVPRIVATE | |
1032 | and | |
1033 | .BR SIOCPROTOPRIVATE . | |
1034 | .TS | |
1035 | l l l. | |
ebf3a7d5 MK |
1036 | FDSETPRM FIBMAP |
1037 | FDDEFPRM FIGETBSZ | |
1038 | SCSI_IOCTL_GET_IDLUN | |
1039 | SNDCTL_TMR_START TCSETS | |
1040 | SNDCTL_TMR_STOP TCSETSW | |
1041 | SNDCTL_TMR_CONTINUE TCSETSF | |
e23e4c26 | 1042 | .TE |
7b5ab594 | 1043 | .SH SEE ALSO |
60dd1421 | 1044 | .BR ioctl (2), |
a3b9b5da HS |
1045 | .BR ioctl_fat (2), |
1046 | .BR netdevice (7) |