OSDN Git Service

(split) LDP: Update draft pages
[linuxjm/LDP_man-pages.git] / draft / man2 / ioctl_list.2
1 .\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain.
2 .\" Michael Elizabeth Chastain
3 .\" <mec@duracef.shout.net>
4 .\"
5 .\" %%%LICENSE_START(GPLv2_MISC)
6 .\" It is licensed under the Gnu Public License, Version 2.
7 .\" %%%LICENSE_END
8 .\"
9 .\" Ioctl List 1.3.27
10 .\" Sun 17 Sep 1995
11 .\"
12 .\" // Copyright
13 .\"
14 .\"
15 .\"
16 .\" // Change Log
17 .\"
18 .\" 1.3.27      421 ioctls.
19 .\"     Type information for non-pointer args.
20 .\"     SIOCDEVPRIVATE, SIOCPROTOPRIVATE ioctls.
21 .\"     Descriptions of extended arguments.
22 .\"
23 .\" 1.2.9       365 ioctls.
24 .\"     First public version.
25 .\"
26 .\"
27 .\" 2007-12-29 Alain Portal <aportal@univ-montp2.fr> and Michael Kerrisk
28 .\"     <mtk.manpages@gmail.com>:
29 .\"          Various formatting improvements
30 .\"*******************************************************************
31 .\"
32 .\" This file was generated with po4a. Translate the source file.
33 .\"
34 .\"*******************************************************************
35 .TH IOCTL_LIST 2 2007\-12\-29 Linux "Linux Programmer's Manual"
36 .SH 名前
37 ioctl_list \- Linux/i386 カーネルの ioctl のリスト
38 .SH 説明
39 この文章は ioctl リスト 1.3.27、つまり Linux/i386 カーネル 1.3.27 に おける ioctl
40 コールの一覧です。このリストは \fI</usr/include/{asm,linux}/*.h>\fP にある 421 の ioctl
41 を含んでいます。全ての ioctl に対して、数値、名称、 引き数の型を列挙してあります。
42 .PP
43 引き数型 \fIconst struct foo\ *\fP は、その引き数がカーネルへの入力である事を意味します。また、 \fIstruct foo\ *\fP
44 は、その引き数がカーネルからの出力である事を意味します。 カーネルがその引き数を入力と出力の両方に使用する場合は、 \fI//\ I\-O\fP
45 マークを付けてあります。
46 .PP
47 いくつかの ioctl は複数の構造体の引き数を必要としたり、値を返したり します。これらには \fI//\ MORE\fP マークを付けて、
48 さらに分離したセクションで説明してあります。
49 .PP
50 このリストは不完全です。
51 .SS "ioctl の構造"
52 .\" added two sections - aeb
53 ioctl コマンドの値は 32 ビットの定数です。 原則として、これらの定数は全く任意のものですが、
54 設計者は何らかの構造をこれらの定数に組み込もうとしています。
55 .LP
56 昔の Linux では、大部分は 16 ビットの定数であり、 下位バイトはシリアル番号で、上位バイトはドライバのタイプを表していました。
57 メジャー番号が使われることもありました: 0x03 が \fBHDIO_*\fP ioctl, 0x06 が \fBLP*\fP ioctl などです。 1
58 文字以上の ASCII 文字列が使われることもありました。 たとえば \fBTCGETS\fP の値は 0x00005401 であり、 0x54 =
59 \(aqT\(aq でターミナルドライバを表します。 \fBCYGETTIMEOUT\fP の値は 0x00435906 であり、 0x43 0x59 =
60 \(aqC\(aq \(aqY\(aq で cyclades ドライバを表します。
61 .LP
62 後の時代 (0.98p5) になると、 より多くの情報が数値に組み込まれるようになりました。 1 つの数値は、読み書きの方向を表す 2 ビット (00:
63 読み書きなし, 01: 書き込み, 10: 読み込み, 11: 読み込み/書き込み)、 (引き数のサイズを表す) 14 ビット、
64 (共通の目的または共通のドライバで ioctl をグループにするための)  8 ビットのタイプ、8 ビットのシリアル番号から構成されます。
65 .LP
66 この構造を記述するマクロは \fI<asm/ioctl.h>\fP にあり、 \fB_IO(type,nr)\fP と
67 \fB{_IOR,_IOW,_IOWR}(type,nr,size)\fP です。 これらのマクロは \fIsizeof(size)\fP を使うので、 ここで
68 size という名前にしているのは間違っています: この 3 つ目の引き数はデータタイプです。
69 .LP
70 size ビットは全く当てにならない点に注意して下さい: 多くの場合、間違っています。 これは \fIsizeof(sizeof(struct))\fP
71 を使ったバグを含んだマクロや、過去から受け継いだ値が原因です。
72 .LP
73 したがって、新しい構造は不都合な点しかないように思われます: この構造はチェックの手助けにはならず、
74 様々なアーキテクチャによって値を変化させてしまいます。
75 .SH 返り値
76 きちんとした ioctl は、成功した場合は 0 を返し、 エラーの場合は \-1 を返します。 また出力値は引き数に格納します。
77 しかし実際は、かなり多くの ioctl が出力値を返します。 これは今のところ以下では示されていません。
78
79 // Main table.
80
81 // <include/asm\-i386/socket.h>
82 .TS
83 l l l.
84 0x00008901      FIOSETOWN       const int *
85 0x00008902      SIOCSPGRP       const int *
86 0x00008903      FIOGETOWN       int *
87 0x00008904      SIOCGPGRP       int *
88 0x00008905      SIOCATMAR       int *
89 0x00008906      SIOCGSTAMP      timeval *
90 .TE
91
92 // <include/asm\-i386/termios.h>
93 .TS
94 l l l l.
95 0x00005401      TCGETS  struct termios *
96 0x00005402      TCSETS  const struct termios *
97 0x00005403      TCSETSW const struct termios *
98 0x00005404      TCSETSF const struct termios *
99 0x00005405      TCGETA  struct termio *
100 0x00005406      TCSETA  const struct termio *
101 0x00005407      TCSETAW const struct termio *
102 0x00005408      TCSETAF const struct termio *
103 0x00005409      TCSBRK  int
104 0x0000540A      TCXONC  int
105 0x0000540B      TCFLSH  int
106 0x0000540C      TIOCEXCL        void
107 0x0000540D      TIOCNXCL        void
108 0x0000540E      TIOCSCTTY       int
109 0x0000540F      TIOCGPGRP       pid_t *
110 0x00005410      TIOCSPGRP       const pid_t *
111 0x00005411      TIOCOUTQ        int *
112 0x00005412      TIOCSTI const char *
113 0x00005413      TIOCGWINSZ      struct winsize *
114 0x00005414      TIOCSWINSZ      const struct winsize *
115 0x00005415      TIOCMGET        int *
116 0x00005416      TIOCMBIS        const int *
117 0x00005417      TIOCMBIC        const int *
118 0x00005418      TIOCMSET        const int *
119 0x00005419      TIOCGSOFTCAR    int *
120 0x0000541A      TIOCSSOFTCAR    const int *
121 0x0000541B      FIONREAD        int *
122 0x0000541B      TIOCINQ int *
123 0x0000541C      TIOCLINUX       const char *    // MORE
124 0x0000541D      TIOCCONS        void
125 0x0000541E      TIOCGSERIAL     struct serial_struct *
126 0x0000541F      TIOCSSERIAL     const struct serial_struct *
127 0x00005420      TIOCPKT const int *
128 0x00005421      FIONBIO const int *
129 0x00005422      TIOCNOTTY       void
130 0x00005423      TIOCSETD        const int *
131 0x00005424      TIOCGETD        int *
132 0x00005425      TCSBRKP int
133 0x00005426      TIOCTTYGSTRUCT  struct tty_struct *
134 0x00005450      FIONCLEX        void
135 0x00005451      FIOCLEX void
136 0x00005452      FIOASYNC        const int *
137 0x00005453      TIOCSERCONFIG   void
138 0x00005454      TIOCSERGWILD    int *
139 0x00005455      TIOCSERSWILD    const int *
140 0x00005456      TIOCGLCKTRMIOS  struct termios *
141 0x00005457      TIOCSLCKTRMIOS  const struct termios *
142 0x00005458      TIOCSERGSTRUCT  struct async_struct *
143 0x00005459      TIOCSERGETLSR   int *
144 .TE
145 .\" Some tables are split into two or more to avoid the warning:
146 .\" "table wider than line width".  Some lines are to long to fit
147 .\" on one line on an 80 columns console
148 .TS
149 l l l.
150 0x0000545A      TIOCSERGETMULTI struct serial_multiport_struct *
151 0x0000545B      TIOCSERSETMULTI const struct serial_multiport_struct *
152 .TE
153
154 // <include/linux/ax25.h>
155 .TS
156 l l l l.
157 0x000089E0      SIOCAX25GETUID  const struct sockaddr_ax25 *
158 0x000089E1      SIOCAX25ADDUID  const struct sockaddr_ax25 *
159 0x000089E2      SIOCAX25DELUID  const struct sockaddr_ax25 *
160 0x000089E3      SIOCAX25NOUID   const int *
161 0x000089E4      SIOCAX25DIGCTL  const int *
162 0x000089E5      SIOCAX25GETPARMS        struct ax25_parms_struct *      // I\-O
163 .TE
164 .TS
165 l l l.
166 0x000089E6      SIOCAX25SETPARMS        const struct ax25_parms_struct *
167 .TE
168
169 // <include/linux/cdk.h>
170 .TS
171 l l l.
172 0x00007314      STL_BINTR       void
173 0x00007315      STL_BSTART      void
174 0x00007316      STL_BSTOP       void
175 0x00007317      STL_BRESET      void
176 .TE
177
178 // <include/linux/cdrom.h>
179 .TS
180 l l l.
181 0x00005301      CDROMPAUSE      void
182 0x00005302      CDROMRESUME     void
183 0x00005303      CDROMPLAYMSF    const struct cdrom_msf *
184 0x00005304      CDROMPLAYTRKIND const struct cdrom_ti *
185 0x00005305      CDROMREADTOCHDR struct cdrom_tochdr *
186 .TE
187 .TS
188 l l l l.
189 0x00005306      CDROMREADTOCENTRY       struct cdrom_tocentry * // I\-O
190 .TE
191 .TS
192 l l l l.
193 0x00005307      CDROMSTOP       void
194 0x00005308      CDROMSTART      void
195 0x00005309      CDROMEJECT      void
196 0x0000530A      CDROMVOLCTRL    const struct cdrom_volctrl *
197 0x0000530B      CDROMSUBCHNL    struct cdrom_subchnl *  // I\-O
198 0x0000530C      CDROMREADMODE2  const struct cdrom_msf *        // MORE
199 0x0000530D      CDROMREADMODE1  const struct cdrom_msf *        // MORE
200 0x0000530E      CDROMREADAUDIO  const struct cdrom_read_audio * // MORE
201 0x0000530F      CDROMEJECT_SW   int
202 .TE
203 .TS
204 l l l l.
205 0x00005310      CDROMMULTISESSION       struct cdrom_multisession *     // I\-O
206 .TE
207 .TS
208 l l l l.
209 0x00005311      CDROM_GET_UPC   struct { char [8]; } *
210 0x00005312      CDROMRESET      void
211 0x00005313      CDROMVOLREAD    struct cdrom_volctrl *
212 0x00005314      CDROMREADRAW    const struct cdrom_msf *        // MORE
213 0x00005315      CDROMREADCOOKED const struct cdrom_msf *        // MORE
214 0x00005316      CDROMSEEK       const struct cdrom_msf *
215 .TE
216
217 // <include/linux/cm206.h>
218 .TS
219 l l l.
220 0x00002000      CM206CTL_GET_STAT       int
221 0x00002001      CM206CTL_GET_LAST_STAT  int
222 .TE
223
224 // <include/linux/cyclades.h>
225 .TS
226 l l l.
227 0x00435901      CYGETMON        struct cyclades_monitor *
228 0x00435902      CYGETTHRESH     int *
229 0x00435903      CYSETTHRESH     int
230 0x00435904      CYGETDEFTHRESH  int *
231 0x00435905      CYSETDEFTHRESH  int
232 0x00435906      CYGETTIMEOUT    int *
233 0x00435907      CYSETTIMEOUT    int
234 0x00435908      CYGETDEFTIMEOUT int *
235 0x00435909      CYSETDEFTIMEOUT int
236 .TE
237
238 // <include/linux/ext2_fs.h>
239 .TS
240 l l l.
241 0x80046601      EXT2_IOC_GETFLAGS       int *
242 0x40046602      EXT2_IOC_SETFLAGS       const int *
243 0x80047601      EXT2_IOC_GETVERSION     int *
244 0x40047602      EXT2_IOC_SETVERSION     const int *
245 .TE
246
247 // <include/linux/fd.h>
248 .TS
249 l l l.
250 0x00000000      FDCLRPRM        void
251 0x00000001      FDSETPRM        const struct floppy_struct *
252 0x00000002      FDDEFPRM        const struct floppy_struct *
253 0x00000003      FDGETPRM        struct floppy_struct *
254 0x00000004      FDMSGON void
255 0x00000005      FDMSGOFF        void
256 0x00000006      FDFMTBEG        void
257 0x00000007      FDFMTTRK        const struct format_descr *
258 0x00000008      FDFMTEND        void
259 0x0000000A      FDSETEMSGTRESH  int
260 0x0000000B      FDFLUSH void
261 0x0000000C      FDSETMAXERRS    const struct floppy_max_errors *
262 0x0000000E      FDGETMAXERRS    struct floppy_max_errors *
263 0x00000010      FDGETDRVTYP     struct { char [16]; } *
264 0x00000014      FDSETDRVPRM     const struct floppy_drive_params *
265 0x00000015      FDGETDRVPRM     struct floppy_drive_params *
266 0x00000016      FDGETDRVSTAT    struct floppy_drive_struct *
267 0x00000017      FDPOLLDRVSTAT   struct floppy_drive_struct *
268 0x00000018      FDRESET int
269 0x00000019      FDGETFDCSTAT    struct floppy_fdc_state *
270 0x0000001B      FDWERRORCLR     void
271 0x0000001C      FDWERRORGET     struct floppy_write_errors *
272 .TE
273 .TS
274 l l l l.
275 0x0000001E      FDRAWCMD        struct floppy_raw_cmd * // MORE // I\-O
276 0x00000028      FDTWADDLE       void
277 .TE
278
279 // <include/linux/fs.h>
280 .TS
281 l l l l.
282 0x0000125D      BLKROSET        const int *
283 0x0000125E      BLKROGET        int *
284 0x0000125F      BLKRRPART       void
285 0x00001260      BLKGETSIZE      unsigned long *
286 0x00001261      BLKFLSBUF       void
287 0x00001262      BLKRASET        int
288 0x00001263      BLKRAGET        int *
289 0x00000001      FIBMAP  int *   // I\-O
290 0x00000002      FIGETBSZ        int *
291 .TE
292
293 // <include/linux/hdreg.h>
294 .TS
295 l l l l.
296 0x00000301      HDIO_GETGEO     struct hd_geometry *
297 0x00000302      HDIO_GET_UNMASKINTR     int *
298 0x00000304      HDIO_GET_MULTCOUNT      int *
299 0x00000307      HDIO_GET_IDENTITY       struct hd_driveid *
300 0x00000308      HDIO_GET_KEEPSETTINGS   int *
301 0x00000309      HDIO_GET_CHIPSET        int *
302 0x0000030A      HDIO_GET_NOWERR int *
303 0x0000030B      HDIO_GET_DMA    int *
304 0x0000031F      HDIO_DRIVE_CMD  int *   // I\-O
305 0x00000321      HDIO_SET_MULTCOUNT      int
306 0x00000322      HDIO_SET_UNMASKINTR     int
307 0x00000323      HDIO_SET_KEEPSETTINGS   int
308 0x00000324      HDIO_SET_CHIPSET        int
309 0x00000325      HDIO_SET_NOWERR int
310 0x00000326      HDIO_SET_DMA    int
311 .TE
312
313 // <include/linux/if_eql.h>
314 .TS
315 l l l l.
316 0x000089F0      EQL_ENSLAVE     struct ifreq *  // MORE // I\-O
317 0x000089F1      EQL_EMANCIPATE  struct ifreq *  // MORE // I\-O
318 0x000089F2      EQL_GETSLAVECFG struct ifreq *  // MORE // I\-O
319 0x000089F3      EQL_SETSLAVECFG struct ifreq *  // MORE // I\-O
320 0x000089F4      EQL_GETMASTRCFG struct ifreq *  // MORE // I\-O
321 0x000089F5      EQL_SETMASTRCFG struct ifreq *  // MORE // I\-O
322 .TE
323
324 // <include/linux/if_plip.h>
325 .TS
326 l l l l.
327 0x000089F0      SIOCDEVPLIP     struct ifreq *  // I\-O
328 .TE
329
330 // <include/linux/if_ppp.h>
331 .TS
332 l l l.
333 0x00005490      PPPIOCGFLAGS    int *
334 0x00005491      PPPIOCSFLAGS    const int *
335 0x00005492      PPPIOCGASYNCMAP int *
336 0x00005493      PPPIOCSASYNCMAP const int *
337 0x00005494      PPPIOCGUNIT     int *
338 0x00005495      PPPIOCSINPSIG   const int *
339 0x00005497      PPPIOCSDEBUG    const int *
340 0x00005498      PPPIOCGDEBUG    int *
341 0x00005499      PPPIOCGSTAT     struct ppp_stats *
342 0x0000549A      PPPIOCGTIME     struct ppp_ddinfo *
343 0x0000549B      PPPIOCGXASYNCMAP        struct { int [8]; } *
344 0x0000549C      PPPIOCSXASYNCMAP        const struct { int [8]; } *
345 0x0000549D      PPPIOCSMRU      const int *
346 0x0000549E      PPPIOCRASYNCMAP const int *
347 0x0000549F      PPPIOCSMAXCID   const int *
348 .TE
349
350 // <include/linux/ipx.h>
351 .TS
352 l l l.
353 0x000089E0      SIOCAIPXITFCRT  const char *
354 0x000089E1      SIOCAIPXPRISLT  const char *
355 0x000089E2      SIOCIPXCFGDATA  struct ipx_config_data *
356 .TE
357
358 // <include/linux/kd.h>
359 .TS
360 l l l.
361 0x00004B60      GIO_FONT        struct { char [8192]; } *
362 0x00004B61      PIO_FONT        const struct { char [8192]; } *
363 .TE
364 .TS
365 l2 l2 l2 l.
366 0x00004B6B      GIO_FONTX       struct console_font_desc *      // MORE // I\-O
367 0x00004B6C      PIO_FONTX       const struct console_font_desc *        //MORE
368 .TE
369 .TS
370 l l l.
371 0x00004B70      GIO_CMAP        struct { char [48]; } *
372 0x00004B71      PIO_CMAP        const struct { char [48]; }
373 .TE
374 .TS
375 l l l l.
376 0x00004B2F      KIOCSOUND       int
377 0x00004B30      KDMKTONE        int
378 0x00004B31      KDGETLED        char *
379 0x00004B32      KDSETLED        int
380 0x00004B33      KDGKBTYPE       char *
381 0x00004B34      KDADDIO int     // MORE
382 0x00004B35      KDDELIO int     // MORE
383 0x00004B36      KDENABIO        void    // MORE
384 0x00004B37      KDDISABIO       void    // MORE
385 0x00004B3A      KDSETMODE       int
386 0x00004B3B      KDGETMODE       int *
387 0x00004B3C      KDMAPDISP       void    // MORE
388 0x00004B3D      KDUNMAPDISP     void    // MORE
389 0x00004B40      GIO_SCRNMAP     struct { char [E_TABSZ]; } *
390 .TE
391 .TS
392 l l l.
393 0x00004B41      PIO_SCRNMAP     const struct { char [E_TABSZ]; } *
394 0x00004B69      GIO_UNISCRNMAP  struct { short [E_TABSZ]; } *
395 0x00004B6A      PIO_UNISCRNMAP  const struct { short [E_TABSZ]; } *
396 .TE
397 .TS
398 l l l l.
399 0x00004B66      GIO_UNIMAP      struct unimapdesc *     // MORE // I\-O
400 0x00004B67      PIO_UNIMAP      const struct unimapdesc *       // MORE
401 0x00004B68      PIO_UNIMAPCLR   const struct unimapinit *
402 0x00004B44      KDGKBMODE       int *
403 0x00004B45      KDSKBMODE       int
404 0x00004B62      KDGKBMETA       int *
405 0x00004B63      KDSKBMETA       int
406 0x00004B64      KDGKBLED        int *
407 0x00004B65      KDSKBLED        int
408 0x00004B46      KDGKBENT        struct kbentry *        // I\-O
409 0x00004B47      KDSKBENT        const struct kbentry *
410 0x00004B48      KDGKBSENT       struct kbsentry *       // I\-O
411 0x00004B49      KDSKBSENT       const struct kbsentry *
412 0x00004B4A      KDGKBDIACR      struct kbdiacrs *
413 0x00004B4B      KDSKBDIACR      const struct kbdiacrs *
414 0x00004B4C      KDGETKEYCODE    struct kbkeycode *      // I\-O
415 0x00004B4D      KDSETKEYCODE    const struct kbkeycode *
416 0x00004B4E      KDSIGACCEPT     int
417 .TE
418
419 // <include/linux/lp.h>
420 .TS
421 l l l.
422 0x00000601      LPCHAR  int
423 0x00000602      LPTIME  int
424 0x00000604      LPABORT int
425 0x00000605      LPSETIRQ        int
426 0x00000606      LPGETIRQ        int *
427 0x00000608      LPWAIT  int
428 0x00000609      LPCAREFUL       int
429 0x0000060A      LPABORTOPEN     int
430 0x0000060B      LPGETSTATUS     int *
431 0x0000060C      LPRESET void
432 0x0000060D      LPGETSTATS      struct lp_stats *
433 .TE
434
435 // <include/linux/mroute.h>
436 .TS
437 l l l l.
438 0x000089E0      SIOCGETVIFCNT   struct sioc_vif_req *   // I\-O
439 0x000089E1      SIOCGETSGCNT    struct sioc_sg_req *    // I\-O
440 .TE
441
442 // <include/linux/mtio.h>
443 .TS
444 l l l.
445 0x40086D01      MTIOCTOP        const struct mtop *
446 0x801C6D02      MTIOCGET        struct mtget *
447 0x80046D03      MTIOCPOS        struct mtpos *
448 0x80206D04      MTIOCGETCONFIG  struct mtconfiginfo *
449 0x40206D05      MTIOCSETCONFIG  const struct mtconfiginfo *
450 .TE
451
452 // <include/linux/netrom.h>
453 .TS
454 l l l l.
455 0x000089E0      SIOCNRGETPARMS  struct nr_parms_struct *        // I\-O
456 0x000089E1      SIOCNRSETPARMS  const struct nr_parms_struct *
457 0x000089E2      SIOCNRDECOBS    void
458 0x000089E3      SIOCNRRTCTL     const int *
459 .TE
460
461 // <include/linux/sbpcd.h>
462 .TS
463 l l l.
464 0x00009000      DDIOCSDBG       const int *
465 0x00005382      CDROMAUDIOBUFSIZ        int
466 .TE
467
468 // <include/linux/scc.h>
469 .TS
470 l l l l.
471 0x00005470      TIOCSCCINI      void
472 0x00005471      TIOCCHANINI     const struct scc_modem *
473 0x00005472      TIOCGKISS       struct ioctl_command *  // I\-O
474 0x00005473      TIOCSKISS       const struct ioctl_command *
475 0x00005474      TIOCSCCSTAT     struct scc_stat *
476 .TE
477
478 // <include/linux/scsi.h>
479 .TS
480 l l l.
481 0x00005382      SCSI_IOCTL_GET_IDLUN    struct { int [2]; } *
482 0x00005383      SCSI_IOCTL_TAGGED_ENABLE        void
483 0x00005384      SCSI_IOCTL_TAGGED_DISABLE       void
484 .TE
485 .TS
486 l l l l.
487 0x00005385      SCSI_IOCTL_PROBE_HOST   const int *     // MORE
488 .TE
489
490 // <include/linux/smb_fs.h>
491 .TS
492 l l l.
493 0x80027501      SMB_IOC_GETMOUNTUID     uid_t *
494 .TE
495
496 // <include/linux/sockios.h>
497 .TS
498 l l l l.
499 0x0000890B      SIOCADDRT       const struct rtentry *  // MORE
500 0x0000890C      SIOCDELRT       const struct rtentry *  // MORE
501 0x00008910      SIOCGIFNAME     char []
502 0x00008911      SIOCSIFLINK     void
503 0x00008912      SIOCGIFCONF     struct ifconf * // MORE // I\-O
504 0x00008913      SIOCGIFFLAGS    struct ifreq *  // I\-O
505 0x00008914      SIOCSIFFLAGS    const struct ifreq *
506 0x00008915      SIOCGIFADDR     struct ifreq *  // I\-O
507 0x00008916      SIOCSIFADDR     const struct ifreq *
508 0x00008917      SIOCGIFDSTADDR  struct ifreq *  // I\-O
509 0x00008918      SIOCSIFDSTADDR  const struct ifreq *
510 0x00008919      SIOCGIFBRDADDR  struct ifreq *  // I\-O
511 0x0000891A      SIOCSIFBRDADDR  const struct ifreq *
512 0x0000891B      SIOCGIFNETMASK  struct ifreq *  // I\-O
513 0x0000891C      SIOCSIFNETMASK  const struct ifreq *
514 0x0000891D      SIOCGIFMETRIC   struct ifreq *  // I\-O
515 0x0000891E      SIOCSIFMETRIC   const struct ifreq *
516 0x0000891F      SIOCGIFMEM      struct ifreq *  // I\-O
517 0x00008920      SIOCSIFMEM      const struct ifreq *
518 0x00008921      SIOCGIFMTU      struct ifreq *  // I\-O
519 0x00008922      SIOCSIFMTU      const struct ifreq *
520 .TE
521 .TS
522 l l l l.
523 0x00008923      OLD_SIOCGIFHWADDR       struct ifreq *  // I\-O
524 0x00008924      SIOCSIFHWADDR   const struct ifreq *    // MORE
525 0x00008925      SIOCGIFENCAP    int *
526 0x00008926      SIOCSIFENCAP    const int *
527 0x00008927      SIOCGIFHWADDR   struct ifreq *  // I\-O
528 0x00008929      SIOCGIFSLAVE    void
529 0x00008930      SIOCSIFSLAVE    void
530 0x00008931      SIOCADDMULTI    const struct ifreq *
531 0x00008932      SIOCDELMULTI    const struct ifreq *
532 0x00008940      SIOCADDRTOLD    void
533 0x00008941      SIOCDELRTOLD    void
534 0x00008950      SIOCDARP        const struct arpreq *
535 0x00008951      SIOCGARP        struct arpreq * // I\-O
536 0x00008952      SIOCSARP        const struct arpreq *
537 0x00008960      SIOCDRARP       const struct arpreq *
538 0x00008961      SIOCGRARP       struct arpreq * // I\-O
539 0x00008962      SIOCSRARP       const struct arpreq *
540 0x00008970      SIOCGIFMAP      struct ifreq *  // I\-O
541 0x00008971      SIOCSIFMAP      const struct ifreq *
542 .TE
543
544 // <include/linux/soundcard.h>
545 .TS
546 l l l.
547 0x00005100      SNDCTL_SEQ_RESET        void
548 0x00005101      SNDCTL_SEQ_SYNC void
549 .TE
550 .TS
551 l l l l.
552 0xC08C5102      SNDCTL_SYNTH_INFO       struct synth_info *     // I\-O
553 0xC0045103      SNDCTL_SEQ_CTRLRATE     int *   // I\-O
554 0x80045104      SNDCTL_SEQ_GETOUTCOUNT  int *
555 0x80045105      SNDCTL_SEQ_GETINCOUNT   int *
556 0x40045106      SNDCTL_SEQ_PERCMODE     void
557 .TE
558 .TS
559 l l l.
560 0x40285107      SNDCTL_FM_LOAD_INSTR    const struct sbi_instrument *
561 .TE
562 .TS
563 l l l l.
564 0x40045108      SNDCTL_SEQ_TESTMIDI     const int *
565 0x40045109      SNDCTL_SEQ_RESETSAMPLES const int *
566 0x8004510A      SNDCTL_SEQ_NRSYNTHS     int *
567 0x8004510B      SNDCTL_SEQ_NRMIDIS      int *
568 0xC074510C      SNDCTL_MIDI_INFO        struct midi_info *      // I\-O
569 0x4004510D      SNDCTL_SEQ_THRESHOLD    const int *
570 0xC004510E      SNDCTL_SYNTH_MEMAVL     int *   // I\-O
571 0x4004510F      SNDCTL_FM_4OP_ENABLE    const int *
572 0xCFB85110      SNDCTL_PMGR_ACCESS      struct patmgr_info *    // I\-O
573 0x00005111      SNDCTL_SEQ_PANIC        void
574 .TE
575 .TS
576 l l l.
577 0x40085112      SNDCTL_SEQ_OUTOFBAND    const struct seq_event_rec *
578 .TE
579 .TS
580 l l l l.
581 0xC0045401      SNDCTL_TMR_TIMEBASE     int *   // I\-O
582 0x00005402      SNDCTL_TMR_START        void
583 0x00005403      SNDCTL_TMR_STOP void
584 0x00005404      SNDCTL_TMR_CONTINUE     void
585 0xC0045405      SNDCTL_TMR_TEMPO        int *   // I\-O
586 0xC0045406      SNDCTL_TMR_SOURCE       int *   // I\-O
587 0x40045407      SNDCTL_TMR_METRONOME    const int *
588 0x40045408      SNDCTL_TMR_SELECT       int *   // I\-O
589 0xCFB85001      SNDCTL_PMGR_IFACE       struct patmgr_info *    // I\-O
590 0xC0046D00      SNDCTL_MIDI_PRETIME     int *   // I\-O
591 0xC0046D01      SNDCTL_MIDI_MPUMODE     const int *
592 .TE
593 .TS
594 l l l l.
595 0xC0216D02      SNDCTL_MIDI_MPUCMD      struct mpu_command_rec *        // I\-O
596 .TE
597 .TS
598 l l l l.
599 0x00005000      SNDCTL_DSP_RESET        void
600 0x00005001      SNDCTL_DSP_SYNC void
601 0xC0045002      SNDCTL_DSP_SPEED        int *   // I\-O
602 0xC0045003      SNDCTL_DSP_STEREO       int *   // I\-O
603 0xC0045004      SNDCTL_DSP_GETBLKSIZE   int *   // I\-O
604 0xC0045006      SOUND_PCM_WRITE_CHANNELS        int *   // I\-O
605 0xC0045007      SOUND_PCM_WRITE_FILTER  int *   // I\-O
606 0x00005008      SNDCTL_DSP_POST void
607 0xC0045009      SNDCTL_DSP_SUBDIVIDE    int *   // I\-O
608 0xC004500A      SNDCTL_DSP_SETFRAGMENT  int *   // I\-O
609 0x8004500B      SNDCTL_DSP_GETFMTS      int *
610 0xC0045005      SNDCTL_DSP_SETFMT       int *   // I\-O
611 .TE
612 .TS
613 l l l.
614 0x800C500C      SNDCTL_DSP_GETOSPACE    struct audio_buf_info *
615 0x800C500D      SNDCTL_DSP_GETISPACE    struct audio_buf_info *
616 0x0000500E      SNDCTL_DSP_NONBLOCK     void
617 0x80045002      SOUND_PCM_READ_RATE     int *
618 0x80045006      SOUND_PCM_READ_CHANNELS int *
619 0x80045005      SOUND_PCM_READ_BITS     int *
620 0x80045007      SOUND_PCM_READ_FILTER   int *
621 0x00004300      SNDCTL_COPR_RESET       void
622 0xCFB04301      SNDCTL_COPR_LOAD        const struct copr_buffer *
623 .TE
624 .TS
625 l l l l.
626 0xC0144302      SNDCTL_COPR_RDATA       struct copr_debug_buf * // I\-O
627 0xC0144303      SNDCTL_COPR_RCODE       struct copr_debug_buf * // I\-O
628 .TE
629 .TS
630 l l l.
631 0x40144304      SNDCTL_COPR_WDATA       const struct copr_debug_buf *
632 0x40144305      SNDCTL_COPR_WCODE       const struct copr_debug_buf *
633 .TE
634 .TS
635 l l l l.
636 0xC0144306      SNDCTL_COPR_RUN struct copr_debug_buf * // I\-O
637 0xC0144307      SNDCTL_COPR_HALT        struct copr_debug_buf * // I\-O
638 .TE
639 .TS
640 l l l.
641 0x4FA44308      SNDCTL_COPR_SENDMSG     const struct copr_msg *
642 0x8FA44309      SNDCTL_COPR_RCVMSG      struct copr_msg *
643 0x80044D00      SOUND_MIXER_READ_VOLUME int *
644 0x80044D01      SOUND_MIXER_READ_BASS   int *
645 0x80044D02      SOUND_MIXER_READ_TREBLE int *
646 0x80044D03      SOUND_MIXER_READ_SYNTH  int *
647 0x80044D04      SOUND_MIXER_READ_PCM    int *
648 0x80044D05      SOUND_MIXER_READ_SPEAKER        int *
649 0x80044D06      SOUND_MIXER_READ_LINE   int *
650 0x80044D07      SOUND_MIXER_READ_MIC    int *
651 0x80044D08      SOUND_MIXER_READ_CD     int *
652 0x80044D09      SOUND_MIXER_READ_IMIX   int *
653 0x80044D0A      SOUND_MIXER_READ_ALTPCM int *
654 0x80044D0B      SOUND_MIXER_READ_RECLEV int *
655 0x80044D0C      SOUND_MIXER_READ_IGAIN  int *
656 0x80044D0D      SOUND_MIXER_READ_OGAIN  int *
657 0x80044D0E      SOUND_MIXER_READ_LINE1  int *
658 0x80044D0F      SOUND_MIXER_READ_LINE2  int *
659 0x80044D10      SOUND_MIXER_READ_LINE3  int *
660 0x80044D1C      SOUND_MIXER_READ_MUTE   int *
661 0x80044D1D      SOUND_MIXER_READ_ENHANCE        int *
662 0x80044D1E      SOUND_MIXER_READ_LOUD   int *
663 0x80044DFF      SOUND_MIXER_READ_RECSRC int *
664 0x80044DFE      SOUND_MIXER_READ_DEVMASK        int *
665 0x80044DFD      SOUND_MIXER_READ_RECMASK        int *
666 0x80044DFB      SOUND_MIXER_READ_STEREODEVS     int *
667 0x80044DFC      SOUND_MIXER_READ_CAPS   int *
668 .TE
669 .TS
670 l l l l.
671 0xC0044D00      SOUND_MIXER_WRITE_VOLUME        int *   // I\-O
672 0xC0044D01      SOUND_MIXER_WRITE_BASS  int *   // I\-O
673 0xC0044D02      SOUND_MIXER_WRITE_TREBLE        int *   // I\-O
674 0xC0044D03      SOUND_MIXER_WRITE_SYNTH int *   // I\-O
675 0xC0044D04      SOUND_MIXER_WRITE_PCM   int *   // I\-O
676 0xC0044D05      SOUND_MIXER_WRITE_SPEAKER       int *   // I\-O
677 0xC0044D06      SOUND_MIXER_WRITE_LINE  int *   // I\-O
678 0xC0044D07      SOUND_MIXER_WRITE_MIC   int *   // I\-O
679 0xC0044D08      SOUND_MIXER_WRITE_CD    int *   // I\-O
680 0xC0044D09      SOUND_MIXER_WRITE_IMIX  int *   // I\-O
681 0xC0044D0A      SOUND_MIXER_WRITE_ALTPCM        int *   // I\-O
682 0xC0044D0B      SOUND_MIXER_WRITE_RECLEV        int *   // I\-O
683 0xC0044D0C      SOUND_MIXER_WRITE_IGAIN int *   // I\-O
684 0xC0044D0D      SOUND_MIXER_WRITE_OGAIN int *   // I\-O
685 0xC0044D0E      SOUND_MIXER_WRITE_LINE1 int *   // I\-O
686 0xC0044D0F      SOUND_MIXER_WRITE_LINE2 int *   // I\-O
687 0xC0044D10      SOUND_MIXER_WRITE_LINE3 int *   // I\-O
688 0xC0044D1C      SOUND_MIXER_WRITE_MUTE  int *   // I\-O
689 0xC0044D1D      SOUND_MIXER_WRITE_ENHANCE       int *   // I\-O
690 0xC0044D1E      SOUND_MIXER_WRITE_LOUD  int *   // I\-O
691 0xC0044DFF      SOUND_MIXER_WRITE_RECSRC        int *   // I\-O
692 .TE
693
694 // <include/linux/umsdos_fs.h>
695 .TS
696 l l l l.
697 0x000004D2      UMSDOS_READDIR_DOS      struct umsdos_ioctl *   // I\-O
698 0x000004D3      UMSDOS_UNLINK_DOS       const struct umsdos_ioctl *
699 0x000004D4      UMSDOS_RMDIR_DOS        const struct umsdos_ioctl *
700 0x000004D5      UMSDOS_STAT_DOS struct umsdos_ioctl *   // I\-O
701 0x000004D6      UMSDOS_CREAT_EMD        const struct umsdos_ioctl *
702 0x000004D7      UMSDOS_UNLINK_EMD       const struct umsdos_ioctl *
703 0x000004D8      UMSDOS_READDIR_EMD      struct umsdos_ioctl *   // I\-O
704 0x000004D9      UMSDOS_GETVERSION       struct umsdos_ioctl *
705 0x000004DA      UMSDOS_INIT_EMD void
706 0x000004DB      UMSDOS_DOS_SETUP        const struct umsdos_ioctl *
707 0x000004DC      UMSDOS_RENAME_DOS       const struct umsdos_ioctl *
708 .TE
709
710 // <include/linux/vt.h>
711 .TS
712 l l l.
713 0x00005600      VT_OPENQRY      int *
714 0x00005601      VT_GETMODE      struct vt_mode *
715 0x00005602      VT_SETMODE      const struct vt_mode *
716 0x00005603      VT_GETSTATE     struct vt_stat *
717 0x00005604      VT_SENDSIG      void
718 0x00005605      VT_RELDISP      int
719 0x00005606      VT_ACTIVATE     int
720 0x00005607      VT_WAITACTIVE   int
721 0x00005608      VT_DISALLOCATE  int
722 0x00005609      VT_RESIZE       const struct vt_sizes *
723 0x0000560A      VT_RESIZEX      const struct vt_consize *
724 .TE
725
726 // More arguments.  いくつかの ioctl は追加のポインタを含む構造体へのポインタを使用します。
727 ここでこれらをアルファベット順に説明します。
728
729 \fBCDROMREADAUDIO\fP は入力ポインタ \fIconst struct cdrom_read_audio\ *\fP を使用します。 \fIbuf\fP
730 フィールドは大きさ \fInframes\ * CD_FRAMESIZE_RAW\fP の出力バッファへのポインタです。
731
732 \fBCDROMREADCOOKED\fP, \fBCDROMREADMODE1\fP, \fBCDROMREADMODE2\fP, \fBCDROMREADRAW\fP
733 は入力ポインタ \fIconst struct cdrom_msf\ *\fP を使用します。これらは同じポインタを \fIchar []\fP
734 への出力ポインタとして使用します。 長さは要求によって変化します。 \fBCDROMREADMODE1\fP には、多くのデバイスが CD_FRAMESIZE
735 を使用しますが、光学記憶装置 (光ディスク) のドライバは OPT_BLOCKSIZE を使用します (どちらも同じ値で 2048 です)。
736 .nf
737
738     CDROMREADCOOKED    char [CD_FRAMESIZE]
739     CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]
740     CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]
741     CDROMREADRAW       char [CD_FRAMESIZE_RAW]
742
743 .fi
744 \fBEQL_ENSLAVE\fP, \fBEQL_EMANCIPATE\fP, \fBEQL_GETSLAVECFG\fP, \fBEQL_SETSLAVECFG\fP,
745 \fBEQL_GETMASTERCFG\fP, \fBEQL_SETMASTERCFG\fP は \fIstruct ifreq\ *\fP を使用します。
746 \fIifr_data\fP フィールドは以下に示す別の構造体へのポインタです:
747 .nf
748
749     EQL_ENSLAVE         const struct slaving_request *
750     EQL_EMANCIPATE      const struct slaving_request *
751     EQL_GETSLAVECFG     struct slave_config *           // I\-O
752     EQL_SETSLAVECFG     const struct slave_config *
753     EQL_GETMASTERCFG    struct master_config *
754     EQL_SETMASTERCFG    const struct master_config *
755
756 .fi
757 \fBFDRAWCMD\fP は \fIstruct floppy raw_cmd\ *\fP を使用します。 \fIflags & FD_RAW_WRITE\fP
758 がゼロ以外の場合、 \fIdata\fP は大きさ \fIlength\fP の入力バッファへのポインタになります。 \fIflags & FD_RAW_READ\fP
759 がゼロ以外の場合、 \fIdata\fP は大きさ \fIlength\fP の出力バッファへのポインタになります。
760
761 \fBGIO_FONTX\fP, \fBPIO_FONTX\fP はそれぞれ \fIstruct console_font_desc\ *\fP と \fIconst
762 struct console_font_desc\ *\fP を使用します。 \fIchardata\fP は \fIchar [charcount]\fP
763 バッファへのポインタです。 これは \fBGIO_FONTX\fP の出力バッファと \fBPIO_FONTX\fP の入力バッファです。
764
765 \fBGIO_UNIMAP\fP, \fBPIO_UNIMAP\fP はそれぞれ \fIstruct unimapdesc\ *\fP と \fIconst struct
766 unimapdesc\ *\fP を使用します。 \fIentries\fP は \fIstruct unipair [entry_ct]\fP
767 バッファへのポインタです。 これは \fBGIO_UNIMAP\fP の出力バッファと \fBPIO_UNIMAP\fP の入力バッファです。
768
769 KDADDIO, KDDELIO, KDDISABIO, KDENABIO は I/O ポートへのアクセスを
770 可能/不可能にします。これらは本質的に、'ioperm' への別の インターフェースです。
771
772 \fBKDMAPDISP\fP, \fBKDUNMAPDISP\fP はメモリ・マッピングや I/O ポートへのアクセスを可能/不可能にします。
773 これらはカーネルに実装されていません。
774
775 \fBSCSI_IOCTL_PROBE_HOST\fP は入力ポインタ \fIconst int\ *\fP を大きさとして使用します。これは同じ大きさの
776 \fIchar []\fP バッファ への出力ポインタとしても使用します。
777
778 \fBSIOCADDRT\fP, \fBSIOCDELRT\fP は型が以下のプロトコルに依存する入力ポインタを使用します:
779 .nf
780
781     Most protocols      const struct rtentry *
782     AX.25               const struct ax25_route *
783     NET/ROM             const struct nr_route_struct *
784
785 .fi
786 \fBSIOCGIFCONF\fP は \fIstruct ifconf\ *\fP を使用します。この \fIifc_buf\fP フィールドは長さ
787 \fIifc_len\fP バイトのバッファへのポインタです。 これにカーネルが \fIstruct ifreq []\fP 型のリストへ書き込みます。
788
789 \fBSIOCSIFHWADDR\fP は型が以下のプロトコルに依存する入力ポインタを使用します:
790 .nf
791
792     Most protocols      const struct ifreq *
793     AX.25               const char [AX25_ADDR_LEN]
794
795 .fi
796 \fBTIOCLINUX\fP は \fIconst char\ *\fP を使用します。このポインタをいくつかの
797 独立したサブクラスを識別する為に使用します。以下のテーブルの中で、 \fIN + foo\fP は N バイトの詰めものの後にある \fIfoo\fP
798 を意味します。 \fIstruct selection\fP は暗黙的に \fIdrivers/char/selection.c\fP の中で定義されています。
799 .nf
800
801     TIOCLINUX\-2         1 + const struct selection *
802     TIOCLINUX\-3         void
803     TIOCLINUX\-4         void
804     TIOCLINUX\-5         4 + const struct { long [8]; } *
805     TIOCLINUX\-6         char *
806     TIOCLINUX\-7         char *
807     TIOCLINUX\-10        1 + const char *
808
809 .fi
810 // Duplicate ioctls
811
812 このリストは \fBSIOCDEVPRIVATE\fP から \fBSIOCPROTOPRIVATE\fP の範囲の ioctl を含んでいません。
813 .TS
814 l l l.
815 0x00000001      FDSETPRM        FIBMAP
816 0x00000002      FDDEFPRM        FIGETBSZ
817 0x00005382      CDROMAUDIOBUFSIZ        SCSI_IOCTL_GET_IDLUN
818 0x00005402      SNDCTL_TMR_START        TCSETS
819 0x00005403      SNDCTL_TMR_STOP TCSETSW
820 0x00005404      SNDCTL_TMR_CONTINUE     TCSETSF
821 .TE
822 .SH 関連項目
823 \fBioctl\fP(2)
824 .SH この文書について
825 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
826 である。プロジェクトの説明とバグ報告に関する情報は
827 http://www.kernel.org/doc/man\-pages/ に書かれている。