OSDN Git Service

(split) LDP v3.30, v3.31 の定型的な変更内容を反映。
[linuxjm/LDP_man-pages.git] / draft / man2 / ioctl_list.2
1 .\" Ioctl List 1.3.27
2 .\" Sun 17 Sep 1995
3 .\" Michael Elizabeth Chastain
4 .\" <mec@duracef.shout.net>
5 .\"
6 .\" // Copyright
7 .\"
8 .\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain.
9 .\" It is licensed under the Gnu Public License, Version 2.
10 .\"
11 .\"
12 .\"
13 .\" // Change Log
14 .\"
15 .\" 1.3.27      421 ioctls.
16 .\"     Type information for non-pointer args.
17 .\"     SIOCDEVPRIVATE, SIOCPROTOPRIVATE ioctls.
18 .\"     Descriptions of extended arguments.
19 .\"
20 .\" 1.2.9       365 ioctls.
21 .\"     First public version.
22 .\"
23 .\"
24 .\" 2007-12-29 Alain Portal <aportal@univ-montp2.fr> and Michael Kerrisk
25 .\"     <mtk.manpages@gmail.com>:
26 .\"          Various formatting improvements
27 .\"
28 .\" Japanese Version Copyright (c) 1996 Akira Yoshiyama
29 .\"         all rights reserved.
30 .\" Translated Sun Jun 30 20:46:54 JST 1996
31 .\"         by Akira Yoshiyama <yosshy@jedi.seg.kobe-u.ac.jp>
32 .\" Modified Sat Dec 13 20:25:06 JST 1997
33 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
34 .\" Updated & Modified Wed May 19 05:31:50 JST 2004
35 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
36 .\" Updated 2008-02-12, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.77
37 .\"
38 .TH IOCTL_LIST 2 2007-12-29 "Linux" "Linux Programmer's Manual"
39 .\"O .SH NAME
40 .SH Ì¾Á°
41 .\"O ioctl_list \- list of ioctl calls in Linux/i386 kernel
42 ioctl_list \- Linux/i386 ¥«¡¼¥Í¥ë¤Î ioctl ¤Î¥ê¥¹¥È
43 .\"O .SH DESCRIPTION
44 .SH ÀâÌÀ
45 .\"O This is Ioctl List 1.3.27, a list of ioctl calls in Linux/i386 kernel
46 .\"O 1.3.27.
47 .\"O It contains 421 ioctls from
48 .\"O .IR </usr/include/{asm,linux}/*.h> .
49 .\"O For each ioctl, its numerical value, its name, and its argument
50 .\"O type are given.
51 ¤³¤Îʸ¾Ï¤Ï ioctl ¥ê¥¹¥È 1.3.27¡¢¤Ä¤Þ¤ê Linux/i386 ¥«¡¼¥Í¥ë 1.3.27 ¤Ë
52 ¤ª¤±¤ë ioctl ¥³¡¼¥ë¤Î°ìÍ÷¤Ç¤¹¡£¤³¤Î¥ê¥¹¥È¤Ï
53 .I </usr/include/{asm,linux}/*.h>
54 ¤Ë¤¢¤ë 421 ¤Î ioctl ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£Á´¤Æ¤Î ioctl ¤ËÂФ·¤Æ¡¢¿ôÃÍ¡¢Ì¾¾Î¡¢
55 °ú¤­¿ô¤Î·¿¤òÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£
56 .PP
57 .\"O An argument type of
58 .\"O .I const struct foo *
59 .\"O means the argument is input to the kernel.
60 .\"O .I struct foo *
61 .\"O means the kernel outputs the argument.
62 .\"O If the kernel uses the argument for both input and output, this is
63 .\"O marked with \fI//\ I-O\fP.
64 °ú¤­¿ô·¿
65 .I const struct foo *
66 ¤Ï¡¢¤½¤Î°ú¤­¿ô¤¬¥«¡¼¥Í¥ë¤Ø¤ÎÆþÎϤǤ¢¤ë»ö¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢
67 .I struct foo *
68 ¤Ï¡¢¤½¤Î°ú¤­¿ô¤¬¥«¡¼¥Í¥ë¤«¤é¤Î½ÐÎϤǤ¢¤ë»ö¤ò°ÕÌ£¤·¤Þ¤¹¡£
69 ¥«¡¼¥Í¥ë¤¬¤½¤Î°ú¤­¿ô¤òÆþÎϤȽÐÎϤÎξÊý¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
70 \fI//\ I-O\fP ¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¤¢¤ê¤Þ¤¹¡£
71 .PP
72 .\"O Some ioctls take more arguments or return more values than a single
73 .\"O structure.
74 .\"O These are marked \fI//\ MORE\fP and documented further in a
75 .\"O separate section.
76 ¤¤¤¯¤Ä¤«¤Î ioctl ¤ÏÊ£¿ô¤Î¹½Â¤ÂΤΰú¤­¿ô¤òɬÍפȤ·¤¿¤ê¡¢ÃͤòÊÖ¤·¤¿¤ê
77 ¤·¤Þ¤¹¡£¤³¤ì¤é¤Ë¤Ï \fI//\ MORE\fP ¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢
78 ¤µ¤é¤ËʬΥ¤·¤¿¥»¥¯¥·¥ç¥ó¤ÇÀâÌÀ¤·¤Æ¤¢¤ê¤Þ¤¹¡£
79 .PP
80 .\"O This list is very incomplete.
81 ¤³¤Î¥ê¥¹¥È¤ÏÉÔ´°Á´¤Ç¤¹¡£
82 .\"O .SS "ioctl structure"
83 .SS "ioctl ¤Î¹½Â¤"
84 .\"O .\" added two sections - aeb
85 .\" 2 ¤Ä¤Î¥»¥¯¥·¥ç¥ó¤òÄɲà- aeb
86 .\"O Ioctl command values are 32-bit constants.
87 .\"O In principle these constants are completely arbitrary, but people have
88 .\"O tried to build some structure into them.
89 ioctl ¥³¥Þ¥ó¥É¤ÎÃͤϠ32 ¥Ó¥Ã¥È¤ÎÄê¿ô¤Ç¤¹¡£
90 ¸¶Â§¤È¤·¤Æ¡¢¤³¤ì¤é¤ÎÄê¿ô¤ÏÁ´¤¯Ç¤°Õ¤Î¤â¤Î¤Ç¤¹¤¬¡¢
91 À߷׼Ԥϲ¿¤é¤«¤Î¹½Â¤¤ò¤³¤ì¤é¤ÎÄê¿ô¤ËÁȤ߹þ¤â¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
92 .LP
93 .\"O The old Linux situation was that of mostly 16-bit constants, where the
94 .\"O last byte is a serial number, and the preceding byte(s) give a type
95 .\"O indicating the driver.
96 .\"O Sometimes the major number was used: 0x03
97 .\"O for the
98 .\"O .B HDIO_*
99 .\"O ioctls, 0x06 for the
100 .\"O .B LP*
101 .\"O ioctls.
102 .\"O And sometimes
103 .\"O one or more ASCII letters were used.
104 .\"O For example,
105 .\"O .B TCGETS
106 .\"O has value
107 .\"O 0x00005401, with 0x54 = \(aqT\(aq indicating the terminal driver, and
108 .\"O .B CYGETTIMEOUT
109 .\"O has value 0x00435906, with 0x43 0x59 = \(aqC\(aq \(aqY\(aq
110 .\"O indicating the cyclades driver.
111 ÀΤΠLinux ¤Ç¤Ï¡¢ÂçÉôʬ¤Ï 16 ¥Ó¥Ã¥È¤ÎÄê¿ô¤Ç¤¢¤ê¡¢
112 ²¼°Ì¥Ð¥¤¥È¤Ï¥·¥ê¥¢¥ëÈÖ¹æ¤Ç¡¢¾å°Ì¥Ð¥¤¥È¤Ï¥É¥é¥¤¥Ð¤Î¥¿¥¤¥×¤òɽ¤·¤Æ¤¤¤Þ¤·¤¿¡£
113 ¥á¥¸¥ã¡¼Èֹ椬»È¤ï¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤·¤¿:
114 0x03 ¤¬
115 .B HDIO_*
116 ioctl, 0x06 ¤¬
117 .B LP*
118 ioctl ¤Ê¤É¤Ç¤¹¡£
119 1 Ê¸»ú°Ê¾å¤Î ASCII Ê¸»úÎ󤬻Ȥï¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤·¤¿¡£
120 ¤¿¤È¤¨¤Ð
121 .B TCGETS
122 ¤ÎÃͤϠ0x00005401 ¤Ç¤¢¤ê¡¢
123 0x54 = \(aqT\(aq ¤Ç¥¿¡¼¥ß¥Ê¥ë¥É¥é¥¤¥Ð¤òɽ¤·¤Þ¤¹¡£
124 .B CYGETTIMEOUT
125 ¤ÎÃͤϠ0x00435906 ¤Ç¤¢¤ê¡¢
126 0x43 0x59 = \(aqC\(aq \(aqY\(aq ¤Ç cyclades ¥É¥é¥¤¥Ð¤òɽ¤·¤Þ¤¹¡£
127 .LP
128 .\"O Later (0.98p5) some more information was built into the number.
129 .\"O One has 2 direction bits
130 .\"O (00: none, 01: write, 10: read, 11: read/write)
131 .\"O followed by 14 size bits (giving the size of the argument),
132 .\"O followed by an 8-bit type (collecting the ioctls in groups
133 .\"O for a common purpose or a common driver), and an 8-bit
134 .\"O serial number.
135 ¸å¤Î»þÂå (0.98p5) ¤Ë¤Ê¤ë¤È¡¢
136 ¤è¤ê¿¤¯¤Î¾ðÊ󤬿ôÃͤËÁȤ߹þ¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
137 1 ¤Ä¤Î¿ôÃͤϡ¢Æɤ߽ñ¤­¤ÎÊý¸þ¤òɽ¤¹ 2 ¥Ó¥Ã¥È
138 (00: Æɤ߽ñ¤­¤Ê¤·, 01: ½ñ¤­¹þ¤ß, 10: Æɤ߹þ¤ß, 11: Æɤ߹þ¤ß/½ñ¤­¹þ¤ß)¡¢
139 (°ú¤­¿ô¤Î¥µ¥¤¥º¤òɽ¤¹) 14 ¥Ó¥Ã¥È¡¢
140 (¶¦Ä̤ÎÌÜŪ¤Þ¤¿¤Ï¶¦Ä̤Υɥ饤¥Ð¤Ç ioctl ¤ò¥°¥ë¡¼¥×¤Ë¤¹¤ë¤¿¤á¤Î)
141 8 ¥Ó¥Ã¥È¤Î¥¿¥¤¥×¡¢8 ¥Ó¥Ã¥È¤Î¥·¥ê¥¢¥ëÈֹ椫¤é¹½À®¤µ¤ì¤Þ¤¹¡£
142 .LP
143 .\"O The macros describing this structure live in \fI<asm/ioctl.h>\fP
144 .\"O and are
145 .\"O .B _IO(type,nr)
146 .\"O and
147 .\"O .BR "{_IOR,_IOW,_IOWR}(type,nr,size)" .
148 .\"O They use
149 .\"O .I sizeof(size)
150 .\"O so that size is a
151 .\"O misnomer here: this third argument is a data type.
152 ¤³¤Î¹½Â¤¤òµ­½Ò¤¹¤ë¥Þ¥¯¥í¤Ï \fI<asm/ioctl.h>\fP ¤Ë¤¢¤ê¡¢
153 .B _IO(type,nr)
154 ¤È
155 .B "{_IOR,_IOW,_IOWR}(type,nr,size)"
156 ¤Ç¤¹¡£
157 ¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ï
158 .I sizeof(size)
159 ¤ò»È¤¦¤Î¤Ç¡¢
160 ¤³¤³¤Ç size ¤È¤¤¤¦Ì¾Á°¤Ë¤·¤Æ¤¤¤ë¤Î¤Ï´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹:
161 ¤³¤Î 3 ¤ÄÌܤΰú¤­¿ô¤Ï¥Ç¡¼¥¿¥¿¥¤¥×¤Ç¤¹¡£
162 .LP
163 .\"O Note that the size bits are very unreliable: in lots of cases
164 .\"O they are wrong, either because of buggy macros using
165 .\"O .IR sizeof(sizeof(struct)) ,
166 .\"O or because of legacy values.
167 size ¥Ó¥Ã¥È¤ÏÁ´¤¯Åö¤Æ¤Ë¤Ê¤é¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤:
168 ¿¤¯¤Î¾ì¹ç¡¢´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹¡£
169 ¤³¤ì¤Ï
170 .I sizeof(sizeof(struct))
171 ¤ò»È¤Ã¤¿¥Ð¥°¤ò´Þ¤ó¤À¥Þ¥¯¥í¤ä¡¢²áµî¤«¤é¼õ¤±·Ñ¤¤¤ÀÃͤ¬¸¶°ø¤Ç¤¹¡£
172 .LP
173 .\"O Thus, it seems that the new structure only gave disadvantages:
174 .\"O it does not help in checking, but it causes varying values
175 .\"O for the various architectures.
176 ¤·¤¿¤¬¤Ã¤Æ¡¢¿·¤·¤¤¹½Â¤¤ÏÉÔÅÔ¹ç¤ÊÅÀ¤·¤«¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹:
177 ¤³¤Î¹½Â¤¤Ï¥Á¥§¥Ã¥¯¤Î¼ê½õ¤±¤Ë¤Ï¤Ê¤é¤º¡¢
178 ÍÍ¡¹¤Ê¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤è¤Ã¤ÆÃͤòÊѲ½¤µ¤»¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
179 .\"O .SH "RETURN VALUE"
180 .SH ÊÖ¤êÃÍ
181 .\"O Decent ioctls return 0 on success and \-1 on error, while
182 .\"O any output value is stored via the argument.
183 .\"O However,
184 .\"O quite a few ioctls in fact return an output value.
185 .\"O This is not yet indicated below.
186 ¤­¤Á¤ó¤È¤·¤¿ ioctl ¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤·¡¢
187 ¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤òÊÖ¤·¤Þ¤¹¡£
188 ¤Þ¤¿½ÐÎÏÃͤϰú¤­¿ô¤Ë³ÊǼ¤·¤Þ¤¹¡£
189 ¤·¤«¤·¼ÂºÝ¤Ï¡¢¤«¤Ê¤ê¿¤¯¤Î ioctl ¤¬½ÐÎÏÃͤòÊÖ¤·¤Þ¤¹¡£
190 ¤³¤ì¤Ïº£¤Î¤È¤³¤í°Ê²¼¤Ç¤Ï¼¨¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
191
192 // Main table.
193
194 // <include/asm-i386/socket.h>
195 .TS
196 l l l.
197 0x00008901      FIOSETOWN       const int *
198 0x00008902      SIOCSPGRP       const int *
199 0x00008903      FIOGETOWN       int *
200 0x00008904      SIOCGPGRP       int *
201 0x00008905      SIOCATMAR       int *
202 0x00008906      SIOCGSTAMP      timeval *
203 .TE
204
205 // <include/asm-i386/termios.h>
206 .TS
207 l l l l.
208 0x00005401      TCGETS  struct termios *
209 0x00005402      TCSETS  const struct termios *
210 0x00005403      TCSETSW const struct termios *
211 0x00005404      TCSETSF const struct termios *
212 0x00005405      TCGETA  struct termio *
213 0x00005406      TCSETA  const struct termio *
214 0x00005407      TCSETAW const struct termio *
215 0x00005408      TCSETAF const struct termio *
216 0x00005409      TCSBRK  int
217 0x0000540A      TCXONC  int
218 0x0000540B      TCFLSH  int
219 0x0000540C      TIOCEXCL        void
220 0x0000540D      TIOCNXCL        void
221 0x0000540E      TIOCSCTTY       int
222 0x0000540F      TIOCGPGRP       pid_t *
223 0x00005410      TIOCSPGRP       const pid_t *
224 0x00005411      TIOCOUTQ        int *
225 0x00005412      TIOCSTI const char *
226 0x00005413      TIOCGWINSZ      struct winsize *
227 0x00005414      TIOCSWINSZ      const struct winsize *
228 0x00005415      TIOCMGET        int *
229 0x00005416      TIOCMBIS        const int *
230 0x00005417      TIOCMBIC        const int *
231 0x00005418      TIOCMSET        const int *
232 0x00005419      TIOCGSOFTCAR    int *
233 0x0000541A      TIOCSSOFTCAR    const int *
234 0x0000541B      FIONREAD        int *
235 0x0000541B      TIOCINQ int *
236 0x0000541C      TIOCLINUX       const char *    // MORE
237 0x0000541D      TIOCCONS        void
238 0x0000541E      TIOCGSERIAL     struct serial_struct *
239 0x0000541F      TIOCSSERIAL     const struct serial_struct *
240 0x00005420      TIOCPKT const int *
241 0x00005421      FIONBIO const int *
242 0x00005422      TIOCNOTTY       void
243 0x00005423      TIOCSETD        const int *
244 0x00005424      TIOCGETD        int *
245 0x00005425      TCSBRKP int
246 0x00005426      TIOCTTYGSTRUCT  struct tty_struct *
247 0x00005450      FIONCLEX        void
248 0x00005451      FIOCLEX void
249 0x00005452      FIOASYNC        const int *
250 0x00005453      TIOCSERCONFIG   void
251 0x00005454      TIOCSERGWILD    int *
252 0x00005455      TIOCSERSWILD    const int *
253 0x00005456      TIOCGLCKTRMIOS  struct termios *
254 0x00005457      TIOCSLCKTRMIOS  const struct termios *
255 0x00005458      TIOCSERGSTRUCT  struct async_struct *
256 0x00005459      TIOCSERGETLSR   int *
257 0x0000545A      TIOCSERGETMULTI struct serial_multiport_struct *
258 0x0000545B      TIOCSERSETMULTI const struct serial_multiport_struct *
259 .TE
260
261 // <include/linux/ax25.h>
262 .TS
263 l l l l.
264 0x000089E0      SIOCAX25GETUID  const struct sockaddr_ax25 *
265 0x000089E1      SIOCAX25ADDUID  const struct sockaddr_ax25 *
266 0x000089E2      SIOCAX25DELUID  const struct sockaddr_ax25 *
267 0x000089E3      SIOCAX25NOUID   const int *
268 0x000089E4      SIOCAX25DIGCTL  const int *
269 0x000089E5      SIOCAX25GETPARMS        struct ax25_parms_struct *      // I-O
270 0x000089E6      SIOCAX25SETPARMS        const struct ax25_parms_struct *
271 .TE
272
273 // <include/linux/cdk.h>
274 .TS
275 l l l l.
276 0x00007314      STL_BINTR       void
277 0x00007315      STL_BSTART      void
278 0x00007316      STL_BSTOP       void
279 0x00007317      STL_BRESET      void
280 .TE
281
282 // <include/linux/cdrom.h>
283 .TS
284 l l l l.
285 0x00005301      CDROMPAUSE      void
286 0x00005302      CDROMRESUME     void
287 0x00005303      CDROMPLAYMSF    const struct cdrom_msf *
288 0x00005304      CDROMPLAYTRKIND const struct cdrom_ti *
289 0x00005305      CDROMREADTOCHDR struct cdrom_tochdr *
290 0x00005306      CDROMREADTOCENTRY       struct cdrom_tocentry * // I-O
291 0x00005307      CDROMSTOP       void
292 0x00005308      CDROMSTART      void
293 0x00005309      CDROMEJECT      void
294 0x0000530A      CDROMVOLCTRL    const struct cdrom_volctrl *
295 0x0000530B      CDROMSUBCHNL    struct cdrom_subchnl *  // I-O
296 0x0000530C      CDROMREADMODE2  const struct cdrom_msf *        // MORE
297 0x0000530D      CDROMREADMODE1  const struct cdrom_msf *        // MORE
298 0x0000530E      CDROMREADAUDIO  const struct cdrom_read_audio * // MORE
299 0x0000530F      CDROMEJECT_SW   int
300 0x00005310      CDROMMULTISESSION       struct cdrom_multisession *     // I-O
301 0x00005311      CDROM_GET_UPC   struct { char [8]; } *
302 0x00005312      CDROMRESET      void
303 0x00005313      CDROMVOLREAD    struct cdrom_volctrl *
304 0x00005314      CDROMREADRAW    const struct cdrom_msf *        // MORE
305 0x00005315      CDROMREADCOOKED const struct cdrom_msf *        // MORE
306 0x00005316      CDROMSEEK       const struct cdrom_msf *
307 .TE
308
309 // <include/linux/cm206.h>
310 .TS
311 l l l l.
312 0x00002000      CM206CTL_GET_STAT       int
313 0x00002001      CM206CTL_GET_LAST_STAT  int
314 .TE
315
316 // <include/linux/cyclades.h>
317 .TS
318 l l l l.
319 0x00435901      CYGETMON        struct cyclades_monitor *
320 0x00435902      CYGETTHRESH     int *
321 0x00435903      CYSETTHRESH     int
322 0x00435904      CYGETDEFTHRESH  int *
323 0x00435905      CYSETDEFTHRESH  int
324 0x00435906      CYGETTIMEOUT    int *
325 0x00435907      CYSETTIMEOUT    int
326 0x00435908      CYGETDEFTIMEOUT int *
327 0x00435909      CYSETDEFTIMEOUT int
328 .TE
329
330 // <include/linux/ext2_fs.h>
331 .TS
332 l l l l.
333 0x80046601      EXT2_IOC_GETFLAGS       int *
334 0x40046602      EXT2_IOC_SETFLAGS       const int *
335 0x80047601      EXT2_IOC_GETVERSION     int *
336 0x40047602      EXT2_IOC_SETVERSION     const int *
337 .TE
338
339 // <include/linux/fd.h>
340 .TS
341 l l l l.
342 0x00000000      FDCLRPRM        void
343 0x00000001      FDSETPRM        const struct floppy_struct *
344 0x00000002      FDDEFPRM        const struct floppy_struct *
345 0x00000003      FDGETPRM        struct floppy_struct *
346 0x00000004      FDMSGON void
347 0x00000005      FDMSGOFF        void
348 0x00000006      FDFMTBEG        void
349 0x00000007      FDFMTTRK        const struct format_descr *
350 0x00000008      FDFMTEND        void
351 0x0000000A      FDSETEMSGTRESH  int
352 0x0000000B      FDFLUSH void
353 0x0000000C      FDSETMAXERRS    const struct floppy_max_errors *
354 0x0000000E      FDGETMAXERRS    struct floppy_max_errors *
355 0x00000010      FDGETDRVTYP     struct { char [16]; } *
356 0x00000014      FDSETDRVPRM     const struct floppy_drive_params *
357 0x00000015      FDGETDRVPRM     struct floppy_drive_params *
358 0x00000016      FDGETDRVSTAT    struct floppy_drive_struct *
359 0x00000017      FDPOLLDRVSTAT   struct floppy_drive_struct *
360 0x00000018      FDRESET int
361 0x00000019      FDGETFDCSTAT    struct floppy_fdc_state *
362 0x0000001B      FDWERRORCLR     void
363 0x0000001C      FDWERRORGET     struct floppy_write_errors *
364 0x0000001E      FDRAWCMD        struct floppy_raw_cmd * // MORE // I-O
365 0x00000028      FDTWADDLE       void
366 .TE
367
368 // <include/linux/fs.h>
369 .TS
370 l l l l.
371 0x0000125D      BLKROSET        const int *
372 0x0000125E      BLKROGET        int *
373 0x0000125F      BLKRRPART       void
374 0x00001260      BLKGETSIZE      unsigned long *
375 0x00001261      BLKFLSBUF       void
376 0x00001262      BLKRASET        int
377 0x00001263      BLKRAGET        int *
378 0x00000001      FIBMAP  int *   // I-O
379 0x00000002      FIGETBSZ        int *
380 .TE
381
382 // <include/linux/hdreg.h>
383 .TS
384 l l l l.
385 0x00000301      HDIO_GETGEO     struct hd_geometry *
386 0x00000302      HDIO_GET_UNMASKINTR     int *
387 0x00000304      HDIO_GET_MULTCOUNT      int *
388 0x00000307      HDIO_GET_IDENTITY       struct hd_driveid *
389 0x00000308      HDIO_GET_KEEPSETTINGS   int *
390 0x00000309      HDIO_GET_CHIPSET        int *
391 0x0000030A      HDIO_GET_NOWERR int *
392 0x0000030B      HDIO_GET_DMA    int *
393 0x0000031F      HDIO_DRIVE_CMD  int *   // I-O
394 0x00000321      HDIO_SET_MULTCOUNT      int
395 0x00000322      HDIO_SET_UNMASKINTR     int
396 0x00000323      HDIO_SET_KEEPSETTINGS   int
397 0x00000324      HDIO_SET_CHIPSET        int
398 0x00000325      HDIO_SET_NOWERR int
399 0x00000326      HDIO_SET_DMA    int
400 .TE
401
402 // <include/linux/if_eql.h>
403 .TS
404 l l l l.
405 0x000089F0      EQL_ENSLAVE     struct ifreq *  // MORE // I-O
406 0x000089F1      EQL_EMANCIPATE  struct ifreq *  // MORE // I-O
407 0x000089F2      EQL_GETSLAVECFG struct ifreq *  // MORE // I-O
408 0x000089F3      EQL_SETSLAVECFG struct ifreq *  // MORE // I-O
409 0x000089F4      EQL_GETMASTRCFG struct ifreq *  // MORE // I-O
410 0x000089F5      EQL_SETMASTRCFG struct ifreq *  // MORE // I-O
411 .TE
412
413 // <include/linux/if_plip.h>
414 .TS
415 l l l l.
416 0x000089F0      SIOCDEVPLIP     struct ifreq *  // I-O
417 .TE
418
419 // <include/linux/if_ppp.h>
420 .TS
421 l l l l.
422 0x00005490      PPPIOCGFLAGS    int *
423 0x00005491      PPPIOCSFLAGS    const int *
424 0x00005492      PPPIOCGASYNCMAP int *
425 0x00005493      PPPIOCSASYNCMAP const int *
426 0x00005494      PPPIOCGUNIT     int *
427 0x00005495      PPPIOCSINPSIG   const int *
428 0x00005497      PPPIOCSDEBUG    const int *
429 0x00005498      PPPIOCGDEBUG    int *
430 0x00005499      PPPIOCGSTAT     struct ppp_stats *
431 0x0000549A      PPPIOCGTIME     struct ppp_ddinfo *
432 0x0000549B      PPPIOCGXASYNCMAP        struct { int [8]; } *
433 0x0000549C      PPPIOCSXASYNCMAP        const struct { int [8]; } *
434 0x0000549D      PPPIOCSMRU      const int *
435 0x0000549E      PPPIOCRASYNCMAP const int *
436 0x0000549F      PPPIOCSMAXCID   const int *
437 .TE
438
439 // <include/linux/ipx.h>
440 .TS
441 l l l l.
442 0x000089E0      SIOCAIPXITFCRT  const char *
443 0x000089E1      SIOCAIPXPRISLT  const char *
444 0x000089E2      SIOCIPXCFGDATA  struct ipx_config_data *
445 .TE
446
447 // <include/linux/kd.h>
448 .TS
449 l l l l.
450 0x00004B60      GIO_FONT        struct { char [8192]; } *
451 0x00004B61      PIO_FONT        const struct { char [8192]; } *
452 0x00004B6B      GIO_FONTX       struct console_font_desc *      // MORE // I-O
453 0x00004B6C      PIO_FONTX       const struct console_font_desc *        //MORE
454 0x00004B70      GIO_CMAP        struct { char [48]; } *
455 0x00004B71      PIO_CMAP        const struct { char [48]; }
456 0x00004B2F      KIOCSOUND       int
457 0x00004B30      KDMKTONE        int
458 0x00004B31      KDGETLED        char *
459 0x00004B32      KDSETLED        int
460 0x00004B33      KDGKBTYPE       char *
461 0x00004B34      KDADDIO int     // MORE
462 0x00004B35      KDDELIO int     // MORE
463 0x00004B36      KDENABIO        void    // MORE
464 0x00004B37      KDDISABIO       void    // MORE
465 0x00004B3A      KDSETMODE       int
466 0x00004B3B      KDGETMODE       int *
467 0x00004B3C      KDMAPDISP       void    // MORE
468 0x00004B3D      KDUNMAPDISP     void    // MORE
469 0x00004B40      GIO_SCRNMAP     struct { char [E_TABSZ]; } *
470 0x00004B41      PIO_SCRNMAP     const struct { char [E_TABSZ]; } *
471 0x00004B69      GIO_UNISCRNMAP  struct { short [E_TABSZ]; } *
472 0x00004B6A      PIO_UNISCRNMAP  const struct { short [E_TABSZ]; } *
473 0x00004B66      GIO_UNIMAP      struct unimapdesc *     // MORE // I-O
474 0x00004B67      PIO_UNIMAP      const struct unimapdesc *       // MORE
475 0x00004B68      PIO_UNIMAPCLR   const struct unimapinit *
476 0x00004B44      KDGKBMODE       int *
477 0x00004B45      KDSKBMODE       int
478 0x00004B62      KDGKBMETA       int *
479 0x00004B63      KDSKBMETA       int
480 0x00004B64      KDGKBLED        int *
481 0x00004B65      KDSKBLED        int
482 0x00004B46      KDGKBENT        struct kbentry *        // I-O
483 0x00004B47      KDSKBENT        const struct kbentry *
484 0x00004B48      KDGKBSENT       struct kbsentry *       // I-O
485 0x00004B49      KDSKBSENT       const struct kbsentry *
486 0x00004B4A      KDGKBDIACR      struct kbdiacrs *
487 0x00004B4B      KDSKBDIACR      const struct kbdiacrs *
488 0x00004B4C      KDGETKEYCODE    struct kbkeycode *      // I-O
489 0x00004B4D      KDSETKEYCODE    const struct kbkeycode *
490 0x00004B4E      KDSIGACCEPT     int
491 .TE
492
493 // <include/linux/lp.h>
494 .TS
495 l l l l.
496 0x00000601      LPCHAR  int
497 0x00000602      LPTIME  int
498 0x00000604      LPABORT int
499 0x00000605      LPSETIRQ        int
500 0x00000606      LPGETIRQ        int *
501 0x00000608      LPWAIT  int
502 0x00000609      LPCAREFUL       int
503 0x0000060A      LPABORTOPEN     int
504 0x0000060B      LPGETSTATUS     int *
505 0x0000060C      LPRESET void
506 0x0000060D      LPGETSTATS      struct lp_stats *
507 .TE
508
509 // <include/linux/mroute.h>
510 .TS
511 l l l l.
512 0x000089E0      SIOCGETVIFCNT   struct sioc_vif_req *   // I-O
513 0x000089E1      SIOCGETSGCNT    struct sioc_sg_req *    // I-O
514 .TE
515
516 // <include/linux/mtio.h>
517 .TS
518 l l l l.
519 0x40086D01      MTIOCTOP        const struct mtop *
520 0x801C6D02      MTIOCGET        struct mtget *
521 0x80046D03      MTIOCPOS        struct mtpos *
522 0x80206D04      MTIOCGETCONFIG  struct mtconfiginfo *
523 0x40206D05      MTIOCSETCONFIG  const struct mtconfiginfo *
524 .TE
525
526 // <include/linux/netrom.h>
527 .TS
528 l l l l.
529 0x000089E0      SIOCNRGETPARMS  struct nr_parms_struct *        // I-O
530 0x000089E1      SIOCNRSETPARMS  const struct nr_parms_struct *
531 0x000089E2      SIOCNRDECOBS    void
532 0x000089E3      SIOCNRRTCTL     const int *
533 .TE
534
535 // <include/linux/sbpcd.h>
536 .TS
537 l l l l.
538 0x00009000      DDIOCSDBG       const int *
539 0x00005382      CDROMAUDIOBUFSIZ        int
540 .TE
541
542 // <include/linux/scc.h>
543 .TS
544 l l l l.
545 0x00005470      TIOCSCCINI      void
546 0x00005471      TIOCCHANINI     const struct scc_modem *
547 0x00005472      TIOCGKISS       struct ioctl_command *  // I-O
548 0x00005473      TIOCSKISS       const struct ioctl_command *
549 0x00005474      TIOCSCCSTAT     struct scc_stat *
550 .TE
551
552 // <include/linux/scsi.h>
553 .TS
554 l l l l.
555 0x00005382      SCSI_IOCTL_GET_IDLUN    struct { int [2]; } *
556 0x00005383      SCSI_IOCTL_TAGGED_ENABLE        void
557 0x00005384      SCSI_IOCTL_TAGGED_DISABLE       void
558 0x00005385      SCSI_IOCTL_PROBE_HOST   const int *     // MORE
559 .TE
560
561 // <include/linux/smb_fs.h>
562 .TS
563 l l l l.
564 0x80027501      SMB_IOC_GETMOUNTUID     uid_t *
565 .TE
566
567 // <include/linux/sockios.h>
568 .TS
569 l l l l.
570 0x0000890B      SIOCADDRT       const struct rtentry *  // MORE
571 0x0000890C      SIOCDELRT       const struct rtentry *  // MORE
572 0x00008910      SIOCGIFNAME     char []
573 0x00008911      SIOCSIFLINK     void
574 0x00008912      SIOCGIFCONF     struct ifconf * // MORE // I-O
575 0x00008913      SIOCGIFFLAGS    struct ifreq *  // I-O
576 0x00008914      SIOCSIFFLAGS    const struct ifreq *
577 0x00008915      SIOCGIFADDR     struct ifreq *  // I-O
578 0x00008916      SIOCSIFADDR     const struct ifreq *
579 0x00008917      SIOCGIFDSTADDR  struct ifreq *  // I-O
580 0x00008918      SIOCSIFDSTADDR  const struct ifreq *
581 0x00008919      SIOCGIFBRDADDR  struct ifreq *  // I-O
582 0x0000891A      SIOCSIFBRDADDR  const struct ifreq *
583 0x0000891B      SIOCGIFNETMASK  struct ifreq *  // I-O
584 0x0000891C      SIOCSIFNETMASK  const struct ifreq *
585 0x0000891D      SIOCGIFMETRIC   struct ifreq *  // I-O
586 0x0000891E      SIOCSIFMETRIC   const struct ifreq *
587 0x0000891F      SIOCGIFMEM      struct ifreq *  // I-O
588 0x00008920      SIOCSIFMEM      const struct ifreq *
589 0x00008921      SIOCGIFMTU      struct ifreq *  // I-O
590 0x00008922      SIOCSIFMTU      const struct ifreq *
591 0x00008923      OLD_SIOCGIFHWADDR       struct ifreq *  // I-O
592 0x00008924      SIOCSIFHWADDR   const struct ifreq *    // MORE
593 0x00008925      SIOCGIFENCAP    int *
594 0x00008926      SIOCSIFENCAP    const int *
595 0x00008927      SIOCGIFHWADDR   struct ifreq *  // I-O
596 0x00008929      SIOCGIFSLAVE    void
597 0x00008930      SIOCSIFSLAVE    void
598 0x00008931      SIOCADDMULTI    const struct ifreq *
599 0x00008932      SIOCDELMULTI    const struct ifreq *
600 0x00008940      SIOCADDRTOLD    void
601 0x00008941      SIOCDELRTOLD    void
602 0x00008950      SIOCDARP        const struct arpreq *
603 0x00008951      SIOCGARP        struct arpreq * // I-O
604 0x00008952      SIOCSARP        const struct arpreq *
605 0x00008960      SIOCDRARP       const struct arpreq *
606 0x00008961      SIOCGRARP       struct arpreq * // I-O
607 0x00008962      SIOCSRARP       const struct arpreq *
608 0x00008970      SIOCGIFMAP      struct ifreq *  // I-O
609 0x00008971      SIOCSIFMAP      const struct ifreq *
610 .TE
611
612 // <include/linux/soundcard.h>
613 .TS
614 l l l l.
615 0x00005100      SNDCTL_SEQ_RESET        void
616 0x00005101      SNDCTL_SEQ_SYNC void
617 0xC08C5102      SNDCTL_SYNTH_INFO       struct synth_info *     // I-O
618 0xC0045103      SNDCTL_SEQ_CTRLRATE     int *   // I-O
619 0x80045104      SNDCTL_SEQ_GETOUTCOUNT  int *
620 0x80045105      SNDCTL_SEQ_GETINCOUNT   int *
621 0x40045106      SNDCTL_SEQ_PERCMODE     void
622 0x40285107      SNDCTL_FM_LOAD_INSTR    const struct sbi_instrument *
623 0x40045108      SNDCTL_SEQ_TESTMIDI     const int *
624 0x40045109      SNDCTL_SEQ_RESETSAMPLES const int *
625 0x8004510A      SNDCTL_SEQ_NRSYNTHS     int *
626 0x8004510B      SNDCTL_SEQ_NRMIDIS      int *
627 0xC074510C      SNDCTL_MIDI_INFO        struct midi_info *      // I-O
628 0x4004510D      SNDCTL_SEQ_THRESHOLD    const int *
629 0xC004510E      SNDCTL_SYNTH_MEMAVL     int *   // I-O
630 0x4004510F      SNDCTL_FM_4OP_ENABLE    const int *
631 0xCFB85110      SNDCTL_PMGR_ACCESS      struct patmgr_info *    // I-O
632 0x00005111      SNDCTL_SEQ_PANIC        void
633 0x40085112      SNDCTL_SEQ_OUTOFBAND    const struct seq_event_rec *
634 0xC0045401      SNDCTL_TMR_TIMEBASE     int *   // I-O
635 0x00005402      SNDCTL_TMR_START        void
636 0x00005403      SNDCTL_TMR_STOP void
637 0x00005404      SNDCTL_TMR_CONTINUE     void
638 0xC0045405      SNDCTL_TMR_TEMPO        int *   // I-O
639 0xC0045406      SNDCTL_TMR_SOURCE       int *   // I-O
640 0x40045407      SNDCTL_TMR_METRONOME    const int *
641 0x40045408      SNDCTL_TMR_SELECT       int *   // I-O
642 0xCFB85001      SNDCTL_PMGR_IFACE       struct patmgr_info *    // I-O
643 0xC0046D00      SNDCTL_MIDI_PRETIME     int *   // I-O
644 0xC0046D01      SNDCTL_MIDI_MPUMODE     const int *
645 0xC0216D02      SNDCTL_MIDI_MPUCMD      struct mpu_command_rec *        // I-O
646 0x00005000      SNDCTL_DSP_RESET        void
647 0x00005001      SNDCTL_DSP_SYNC void
648 0xC0045002      SNDCTL_DSP_SPEED        int *   // I-O
649 0xC0045003      SNDCTL_DSP_STEREO       int *   // I-O
650 0xC0045004      SNDCTL_DSP_GETBLKSIZE   int *   // I-O
651 0xC0045006      SOUND_PCM_WRITE_CHANNELS        int *   // I-O
652 0xC0045007      SOUND_PCM_WRITE_FILTER  int *   // I-O
653 0x00005008      SNDCTL_DSP_POST void
654 0xC0045009      SNDCTL_DSP_SUBDIVIDE    int *   // I-O
655 0xC004500A      SNDCTL_DSP_SETFRAGMENT  int *   // I-O
656 0x8004500B      SNDCTL_DSP_GETFMTS      int *
657 0xC0045005      SNDCTL_DSP_SETFMT       int *   // I-O
658 0x800C500C      SNDCTL_DSP_GETOSPACE    struct audio_buf_info *
659 0x800C500D      SNDCTL_DSP_GETISPACE    struct audio_buf_info *
660 0x0000500E      SNDCTL_DSP_NONBLOCK     void
661 0x80045002      SOUND_PCM_READ_RATE     int *
662 0x80045006      SOUND_PCM_READ_CHANNELS int *
663 0x80045005      SOUND_PCM_READ_BITS     int *
664 0x80045007      SOUND_PCM_READ_FILTER   int *
665 0x00004300      SNDCTL_COPR_RESET       void
666 0xCFB04301      SNDCTL_COPR_LOAD        const struct copr_buffer *
667 0xC0144302      SNDCTL_COPR_RDATA       struct copr_debug_buf * // I-O
668 0xC0144303      SNDCTL_COPR_RCODE       struct copr_debug_buf * // I-O
669 0x40144304      SNDCTL_COPR_WDATA       const struct copr_debug_buf *
670 0x40144305      SNDCTL_COPR_WCODE       const struct copr_debug_buf *
671 0xC0144306      SNDCTL_COPR_RUN struct copr_debug_buf * // I-O
672 0xC0144307      SNDCTL_COPR_HALT        struct copr_debug_buf * // I-O
673 0x4FA44308      SNDCTL_COPR_SENDMSG     const struct copr_msg *
674 0x8FA44309      SNDCTL_COPR_RCVMSG      struct copr_msg *
675 0x80044D00      SOUND_MIXER_READ_VOLUME int *
676 0x80044D01      SOUND_MIXER_READ_BASS   int *
677 0x80044D02      SOUND_MIXER_READ_TREBLE int *
678 0x80044D03      SOUND_MIXER_READ_SYNTH  int *
679 0x80044D04      SOUND_MIXER_READ_PCM    int *
680 0x80044D05      SOUND_MIXER_READ_SPEAKER        int *
681 0x80044D06      SOUND_MIXER_READ_LINE   int *
682 0x80044D07      SOUND_MIXER_READ_MIC    int *
683 0x80044D08      SOUND_MIXER_READ_CD     int *
684 0x80044D09      SOUND_MIXER_READ_IMIX   int *
685 0x80044D0A      SOUND_MIXER_READ_ALTPCM int *
686 0x80044D0B      SOUND_MIXER_READ_RECLEV int *
687 0x80044D0C      SOUND_MIXER_READ_IGAIN  int *
688 0x80044D0D      SOUND_MIXER_READ_OGAIN  int *
689 0x80044D0E      SOUND_MIXER_READ_LINE1  int *
690 0x80044D0F      SOUND_MIXER_READ_LINE2  int *
691 0x80044D10      SOUND_MIXER_READ_LINE3  int *
692 0x80044D1C      SOUND_MIXER_READ_MUTE   int *
693 0x80044D1D      SOUND_MIXER_READ_ENHANCE        int *
694 0x80044D1E      SOUND_MIXER_READ_LOUD   int *
695 0x80044DFF      SOUND_MIXER_READ_RECSRC int *
696 0x80044DFE      SOUND_MIXER_READ_DEVMASK        int *
697 0x80044DFD      SOUND_MIXER_READ_RECMASK        int *
698 0x80044DFB      SOUND_MIXER_READ_STEREODEVS     int *
699 0x80044DFC      SOUND_MIXER_READ_CAPS   int *
700 0xC0044D00      SOUND_MIXER_WRITE_VOLUME        int *   // I-O
701 0xC0044D01      SOUND_MIXER_WRITE_BASS  int *   // I-O
702 0xC0044D02      SOUND_MIXER_WRITE_TREBLE        int *   // I-O
703 0xC0044D03      SOUND_MIXER_WRITE_SYNTH int *   // I-O
704 0xC0044D04      SOUND_MIXER_WRITE_PCM   int *   // I-O
705 0xC0044D05      SOUND_MIXER_WRITE_SPEAKER       int *   // I-O
706 0xC0044D06      SOUND_MIXER_WRITE_LINE  int *   // I-O
707 0xC0044D07      SOUND_MIXER_WRITE_MIC   int *   // I-O
708 0xC0044D08      SOUND_MIXER_WRITE_CD    int *   // I-O
709 0xC0044D09      SOUND_MIXER_WRITE_IMIX  int *   // I-O
710 0xC0044D0A      SOUND_MIXER_WRITE_ALTPCM        int *   // I-O
711 0xC0044D0B      SOUND_MIXER_WRITE_RECLEV        int *   // I-O
712 0xC0044D0C      SOUND_MIXER_WRITE_IGAIN int *   // I-O
713 0xC0044D0D      SOUND_MIXER_WRITE_OGAIN int *   // I-O
714 0xC0044D0E      SOUND_MIXER_WRITE_LINE1 int *   // I-O
715 0xC0044D0F      SOUND_MIXER_WRITE_LINE2 int *   // I-O
716 0xC0044D10      SOUND_MIXER_WRITE_LINE3 int *   // I-O
717 0xC0044D1C      SOUND_MIXER_WRITE_MUTE  int *   // I-O
718 0xC0044D1D      SOUND_MIXER_WRITE_ENHANCE       int *   // I-O
719 0xC0044D1E      SOUND_MIXER_WRITE_LOUD  int *   // I-O
720 0xC0044DFF      SOUND_MIXER_WRITE_RECSRC        int *   // I-O
721 .TE
722
723 // <include/linux/umsdos_fs.h>
724 .TS
725 l l l l.
726 0x000004D2      UMSDOS_READDIR_DOS      struct umsdos_ioctl *   // I-O
727 0x000004D3      UMSDOS_UNLINK_DOS       const struct umsdos_ioctl *
728 0x000004D4      UMSDOS_RMDIR_DOS        const struct umsdos_ioctl *
729 0x000004D5      UMSDOS_STAT_DOS struct umsdos_ioctl *   // I-O
730 0x000004D6      UMSDOS_CREAT_EMD        const struct umsdos_ioctl *
731 0x000004D7      UMSDOS_UNLINK_EMD       const struct umsdos_ioctl *
732 0x000004D8      UMSDOS_READDIR_EMD      struct umsdos_ioctl *   // I-O
733 0x000004D9      UMSDOS_GETVERSION       struct umsdos_ioctl *
734 0x000004DA      UMSDOS_INIT_EMD void
735 0x000004DB      UMSDOS_DOS_SETUP        const struct umsdos_ioctl *
736 0x000004DC      UMSDOS_RENAME_DOS       const struct umsdos_ioctl *
737 .TE
738
739 // <include/linux/vt.h>
740 .TS
741 l l l l.
742 0x00005600      VT_OPENQRY      int *
743 0x00005601      VT_GETMODE      struct vt_mode *
744 0x00005602      VT_SETMODE      const struct vt_mode *
745 0x00005603      VT_GETSTATE     struct vt_stat *
746 0x00005604      VT_SENDSIG      void
747 0x00005605      VT_RELDISP      int
748 0x00005606      VT_ACTIVATE     int
749 0x00005607      VT_WAITACTIVE   int
750 0x00005608      VT_DISALLOCATE  int
751 0x00005609      VT_RESIZE       const struct vt_sizes *
752 0x0000560A      VT_RESIZEX      const struct vt_consize *
753 .TE
754
755 // More arguments.
756 .\"O Some ioctl's take a pointer to a structure which contains additional
757 .\"O pointers.
758 .\"O These are documented here in alphabetical order.
759 ¤¤¤¯¤Ä¤«¤Î ioctl ¤ÏÄɲäΥݥ¤¥ó¥¿¤ò´Þ¤à¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£
760 ¤³¤³¤Ç¤³¤ì¤é¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤ËÀâÌÀ¤·¤Þ¤¹¡£
761
762 .\"O .B CDROMREADAUDIO
763 .\"O takes an input pointer
764 .\"O .IR "const struct cdrom_read_audio *" .
765 .\"O The
766 .\"O .I buf
767 .\"O field points to an output buffer of length
768 .\"O .IR "nframes * CD_FRAMESIZE_RAW" .
769 .B CDROMREADAUDIO
770 ¤ÏÆþÎϥݥ¤¥ó¥¿
771 .I "const struct cdrom_read_audio *"
772 ¤ò»ÈÍѤ·¤Þ¤¹¡£
773 .I buf
774 ¥Õ¥£¡¼¥ë¥É¤ÏÂ礭¤µ
775 .IR "nframes * CD_FRAMESIZE_RAW"
776 ¤Î½ÐÎϥХåե¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
777
778 .\"O .BR CDROMREADCOOKED ,
779 .\"O .BR CDROMREADMODE1 ,
780 .\"O .BR CDROMREADMODE2 ,
781 .\"O and
782 .\"O .B CDROMREADRAW
783 .\"O take an input pointer
784 .\"O .IR "const struct cdrom_msf *" .
785 .\"O They use the same pointer as an output pointer to
786 .\"O .IR "char []" .
787 .\"O The length varies by request.
788 .\"O For
789 .\"O .BR CDROMREADMODE1 ,
790 .\"O most drivers use CD_FRAMESIZE, but the Optics Storage
791 .\"O driver uses OPT_BLOCKSIZE instead (both have the numerical value
792 .\"O 2048).
793 .BR CDROMREADCOOKED ,
794 .BR CDROMREADMODE1 ,
795 .BR CDROMREADMODE2 ,
796 .B CDROMREADRAW
797 ¤ÏÆþÎϥݥ¤¥ó¥¿
798 .I const struct cdrom_msf *
799 ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤é¤ÏƱ¤¸¥Ý¥¤¥ó¥¿¤ò
800 .I char []
801 ¤Ø¤Î½ÐÎϥݥ¤¥ó¥¿¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
802 Ťµ¤ÏÍ×µá¤Ë¤è¤Ã¤ÆÊѲ½¤·¤Þ¤¹¡£
803 .B CDROMREADMODE1
804 ¤Ë¤Ï¡¢Â¿¤¯¤Î¥Ç¥Ð¥¤¥¹¤¬
805 CD_FRAMESIZE ¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢¸÷³Øµ­²±ÁõÃÖ (¸÷¥Ç¥£¥¹¥¯) ¤Î¥É¥é¥¤¥Ð¤Ï
806 OPT_BLOCKSIZE ¤ò»ÈÍѤ·¤Þ¤¹ (¤É¤Á¤é¤âƱ¤¸ÃͤǠ2048 ¤Ç¤¹)¡£
807 .nf
808
809     CDROMREADCOOKED    char [CD_FRAMESIZE]
810     CDROMREADMODE1     char [CD_FRAMESIZE or OPT_BLOCKSIZE]
811     CDROMREADMODE2     char [CD_FRAMESIZE_RAW0]
812     CDROMREADRAW       char [CD_FRAMESIZE_RAW]
813
814 .fi
815 .\"O .BR EQL_ENSLAVE ,
816 .\"O .BR EQL_EMANCIPATE ,
817 .\"O .BR EQL_GETSLAVECFG ,
818 .\"O .BR EQL_SETSLAVECFG ,
819 .\"O .BR EQL_GETMASTERCFG ,
820 .\"O and
821 .\"O .B EQL_SETMASTERCFG
822 .\"O take a
823 .\"O .IR "struct ifreq *" .
824 .\"O The
825 .\"O .I ifr_data
826 .\"O field is a pointer to another structure as follows:
827 .BR EQL_ENSLAVE ,
828 .BR EQL_EMANCIPATE ,
829 .BR EQL_GETSLAVECFG ,
830 .BR EQL_SETSLAVECFG ,
831 .BR EQL_GETMASTERCFG ,
832 .B EQL_SETMASTERCFG
833 ¤Ï
834 .I struct ifreq *
835 ¤ò»ÈÍѤ·¤Þ¤¹¡£
836 .I ifr_data
837 ¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤Ë¼¨¤¹Ê̤ι½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹:
838 .nf
839
840     EQL_ENSLAVE         const struct slaving_request *
841     EQL_EMANCIPATE      const struct slaving_request *
842     EQL_GETSLAVECFG     struct slave_config *           // I-O
843     EQL_SETSLAVECFG     const struct slave_config *
844     EQL_GETMASTERCFG    struct master_config *
845     EQL_SETMASTERCFG    const struct master_config *
846
847 .fi
848 .\"O .B FDRAWCMD
849 .\"O takes a
850 .\"O .IR "struct floppy raw_cmd *" .
851 .\"O If
852 .\"O .I flags & FD_RAW_WRITE
853 .\"O is nonzero, then
854 .\"O .I data
855 .\"O points to an input buffer of length
856 .\"O .IR length .
857 .\"O If
858 .\"O .I flags & FD_RAW_READ
859 .\"O is nonzero, then
860 .\"O .I data
861 .\"O points to an output buffer of length
862 .\"O .IR length .
863 .B FDRAWCMD
864 ¤Ï
865 .I struct floppy raw_cmd *
866 ¤ò»ÈÍѤ·¤Þ¤¹¡£
867 .I flags & FD_RAW_WRITE
868 ¤¬¥¼¥í°Ê³°¤Î¾ì¹ç¡¢
869 .I data
870 ¤ÏÂ礭¤µ
871 .I length
872 ¤ÎÆþÎϥХåե¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
873 .I flags & FD_RAW_READ
874 ¤¬¥¼¥í°Ê³°¤Î¾ì¹ç¡¢
875 .I data
876 ¤ÏÂ礭¤µ
877 .I length
878 ¤Î½ÐÎϥХåե¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
879
880 .\"O .B GIO_FONTX
881 .\"O and
882 .\"O .B PIO_FONTX
883 .\"O take a
884 .\"O .I struct console_font_desc *
885 .\"O or a
886 .\"O .IR "const struct console_font_desc *" ,
887 .\"O respectively.
888 .\"O .I chardata
889 .\"O points to a buffer of
890 .\"O .IR "char [charcount]" .
891 .\"O This is an output buffer for
892 .\"O .B GIO_FONTX
893 .\"O and an input buffer for
894 .\"O .BR PIO_FONTX .
895 .BR GIO_FONTX ,
896 .B PIO_FONTX
897 ¤Ï¤½¤ì¤¾¤ì
898 .I struct console_font_desc *
899 ¤È
900 .I const struct console_font_desc *
901 ¤ò»ÈÍѤ·¤Þ¤¹¡£
902 .I chardata
903 ¤Ï
904 .I char [charcount]
905 ¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
906 ¤³¤ì¤Ï
907 .B GIO_FONTX
908 ¤Î½ÐÎϥХåե¡¤È
909 .B PIO_FONTX
910 ¤ÎÆþÎϥХåե¡¤Ç¤¹¡£
911
912 .\"O .B GIO_UNIMAP
913 .\"O and
914 .\"O .B PIO_UNIMAP
915 .\"O take a
916 .\"O .I struct unimapdesc *
917 .\"O or a
918 .\"O .IR "const struct unimapdesc *" ,
919 .\"O respectively.
920 .\"O .I entries
921 .\"O points to a buffer of
922 .\"O .IR "struct unipair [entry_ct]" .
923 .\"O This is an output buffer for
924 .\"O .B GIO_UNIMAP
925 .\"O and an input buffer for
926 .\"O .BR PIO_UNIMAP .
927 .BR GIO_UNIMAP ,
928 .B PIO_UNIMAP
929 ¤Ï¤½¤ì¤¾¤ì
930 .I struct unimapdesc *
931 ¤È
932 .I const struct unimapdesc *
933 ¤ò»ÈÍѤ·¤Þ¤¹¡£
934 .I entries
935 ¤Ï
936 .I struct unipair [entry_ct]
937 ¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
938 ¤³¤ì¤Ï
939 .B GIO_UNIMAP
940 ¤Î½ÐÎϥХåե¡¤È
941 .B PIO_UNIMAP
942 ¤ÎÆþÎϥХåե¡¤Ç¤¹¡£
943
944 .\"O KDADDIO, KDDELIO, KDDISABIO, and KDENABIO enable or disable access to
945 .\"O I/O ports.
946 .\"O They are essentially alternate interfaces to 'ioperm'.
947 KDADDIO, KDDELIO, KDDISABIO, KDENABIO ¤Ï I/O ¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹¤ò
948 ²Äǽ/ÉÔ²Äǽ¤Ë¤·¤Þ¤¹¡£¤³¤ì¤é¤ÏËܼÁŪ¤Ë¡¢'ioperm' ¤Ø¤ÎÊ̤Î
949 ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£
950
951 .\"O .B KDMAPDISP
952 .\"O and
953 .\"O .B KDUNMAPDISP
954 .\"O enable or disable memory mappings or I/O port access.
955 .\"O They are not implemented in the kernel.
956 .BR KDMAPDISP ,
957 .B KDUNMAPDISP
958 ¤Ï¥á¥â¥ê¡¦¥Þ¥Ã¥Ô¥ó¥°¤ä I/O ¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹¤ò²Äǽ/ÉÔ²Äǽ¤Ë¤·¤Þ¤¹¡£
959 ¤³¤ì¤é¤Ï¥«¡¼¥Í¥ë¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
960
961 .\"O .B SCSI_IOCTL_PROBE_HOST
962 .\"O takes an input pointer
963 .\"O .IR "const int *" ,
964 .\"O which is a length.
965 .\"O It uses the same pointer as an output pointer to a
966 .\"O .I char []
967 .\"O buffer of this length.
968 .B SCSI_IOCTL_PROBE_HOST
969 ¤ÏÆþÎϥݥ¤¥ó¥¿
970 .I const int *
971 ¤òÂ礭¤µ¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤ÏƱ¤¸Â礭¤µ¤Î
972 .I char []
973 ¥Ð¥Ã¥Õ¥¡ ¤Ø¤Î½ÐÎϥݥ¤¥ó¥¿¤È¤·¤Æ¤â»ÈÍѤ·¤Þ¤¹¡£
974
975 .\"O .B SIOCADDRT
976 .\"O and
977 .\"O .B SIOCDELRT
978 .\"O take an input pointer whose type depends on
979 .\"O the protocol:
980 .BR SIOCADDRT ,
981 .B SIOCDELRT
982 ¤Ï·¿¤¬°Ê²¼¤Î¥×¥í¥È¥³¥ë¤Ë°Í¸¤¹¤ëÆþÎϥݥ¤¥ó¥¿¤ò»ÈÍѤ·¤Þ¤¹:
983 .nf
984
985     Most protocols      const struct rtentry *
986     AX.25               const struct ax25_route *
987     NET/ROM             const struct nr_route_struct *
988
989 .fi
990 .\"O .B SIOCGIFCONF
991 .\"O takes a
992 .\"O .IR "struct ifconf *" .
993 .\"O The
994 .\"O .I ifc_buf
995 .\"O field points to a buffer of length
996 .\"O .I ifc_len
997 .\"O bytes, into which the kernel writes a list of type
998 .\"O .IR "struct ifreq []" .
999 .B SIOCGIFCONF
1000 ¤Ï
1001 .I struct ifconf *
1002 ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î
1003 .I ifc_buf
1004 ¥Õ¥£¡¼¥ë¥É¤ÏŤµ
1005 .I ifc_len
1006 ¥Ð¥¤¥È¤Î¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
1007 ¤³¤ì¤Ë¥«¡¼¥Í¥ë¤¬
1008 .I struct ifreq []
1009 ·¿¤Î¥ê¥¹¥È¤Ø½ñ¤­¹þ¤ß¤Þ¤¹¡£
1010
1011 .\"O .B SIOCSIFHWADDR
1012 .\"O takes an input pointer whose type depends on the protocol:
1013 .B SIOCSIFHWADDR
1014 ¤Ï·¿¤¬°Ê²¼¤Î¥×¥í¥È¥³¥ë¤Ë°Í¸¤¹¤ëÆþÎϥݥ¤¥ó¥¿¤ò»ÈÍѤ·¤Þ¤¹:
1015 .nf
1016
1017     Most protocols      const struct ifreq *
1018     AX.25               const char [AX25_ADDR_LEN]
1019
1020 .fi
1021 .\"O .B TIOCLINUX
1022 .\"O takes a
1023 .\"O .IR "const char *" .
1024 .\"O It uses this to distinguish several
1025 .\"O independent subcases.
1026 .\"O In the table below,
1027 .\"O .I N + foo
1028 .\"O means
1029 .\"O .I foo
1030 .\"O after an N-byte pad.
1031 .\"O .I struct selection
1032 .\"O is implicitly defined in
1033 .\"O .IR drivers/char/selection.c
1034 .B TIOCLINUX
1035 ¤Ï
1036 .I const char *
1037 ¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥Ý¥¤¥ó¥¿¤ò¤¤¤¯¤Ä¤«¤Î
1038 ÆÈΩ¤·¤¿¥µ¥Ö¥¯¥é¥¹¤ò¼±Ê̤¹¤ë°Ù¤Ë»ÈÍѤ·¤Þ¤¹¡£°Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Ç¡¢
1039 .I N + foo
1040 ¤Ï N ¥Ð¥¤¥È¤ÎµÍ¤á¤â¤Î¤Î¸å¤Ë¤¢¤ë
1041 .I foo
1042 ¤ò°ÕÌ£¤·¤Þ¤¹¡£
1043 .I struct selection
1044 ¤Ï°ÅÌÛŪ¤Ë
1045 .I drivers/char/selection.c
1046 ¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
1047 .nf
1048
1049     TIOCLINUX-2         1 + const struct selection *
1050     TIOCLINUX-3         void
1051     TIOCLINUX-4         void
1052     TIOCLINUX-5         4 + const struct { long [8]; } *
1053     TIOCLINUX-6         char *
1054     TIOCLINUX-7         char *
1055     TIOCLINUX-10        1 + const char *
1056
1057 .fi
1058 // Duplicate ioctls
1059
1060 .\"O This list does not include ioctls in the range
1061 .\"O .B SIOCDEVPRIVATE
1062 .\"O and
1063 .\"O .BR SIOCPROTOPRIVATE .
1064 ¤³¤Î¥ê¥¹¥È¤Ï
1065 .B SIOCDEVPRIVATE
1066 ¤«¤é
1067 .B SIOCPROTOPRIVATE
1068 ¤ÎÈϰϤΠioctl ¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£
1069 .TS
1070 l l l.
1071 0x00000001      FDSETPRM        FIBMAP
1072 0x00000002      FDDEFPRM        FIGETBSZ
1073 0x00005382      CDROMAUDIOBUFSIZ        SCSI_IOCTL_GET_IDLUN
1074 0x00005402      SNDCTL_TMR_START        TCSETS
1075 0x00005403      SNDCTL_TMR_STOP TCSETSW
1076 0x00005404      SNDCTL_TMR_CONTINUE     TCSETSF
1077 .TE
1078 .\"O .SH SEE ALSO
1079 .SH ´ØÏ¢¹àÌÜ
1080 .BR ioctl (2)