OSDN Git Service

(split) LDP: Update release pages based on LDP 3.54 release
[linuxjm/LDP_man-pages.git] / release / man2 / ioctl_list.2
index 1dc2389..001f947 100644 (file)
@@ -1,12 +1,15 @@
-.\" Ioctl List 1.3.27
-.\" Sun 17 Sep 1995
+.\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain.
 .\" Michael Elizabeth Chastain
 .\" <mec@duracef.shout.net>
 .\"
-.\" // Copyright
-.\"
-.\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain.
+.\" %%%LICENSE_START(GPLv2_MISC)
 .\" It is licensed under the Gnu Public License, Version 2.
+.\" %%%LICENSE_END
+.\"
+.\" Ioctl List 1.3.27
+.\" Sun 17 Sep 1995
+.\"
+.\" // Copyright
 .\"
 .\"
 .\"
 .\" 2007-12-29 Alain Portal <aportal@univ-montp2.fr> and Michael Kerrisk
 .\"     <mtk.manpages@gmail.com>:
 .\"          Various formatting improvements
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
 .\"
 .\" Japanese Version Copyright (c) 1996 Akira Yoshiyama
 .\"         all rights reserved.
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
 .\" Updated 2008-02-12, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.77
 .\"
-.TH IOCTL_LIST 2 2007-12-29 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-ioctl_list \- Linux/i386 ¥«¡¼¥Í¥ë¤Î ioctl ¤Î¥ê¥¹¥È
-.SH ÀâÌÀ
-¤³¤Îʸ¾Ï¤Ï ioctl ¥ê¥¹¥È 1.3.27¡¢¤Ä¤Þ¤ê Linux/i386 ¥«¡¼¥Í¥ë 1.3.27 ¤Ë
-¤ª¤±¤ë ioctl ¥³¡¼¥ë¤Î°ìÍ÷¤Ç¤¹¡£¤³¤Î¥ê¥¹¥È¤Ï
-.I </usr/include/{asm,linux}/*.h>
-¤Ë¤¢¤ë 421 ¤Î ioctl ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£Á´¤Æ¤Î ioctl ¤ËÂФ·¤Æ¡¢¿ôÃÍ¡¢Ì¾¾Î¡¢
-°ú¤­¿ô¤Î·¿¤òÎóµó¤·¤Æ¤¢¤ê¤Þ¤¹¡£
+.TH IOCTL_LIST 2 2013\-09\-17 Linux "Linux Programmer's Manual"
+.SH 名前
+ioctl_list \- Linux/i386 カーネルの ioctl のリスト
+.SH 説明
+この文章は ioctl リスト 1.3.27、つまり Linux/i386 カーネル 1.3.27 に おける ioctl
+コールの一覧です。このリストは \fI</usr/include/{asm,linux}/*.h>\fP にある 421 の ioctl
+を含んでいます。全ての ioctl に対して、数値、名称、 引き数の型を列挙してあります。
 .PP
-°ú¤­¿ô·¿
-.I const struct foo *
-¤Ï¡¢¤½¤Î°ú¤­¿ô¤¬¥«¡¼¥Í¥ë¤Ø¤ÎÆþÎϤǤ¢¤ë»ö¤ò°ÕÌ£¤·¤Þ¤¹¡£¤Þ¤¿¡¢
-.I struct foo *
-¤Ï¡¢¤½¤Î°ú¤­¿ô¤¬¥«¡¼¥Í¥ë¤«¤é¤Î½ÐÎϤǤ¢¤ë»ö¤ò°ÕÌ£¤·¤Þ¤¹¡£
-¥«¡¼¥Í¥ë¤¬¤½¤Î°ú¤­¿ô¤òÆþÎϤȽÐÎϤÎξÊý¤Ë»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢
-\fI//\ I-O\fP ¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¤¢¤ê¤Þ¤¹¡£
+引き数型 \fIconst struct foo\ *\fP は、その引き数がカーネルへの入力である事を意味します。また、 \fIstruct foo\ *\fP
+は、その引き数がカーネルからの出力である事を意味します。 カーネルがその引き数を入力と出力の両方に使用する場合は、 \fI//\ I\-O\fP
+マークを付けてあります。
 .PP
-¤¤¤¯¤Ä¤«¤Î ioctl ¤ÏÊ£¿ô¤Î¹½Â¤ÂΤΰú¤­¿ô¤òɬÍפȤ·¤¿¤ê¡¢ÃͤòÊÖ¤·¤¿¤ê
-¤·¤Þ¤¹¡£¤³¤ì¤é¤Ë¤Ï \fI//\ MORE\fP ¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¡¢
-¤µ¤é¤ËʬΥ¤·¤¿¥»¥¯¥·¥ç¥ó¤ÇÀâÌÀ¤·¤Æ¤¢¤ê¤Þ¤¹¡£
+いくつかの ioctl は複数の構造体の引き数を必要としたり、値を返したり します。これらには \fI//\ MORE\fP マークを付けて、
+さらに分離したセクションで説明してあります。
 .PP
-¤³¤Î¥ê¥¹¥È¤ÏÉÔ´°Á´¤Ç¤¹¡£
-.SS "ioctl ¤Î¹½Â¤"
-.\" 2 ¤Ä¤Î¥»¥¯¥·¥ç¥ó¤òÄɲà- aeb
-ioctl ¥³¥Þ¥ó¥É¤ÎÃͤϠ32 ¥Ó¥Ã¥È¤ÎÄê¿ô¤Ç¤¹¡£
-¸¶Â§¤È¤·¤Æ¡¢¤³¤ì¤é¤ÎÄê¿ô¤ÏÁ´¤¯Ç¤°Õ¤Î¤â¤Î¤Ç¤¹¤¬¡¢
-À߷׼Ԥϲ¿¤é¤«¤Î¹½Â¤¤ò¤³¤ì¤é¤ÎÄê¿ô¤ËÁȤ߹þ¤â¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
+このリストは不完全です。
+.SS "ioctl の構造"
+.\" added two sections - aeb
+ioctl コマンドの値は 32 ビットの定数です。 原則として、これらの定数は全く任意のものですが、
+設計者は何らかの構造をこれらの定数に組み込もうとしています。
 .LP
-ÀΤΠLinux ¤Ç¤Ï¡¢ÂçÉôʬ¤Ï 16 ¥Ó¥Ã¥È¤ÎÄê¿ô¤Ç¤¢¤ê¡¢
-²¼°Ì¥Ð¥¤¥È¤Ï¥·¥ê¥¢¥ëÈÖ¹æ¤Ç¡¢¾å°Ì¥Ð¥¤¥È¤Ï¥É¥é¥¤¥Ð¤Î¥¿¥¤¥×¤òɽ¤·¤Æ¤¤¤Þ¤·¤¿¡£
-¥á¥¸¥ã¡¼Èֹ椬»È¤ï¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤·¤¿:
-0x03 ¤¬
-.B HDIO_*
-ioctl, 0x06 ¤¬
-.B LP*
-ioctl ¤Ê¤É¤Ç¤¹¡£
-1 Ê¸»ú°Ê¾å¤Î ASCII Ê¸»úÎ󤬻Ȥï¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤·¤¿¡£
-¤¿¤È¤¨¤Ð
-.B TCGETS
-¤ÎÃͤϠ0x00005401 ¤Ç¤¢¤ê¡¢
-0x54 = \(aqT\(aq ¤Ç¥¿¡¼¥ß¥Ê¥ë¥É¥é¥¤¥Ð¤òɽ¤·¤Þ¤¹¡£
-.B CYGETTIMEOUT
-¤ÎÃͤϠ0x00435906 ¤Ç¤¢¤ê¡¢
-0x43 0x59 = \(aqC\(aq \(aqY\(aq ¤Ç cyclades ¥É¥é¥¤¥Ð¤òɽ¤·¤Þ¤¹¡£
+昔の Linux では、大部分は 16 ビットの定数であり、 下位バイトはシリアル番号で、上位バイトはドライバのタイプを表していました。
+メジャー番号が使われることもありました: 0x03 が \fBHDIO_*\fP ioctl, 0x06 が \fBLP*\fP ioctl などです。 1
+文字以上の ASCII 文字列が使われることもありました。 たとえば \fBTCGETS\fP の値は 0x00005401 であり、 0x54 =
+\(aqT\(aq でターミナルドライバを表します。 \fBCYGETTIMEOUT\fP の値は 0x00435906 であり、 0x43 0x59 =
+\(aqC\(aq \(aqY\(aq で cyclades ドライバを表します。
 .LP
-¸å¤Î»þÂå (0.98p5) ¤Ë¤Ê¤ë¤È¡¢
-¤è¤ê¿¤¯¤Î¾ðÊ󤬿ôÃͤËÁȤ߹þ¤Þ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
-1 ¤Ä¤Î¿ôÃͤϡ¢Æɤ߽ñ¤­¤ÎÊý¸þ¤òɽ¤¹ 2 ¥Ó¥Ã¥È
-(00: Æɤ߽ñ¤­¤Ê¤·, 01: ½ñ¤­¹þ¤ß, 10: Æɤ߹þ¤ß, 11: Æɤ߹þ¤ß/½ñ¤­¹þ¤ß)¡¢
-(°ú¤­¿ô¤Î¥µ¥¤¥º¤òɽ¤¹) 14 ¥Ó¥Ã¥È¡¢
-(¶¦Ä̤ÎÌÜŪ¤Þ¤¿¤Ï¶¦Ä̤Υɥ饤¥Ð¤Ç ioctl ¤ò¥°¥ë¡¼¥×¤Ë¤¹¤ë¤¿¤á¤Î)
-8 ¥Ó¥Ã¥È¤Î¥¿¥¤¥×¡¢8 ¥Ó¥Ã¥È¤Î¥·¥ê¥¢¥ëÈֹ椫¤é¹½À®¤µ¤ì¤Þ¤¹¡£
+後の時代 (0.98p5) になると、 より多くの情報が数値に組み込まれるようになりました。 1 つの数値は、読み書きの方向を表す 2 ビット (00:
+読み書きなし, 01: 書き込み, 10: 読み込み, 11: 読み込み/書き込み)、 (引き数のサイズを表す) 14 ビット、
+(共通の目的または共通のドライバで ioctl をグループにするための)  8 ビットのタイプ、8 ビットのシリアル番号から構成されます。
 .LP
-¤³¤Î¹½Â¤¤òµ­½Ò¤¹¤ë¥Þ¥¯¥í¤Ï \fI<asm/ioctl.h>\fP ¤Ë¤¢¤ê¡¢
-.B _IO(type,nr)
-¤È
-.B "{_IOR,_IOW,_IOWR}(type,nr,size)"
-¤Ç¤¹¡£
-¤³¤ì¤é¤Î¥Þ¥¯¥í¤Ï
-.I sizeof(size)
-¤ò»È¤¦¤Î¤Ç¡¢
-¤³¤³¤Ç size ¤È¤¤¤¦Ì¾Á°¤Ë¤·¤Æ¤¤¤ë¤Î¤Ï´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹:
-¤³¤Î 3 ¤ÄÌܤΰú¤­¿ô¤Ï¥Ç¡¼¥¿¥¿¥¤¥×¤Ç¤¹¡£
+この構造を記述するマクロは \fI<asm/ioctl.h>\fP にあり、 \fB_IO(type,nr)\fP と
+\fB{_IOR,_IOW,_IOWR}(type,nr,size)\fP です。 これらのマクロは \fIsizeof(size)\fP を使うので、 ここで
+size という名前にしているのは間違っています: この 3 つ目の引き数はデータタイプです。
 .LP
-size ¥Ó¥Ã¥È¤ÏÁ´¤¯Åö¤Æ¤Ë¤Ê¤é¤Ê¤¤ÅÀ¤ËÃí°Õ¤·¤Æ²¼¤µ¤¤:
-¿¤¯¤Î¾ì¹ç¡¢´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹¡£
-¤³¤ì¤Ï
-.I sizeof(sizeof(struct))
-¤ò»È¤Ã¤¿¥Ð¥°¤ò´Þ¤ó¤À¥Þ¥¯¥í¤ä¡¢²áµî¤«¤é¼õ¤±·Ñ¤¤¤ÀÃͤ¬¸¶°ø¤Ç¤¹¡£
+size ビットは全く当てにならない点に注意して下さい: 多くの場合、間違っています。 これは \fIsizeof(sizeof(struct))\fP
+を使ったバグを含んだマクロや、過去から受け継いだ値が原因です。
 .LP
-¤·¤¿¤¬¤Ã¤Æ¡¢¿·¤·¤¤¹½Â¤¤ÏÉÔÅÔ¹ç¤ÊÅÀ¤·¤«¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹:
-¤³¤Î¹½Â¤¤Ï¥Á¥§¥Ã¥¯¤Î¼ê½õ¤±¤Ë¤Ï¤Ê¤é¤º¡¢
-ÍÍ¡¹¤Ê¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤è¤Ã¤ÆÃͤòÊѲ½¤µ¤»¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
-.SH ÊÖ¤êÃÍ
-¤­¤Á¤ó¤È¤·¤¿ ioctl ¤Ï¡¢À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤òÊÖ¤·¡¢
-¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤òÊÖ¤·¤Þ¤¹¡£
-¤Þ¤¿½ÐÎÏÃͤϰú¤­¿ô¤Ë³ÊǼ¤·¤Þ¤¹¡£
-¤·¤«¤·¼ÂºÝ¤Ï¡¢¤«¤Ê¤ê¿¤¯¤Î ioctl ¤¬½ÐÎÏÃͤòÊÖ¤·¤Þ¤¹¡£
-¤³¤ì¤Ïº£¤Î¤È¤³¤í°Ê²¼¤Ç¤Ï¼¨¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
+したがって、新しい構造は不都合な点しかないように思われます: この構造はチェックの手助けにはならず、
+様々なアーキテクチャによって値を変化させてしまいます。
+.SH 返り値
+きちんとした ioctl は、成功した場合は 0 を返し、 エラーの場合は \-1 を返します。 また出力値は引き数に格納します。
+しかし実際は、かなり多くの ioctl が出力値を返します。 これは今のところ以下では示されていません。
 
 // Main table.
 
-// <include/asm-i386/socket.h>
+// <include/asm\-i386/socket.h>
 .TS
 l l l.
 0x00008901     FIOSETOWN       const int *
@@ -129,7 +100,7 @@ l l l.
 0x00008906     SIOCGSTAMP      timeval *
 .TE
 
-// <include/asm-i386/termios.h>
+// <include/asm\-i386/termios.h>
 .TS
 l l l l.
 0x00005401     TCGETS  struct termios *
@@ -181,6 +152,12 @@ l l l l.
 0x00005457     TIOCSLCKTRMIOS  const struct termios *
 0x00005458     TIOCSERGSTRUCT  struct async_struct *
 0x00005459     TIOCSERGETLSR   int *
+.TE
+.\" Some tables are split into two or more to avoid the warning:
+.\" "table wider than line width".  Some lines are to long to fit
+.\" on one line on an 80 columns console
+.TS
+l l l.
 0x0000545A     TIOCSERGETMULTI struct serial_multiport_struct *
 0x0000545B     TIOCSERSETMULTI const struct serial_multiport_struct *
 .TE
@@ -193,13 +170,16 @@ l l l l.
 0x000089E2     SIOCAX25DELUID  const struct sockaddr_ax25 *
 0x000089E3     SIOCAX25NOUID   const int *
 0x000089E4     SIOCAX25DIGCTL  const int *
-0x000089E5     SIOCAX25GETPARMS        struct ax25_parms_struct *      // I-O
+0x000089E5     SIOCAX25GETPARMS        struct ax25_parms_struct *      // I\-O
+.TE
+.TS
+l l l.
 0x000089E6     SIOCAX25SETPARMS        const struct ax25_parms_struct *
 .TE
 
 // <include/linux/cdk.h>
 .TS
-l l l l.
+l l l.
 0x00007314     STL_BINTR       void
 0x00007315     STL_BSTART      void
 0x00007316     STL_BSTOP       void
@@ -208,23 +188,35 @@ l l l l.
 
 // <include/linux/cdrom.h>
 .TS
-l l l l.
+l l l.
 0x00005301     CDROMPAUSE      void
 0x00005302     CDROMRESUME     void
 0x00005303     CDROMPLAYMSF    const struct cdrom_msf *
 0x00005304     CDROMPLAYTRKIND const struct cdrom_ti *
 0x00005305     CDROMREADTOCHDR struct cdrom_tochdr *
-0x00005306     CDROMREADTOCENTRY       struct cdrom_tocentry * // I-O
+.TE
+.TS
+l l l l.
+0x00005306     CDROMREADTOCENTRY       struct cdrom_tocentry * // I\-O
+.TE
+.TS
+l l l l.
 0x00005307     CDROMSTOP       void
 0x00005308     CDROMSTART      void
 0x00005309     CDROMEJECT      void
 0x0000530A     CDROMVOLCTRL    const struct cdrom_volctrl *
-0x0000530B     CDROMSUBCHNL    struct cdrom_subchnl *  // I-O
+0x0000530B     CDROMSUBCHNL    struct cdrom_subchnl *  // I\-O
 0x0000530C     CDROMREADMODE2  const struct cdrom_msf *        // MORE
 0x0000530D     CDROMREADMODE1  const struct cdrom_msf *        // MORE
 0x0000530E     CDROMREADAUDIO  const struct cdrom_read_audio * // MORE
 0x0000530F     CDROMEJECT_SW   int
-0x00005310     CDROMMULTISESSION       struct cdrom_multisession *     // I-O
+.TE
+.TS
+l l l l.
+0x00005310     CDROMMULTISESSION       struct cdrom_multisession *     // I\-O
+.TE
+.TS
+l l l l.
 0x00005311     CDROM_GET_UPC   struct { char [8]; } *
 0x00005312     CDROMRESET      void
 0x00005313     CDROMVOLREAD    struct cdrom_volctrl *
@@ -235,14 +227,14 @@ l l l l.
 
 // <include/linux/cm206.h>
 .TS
-l l l l.
+l l l.
 0x00002000     CM206CTL_GET_STAT       int
 0x00002001     CM206CTL_GET_LAST_STAT  int
 .TE
 
 // <include/linux/cyclades.h>
 .TS
-l l l l.
+l l l.
 0x00435901     CYGETMON        struct cyclades_monitor *
 0x00435902     CYGETTHRESH     int *
 0x00435903     CYSETTHRESH     int
@@ -256,7 +248,7 @@ l l l l.
 
 // <include/linux/ext2_fs.h>
 .TS
-l l l l.
+l l l.
 0x80046601     EXT2_IOC_GETFLAGS       int *
 0x40046602     EXT2_IOC_SETFLAGS       const int *
 0x80047601     EXT2_IOC_GETVERSION     int *
@@ -265,7 +257,7 @@ l l l l.
 
 // <include/linux/fd.h>
 .TS
-l l l l.
+l l l.
 0x00000000     FDCLRPRM        void
 0x00000001     FDSETPRM        const struct floppy_struct *
 0x00000002     FDDEFPRM        const struct floppy_struct *
@@ -288,7 +280,10 @@ l l l l.
 0x00000019     FDGETFDCSTAT    struct floppy_fdc_state *
 0x0000001B     FDWERRORCLR     void
 0x0000001C     FDWERRORGET     struct floppy_write_errors *
-0x0000001E     FDRAWCMD        struct floppy_raw_cmd * // MORE // I-O
+.TE
+.TS
+l l l l.
+0x0000001E     FDRAWCMD        struct floppy_raw_cmd * // MORE // I\-O
 0x00000028     FDTWADDLE       void
 .TE
 
@@ -302,7 +297,7 @@ l l l l.
 0x00001261     BLKFLSBUF       void
 0x00001262     BLKRASET        int
 0x00001263     BLKRAGET        int *
-0x00000001     FIBMAP  int *   // I-O
+0x00000001     FIBMAP  int *   // I\-O
 0x00000002     FIGETBSZ        int *
 .TE
 
@@ -317,7 +312,7 @@ l l l l.
 0x00000309     HDIO_GET_CHIPSET        int *
 0x0000030A     HDIO_GET_NOWERR int *
 0x0000030B     HDIO_GET_DMA    int *
-0x0000031F     HDIO_DRIVE_CMD  int *   // I-O
+0x0000031F     HDIO_DRIVE_CMD  int *   // I\-O
 0x00000321     HDIO_SET_MULTCOUNT      int
 0x00000322     HDIO_SET_UNMASKINTR     int
 0x00000323     HDIO_SET_KEEPSETTINGS   int
@@ -329,23 +324,23 @@ l l l l.
 // <include/linux/if_eql.h>
 .TS
 l l l l.
-0x000089F0     EQL_ENSLAVE     struct ifreq *  // MORE // I-O
-0x000089F1     EQL_EMANCIPATE  struct ifreq *  // MORE // I-O
-0x000089F2     EQL_GETSLAVECFG struct ifreq *  // MORE // I-O
-0x000089F3     EQL_SETSLAVECFG struct ifreq *  // MORE // I-O
-0x000089F4     EQL_GETMASTRCFG struct ifreq *  // MORE // I-O
-0x000089F5     EQL_SETMASTRCFG struct ifreq *  // MORE // I-O
+0x000089F0     EQL_ENSLAVE     struct ifreq *  // MORE // I\-O
+0x000089F1     EQL_EMANCIPATE  struct ifreq *  // MORE // I\-O
+0x000089F2     EQL_GETSLAVECFG struct ifreq *  // MORE // I\-O
+0x000089F3     EQL_SETSLAVECFG struct ifreq *  // MORE // I\-O
+0x000089F4     EQL_GETMASTRCFG struct ifreq *  // MORE // I\-O
+0x000089F5     EQL_SETMASTRCFG struct ifreq *  // MORE // I\-O
 .TE
 
 // <include/linux/if_plip.h>
 .TS
 l l l l.
-0x000089F0     SIOCDEVPLIP     struct ifreq *  // I-O
+0x000089F0     SIOCDEVPLIP     struct ifreq *  // I\-O
 .TE
 
 // <include/linux/if_ppp.h>
 .TS
-l l l l.
+l l l.
 0x00005490     PPPIOCGFLAGS    int *
 0x00005491     PPPIOCSFLAGS    const int *
 0x00005492     PPPIOCGASYNCMAP int *
@@ -365,7 +360,7 @@ l l l l.
 
 // <include/linux/ipx.h>
 .TS
-l l l l.
+l l l.
 0x000089E0     SIOCAIPXITFCRT  const char *
 0x000089E1     SIOCAIPXPRISLT  const char *
 0x000089E2     SIOCIPXCFGDATA  struct ipx_config_data *
@@ -373,13 +368,22 @@ l l l l.
 
 // <include/linux/kd.h>
 .TS
-l l l l.
+l l l.
 0x00004B60     GIO_FONT        struct { char [8192]; } *
 0x00004B61     PIO_FONT        const struct { char [8192]; } *
-0x00004B6B     GIO_FONTX       struct console_font_desc *      // MORE // I-O
+.TE
+.TS
+l2 l2 l2 l.
+0x00004B6B     GIO_FONTX       struct console_font_desc *      // MORE // I\-O
 0x00004B6C     PIO_FONTX       const struct console_font_desc *        //MORE
+.TE
+.TS
+l l l.
 0x00004B70     GIO_CMAP        struct { char [48]; } *
 0x00004B71     PIO_CMAP        const struct { char [48]; }
+.TE
+.TS
+l l l l.
 0x00004B2F     KIOCSOUND       int
 0x00004B30     KDMKTONE        int
 0x00004B31     KDGETLED        char *
@@ -394,10 +398,16 @@ l l l l.
 0x00004B3C     KDMAPDISP       void    // MORE
 0x00004B3D     KDUNMAPDISP     void    // MORE
 0x00004B40     GIO_SCRNMAP     struct { char [E_TABSZ]; } *
+.TE
+.TS
+l l l.
 0x00004B41     PIO_SCRNMAP     const struct { char [E_TABSZ]; } *
 0x00004B69     GIO_UNISCRNMAP  struct { short [E_TABSZ]; } *
 0x00004B6A     PIO_UNISCRNMAP  const struct { short [E_TABSZ]; } *
-0x00004B66     GIO_UNIMAP      struct unimapdesc *     // MORE // I-O
+.TE
+.TS
+l l l l.
+0x00004B66     GIO_UNIMAP      struct unimapdesc *     // MORE // I\-O
 0x00004B67     PIO_UNIMAP      const struct unimapdesc *       // MORE
 0x00004B68     PIO_UNIMAPCLR   const struct unimapinit *
 0x00004B44     KDGKBMODE       int *
@@ -406,20 +416,20 @@ l l l l.
 0x00004B63     KDSKBMETA       int
 0x00004B64     KDGKBLED        int *
 0x00004B65     KDSKBLED        int
-0x00004B46     KDGKBENT        struct kbentry *        // I-O
+0x00004B46     KDGKBENT        struct kbentry *        // I\-O
 0x00004B47     KDSKBENT        const struct kbentry *
-0x00004B48     KDGKBSENT       struct kbsentry *       // I-O
+0x00004B48     KDGKBSENT       struct kbsentry *       // I\-O
 0x00004B49     KDSKBSENT       const struct kbsentry *
 0x00004B4A     KDGKBDIACR      struct kbdiacrs *
 0x00004B4B     KDSKBDIACR      const struct kbdiacrs *
-0x00004B4C     KDGETKEYCODE    struct kbkeycode *      // I-O
+0x00004B4C     KDGETKEYCODE    struct kbkeycode *      // I\-O
 0x00004B4D     KDSETKEYCODE    const struct kbkeycode *
 0x00004B4E     KDSIGACCEPT     int
 .TE
 
 // <include/linux/lp.h>
 .TS
-l l l l.
+l l l.
 0x00000601     LPCHAR  int
 0x00000602     LPTIME  int
 0x00000604     LPABORT int
@@ -436,13 +446,22 @@ l l l l.
 // <include/linux/mroute.h>
 .TS
 l l l l.
-0x000089E0     SIOCGETVIFCNT   struct sioc_vif_req *   // I-O
-0x000089E1     SIOCGETSGCNT    struct sioc_sg_req *    // I-O
+0x000089E0     SIOCGETVIFCNT   struct sioc_vif_req *   // I\-O
+0x000089E1     SIOCGETSGCNT    struct sioc_sg_req *    // I\-O
 .TE
 
-// <include/linux/mtio.h>
+// <include/linux/msdos_fs.h>
 .TS
 l l l l.
+0x82307201     VFAT_IOCTL_READDIR_BOTH struct dirent [2]
+0x82307202     VFAT_IOCTL_READDIR_SHORT        struct dirent [2]
+0x80047210     FAT_IOCTL_GET_ATTRIBUTES        __u32 *
+0x40047211     FAT_IOCTL_SET_ATTRIBUTES        const __u32 *
+.TE
+
+// <include/linux/mtio.h>
+.TS
+l l l.
 0x40086D01     MTIOCTOP        const struct mtop *
 0x801C6D02     MTIOCGET        struct mtget *
 0x80046D03     MTIOCPOS        struct mtpos *
@@ -453,7 +472,7 @@ l l l l.
 // <include/linux/netrom.h>
 .TS
 l l l l.
-0x000089E0     SIOCNRGETPARMS  struct nr_parms_struct *        // I-O
+0x000089E0     SIOCNRGETPARMS  struct nr_parms_struct *        // I\-O
 0x000089E1     SIOCNRSETPARMS  const struct nr_parms_struct *
 0x000089E2     SIOCNRDECOBS    void
 0x000089E3     SIOCNRRTCTL     const int *
@@ -461,7 +480,7 @@ l l l l.
 
 // <include/linux/sbpcd.h>
 .TS
-l l l l.
+l l l.
 0x00009000     DDIOCSDBG       const int *
 0x00005382     CDROMAUDIOBUFSIZ        int
 .TE
@@ -471,23 +490,26 @@ l l l l.
 l l l l.
 0x00005470     TIOCSCCINI      void
 0x00005471     TIOCCHANINI     const struct scc_modem *
-0x00005472     TIOCGKISS       struct ioctl_command *  // I-O
+0x00005472     TIOCGKISS       struct ioctl_command *  // I\-O
 0x00005473     TIOCSKISS       const struct ioctl_command *
 0x00005474     TIOCSCCSTAT     struct scc_stat *
 .TE
 
 // <include/linux/scsi.h>
 .TS
-l l l l.
+l l l.
 0x00005382     SCSI_IOCTL_GET_IDLUN    struct { int [2]; } *
 0x00005383     SCSI_IOCTL_TAGGED_ENABLE        void
 0x00005384     SCSI_IOCTL_TAGGED_DISABLE       void
+.TE
+.TS
+l l l l.
 0x00005385     SCSI_IOCTL_PROBE_HOST   const int *     // MORE
 .TE
 
 // <include/linux/smb_fs.h>
 .TS
-l l l l.
+l l l.
 0x80027501     SMB_IOC_GETMOUNTUID     uid_t *
 .TE
 
@@ -498,28 +520,31 @@ l l l l.
 0x0000890C     SIOCDELRT       const struct rtentry *  // MORE
 0x00008910     SIOCGIFNAME     char []
 0x00008911     SIOCSIFLINK     void
-0x00008912     SIOCGIFCONF     struct ifconf * // MORE // I-O
-0x00008913     SIOCGIFFLAGS    struct ifreq *  // I-O
+0x00008912     SIOCGIFCONF     struct ifconf * // MORE // I\-O
+0x00008913     SIOCGIFFLAGS    struct ifreq *  // I\-O
 0x00008914     SIOCSIFFLAGS    const struct ifreq *
-0x00008915     SIOCGIFADDR     struct ifreq *  // I-O
+0x00008915     SIOCGIFADDR     struct ifreq *  // I\-O
 0x00008916     SIOCSIFADDR     const struct ifreq *
-0x00008917     SIOCGIFDSTADDR  struct ifreq *  // I-O
+0x00008917     SIOCGIFDSTADDR  struct ifreq *  // I\-O
 0x00008918     SIOCSIFDSTADDR  const struct ifreq *
-0x00008919     SIOCGIFBRDADDR  struct ifreq *  // I-O
+0x00008919     SIOCGIFBRDADDR  struct ifreq *  // I\-O
 0x0000891A     SIOCSIFBRDADDR  const struct ifreq *
-0x0000891B     SIOCGIFNETMASK  struct ifreq *  // I-O
+0x0000891B     SIOCGIFNETMASK  struct ifreq *  // I\-O
 0x0000891C     SIOCSIFNETMASK  const struct ifreq *
-0x0000891D     SIOCGIFMETRIC   struct ifreq *  // I-O
+0x0000891D     SIOCGIFMETRIC   struct ifreq *  // I\-O
 0x0000891E     SIOCSIFMETRIC   const struct ifreq *
-0x0000891F     SIOCGIFMEM      struct ifreq *  // I-O
+0x0000891F     SIOCGIFMEM      struct ifreq *  // I\-O
 0x00008920     SIOCSIFMEM      const struct ifreq *
-0x00008921     SIOCGIFMTU      struct ifreq *  // I-O
+0x00008921     SIOCGIFMTU      struct ifreq *  // I\-O
 0x00008922     SIOCSIFMTU      const struct ifreq *
-0x00008923     OLD_SIOCGIFHWADDR       struct ifreq *  // I-O
+.TE
+.TS
+l l l l.
+0x00008923     OLD_SIOCGIFHWADDR       struct ifreq *  // I\-O
 0x00008924     SIOCSIFHWADDR   const struct ifreq *    // MORE
 0x00008925     SIOCGIFENCAP    int *
 0x00008926     SIOCSIFENCAP    const int *
-0x00008927     SIOCGIFHWADDR   struct ifreq *  // I-O
+0x00008927     SIOCGIFHWADDR   struct ifreq *  // I\-O
 0x00008929     SIOCGIFSLAVE    void
 0x00008930     SIOCSIFSLAVE    void
 0x00008931     SIOCADDMULTI    const struct ifreq *
@@ -527,61 +552,85 @@ l l l l.
 0x00008940     SIOCADDRTOLD    void
 0x00008941     SIOCDELRTOLD    void
 0x00008950     SIOCDARP        const struct arpreq *
-0x00008951     SIOCGARP        struct arpreq * // I-O
+0x00008951     SIOCGARP        struct arpreq * // I\-O
 0x00008952     SIOCSARP        const struct arpreq *
 0x00008960     SIOCDRARP       const struct arpreq *
-0x00008961     SIOCGRARP       struct arpreq * // I-O
+0x00008961     SIOCGRARP       struct arpreq * // I\-O
 0x00008962     SIOCSRARP       const struct arpreq *
-0x00008970     SIOCGIFMAP      struct ifreq *  // I-O
+0x00008970     SIOCGIFMAP      struct ifreq *  // I\-O
 0x00008971     SIOCSIFMAP      const struct ifreq *
 .TE
 
 // <include/linux/soundcard.h>
 .TS
-l l l l.
+l l l.
 0x00005100     SNDCTL_SEQ_RESET        void
 0x00005101     SNDCTL_SEQ_SYNC void
-0xC08C5102     SNDCTL_SYNTH_INFO       struct synth_info *     // I-O
-0xC0045103     SNDCTL_SEQ_CTRLRATE     int *   // I-O
+.TE
+.TS
+l l l l.
+0xC08C5102     SNDCTL_SYNTH_INFO       struct synth_info *     // I\-O
+0xC0045103     SNDCTL_SEQ_CTRLRATE     int *   // I\-O
 0x80045104     SNDCTL_SEQ_GETOUTCOUNT  int *
 0x80045105     SNDCTL_SEQ_GETINCOUNT   int *
 0x40045106     SNDCTL_SEQ_PERCMODE     void
+.TE
+.TS
+l l l.
 0x40285107     SNDCTL_FM_LOAD_INSTR    const struct sbi_instrument *
+.TE
+.TS
+l l l l.
 0x40045108     SNDCTL_SEQ_TESTMIDI     const int *
 0x40045109     SNDCTL_SEQ_RESETSAMPLES const int *
 0x8004510A     SNDCTL_SEQ_NRSYNTHS     int *
 0x8004510B     SNDCTL_SEQ_NRMIDIS      int *
-0xC074510C     SNDCTL_MIDI_INFO        struct midi_info *      // I-O
+0xC074510C     SNDCTL_MIDI_INFO        struct midi_info *      // I\-O
 0x4004510D     SNDCTL_SEQ_THRESHOLD    const int *
-0xC004510E     SNDCTL_SYNTH_MEMAVL     int *   // I-O
+0xC004510E     SNDCTL_SYNTH_MEMAVL     int *   // I\-O
 0x4004510F     SNDCTL_FM_4OP_ENABLE    const int *
-0xCFB85110     SNDCTL_PMGR_ACCESS      struct patmgr_info *    // I-O
+0xCFB85110     SNDCTL_PMGR_ACCESS      struct patmgr_info *    // I\-O
 0x00005111     SNDCTL_SEQ_PANIC        void
+.TE
+.TS
+l l l.
 0x40085112     SNDCTL_SEQ_OUTOFBAND    const struct seq_event_rec *
-0xC0045401     SNDCTL_TMR_TIMEBASE     int *   // I-O
+.TE
+.TS
+l l l l.
+0xC0045401     SNDCTL_TMR_TIMEBASE     int *   // I\-O
 0x00005402     SNDCTL_TMR_START        void
 0x00005403     SNDCTL_TMR_STOP void
 0x00005404     SNDCTL_TMR_CONTINUE     void
-0xC0045405     SNDCTL_TMR_TEMPO        int *   // I-O
-0xC0045406     SNDCTL_TMR_SOURCE       int *   // I-O
+0xC0045405     SNDCTL_TMR_TEMPO        int *   // I\-O
+0xC0045406     SNDCTL_TMR_SOURCE       int *   // I\-O
 0x40045407     SNDCTL_TMR_METRONOME    const int *
-0x40045408     SNDCTL_TMR_SELECT       int *   // I-O
-0xCFB85001     SNDCTL_PMGR_IFACE       struct patmgr_info *    // I-O
-0xC0046D00     SNDCTL_MIDI_PRETIME     int *   // I-O
+0x40045408     SNDCTL_TMR_SELECT       int *   // I\-O
+0xCFB85001     SNDCTL_PMGR_IFACE       struct patmgr_info *    // I\-O
+0xC0046D00     SNDCTL_MIDI_PRETIME     int *   // I\-O
 0xC0046D01     SNDCTL_MIDI_MPUMODE     const int *
-0xC0216D02     SNDCTL_MIDI_MPUCMD      struct mpu_command_rec *        // I-O
+.TE
+.TS
+l l l l.
+0xC0216D02     SNDCTL_MIDI_MPUCMD      struct mpu_command_rec *        // I\-O
+.TE
+.TS
+l l l l.
 0x00005000     SNDCTL_DSP_RESET        void
 0x00005001     SNDCTL_DSP_SYNC void
-0xC0045002     SNDCTL_DSP_SPEED        int *   // I-O
-0xC0045003     SNDCTL_DSP_STEREO       int *   // I-O
-0xC0045004     SNDCTL_DSP_GETBLKSIZE   int *   // I-O
-0xC0045006     SOUND_PCM_WRITE_CHANNELS        int *   // I-O
-0xC0045007     SOUND_PCM_WRITE_FILTER  int *   // I-O
+0xC0045002     SNDCTL_DSP_SPEED        int *   // I\-O
+0xC0045003     SNDCTL_DSP_STEREO       int *   // I\-O
+0xC0045004     SNDCTL_DSP_GETBLKSIZE   int *   // I\-O
+0xC0045006     SOUND_PCM_WRITE_CHANNELS        int *   // I\-O
+0xC0045007     SOUND_PCM_WRITE_FILTER  int *   // I\-O
 0x00005008     SNDCTL_DSP_POST void
-0xC0045009     SNDCTL_DSP_SUBDIVIDE    int *   // I-O
-0xC004500A     SNDCTL_DSP_SETFRAGMENT  int *   // I-O
+0xC0045009     SNDCTL_DSP_SUBDIVIDE    int *   // I\-O
+0xC004500A     SNDCTL_DSP_SETFRAGMENT  int *   // I\-O
 0x8004500B     SNDCTL_DSP_GETFMTS      int *
-0xC0045005     SNDCTL_DSP_SETFMT       int *   // I-O
+0xC0045005     SNDCTL_DSP_SETFMT       int *   // I\-O
+.TE
+.TS
+l l l.
 0x800C500C     SNDCTL_DSP_GETOSPACE    struct audio_buf_info *
 0x800C500D     SNDCTL_DSP_GETISPACE    struct audio_buf_info *
 0x0000500E     SNDCTL_DSP_NONBLOCK     void
@@ -591,12 +640,24 @@ l l l l.
 0x80045007     SOUND_PCM_READ_FILTER   int *
 0x00004300     SNDCTL_COPR_RESET       void
 0xCFB04301     SNDCTL_COPR_LOAD        const struct copr_buffer *
-0xC0144302     SNDCTL_COPR_RDATA       struct copr_debug_buf * // I-O
-0xC0144303     SNDCTL_COPR_RCODE       struct copr_debug_buf * // I-O
+.TE
+.TS
+l l l l.
+0xC0144302     SNDCTL_COPR_RDATA       struct copr_debug_buf * // I\-O
+0xC0144303     SNDCTL_COPR_RCODE       struct copr_debug_buf * // I\-O
+.TE
+.TS
+l l l.
 0x40144304     SNDCTL_COPR_WDATA       const struct copr_debug_buf *
 0x40144305     SNDCTL_COPR_WCODE       const struct copr_debug_buf *
-0xC0144306     SNDCTL_COPR_RUN struct copr_debug_buf * // I-O
-0xC0144307     SNDCTL_COPR_HALT        struct copr_debug_buf * // I-O
+.TE
+.TS
+l l l l.
+0xC0144306     SNDCTL_COPR_RUN struct copr_debug_buf * // I\-O
+0xC0144307     SNDCTL_COPR_HALT        struct copr_debug_buf * // I\-O
+.TE
+.TS
+l l l.
 0x4FA44308     SNDCTL_COPR_SENDMSG     const struct copr_msg *
 0x8FA44309     SNDCTL_COPR_RCVMSG      struct copr_msg *
 0x80044D00     SOUND_MIXER_READ_VOLUME int *
@@ -624,39 +685,42 @@ l l l l.
 0x80044DFD     SOUND_MIXER_READ_RECMASK        int *
 0x80044DFB     SOUND_MIXER_READ_STEREODEVS     int *
 0x80044DFC     SOUND_MIXER_READ_CAPS   int *
-0xC0044D00     SOUND_MIXER_WRITE_VOLUME        int *   // I-O
-0xC0044D01     SOUND_MIXER_WRITE_BASS  int *   // I-O
-0xC0044D02     SOUND_MIXER_WRITE_TREBLE        int *   // I-O
-0xC0044D03     SOUND_MIXER_WRITE_SYNTH int *   // I-O
-0xC0044D04     SOUND_MIXER_WRITE_PCM   int *   // I-O
-0xC0044D05     SOUND_MIXER_WRITE_SPEAKER       int *   // I-O
-0xC0044D06     SOUND_MIXER_WRITE_LINE  int *   // I-O
-0xC0044D07     SOUND_MIXER_WRITE_MIC   int *   // I-O
-0xC0044D08     SOUND_MIXER_WRITE_CD    int *   // I-O
-0xC0044D09     SOUND_MIXER_WRITE_IMIX  int *   // I-O
-0xC0044D0A     SOUND_MIXER_WRITE_ALTPCM        int *   // I-O
-0xC0044D0B     SOUND_MIXER_WRITE_RECLEV        int *   // I-O
-0xC0044D0C     SOUND_MIXER_WRITE_IGAIN int *   // I-O
-0xC0044D0D     SOUND_MIXER_WRITE_OGAIN int *   // I-O
-0xC0044D0E     SOUND_MIXER_WRITE_LINE1 int *   // I-O
-0xC0044D0F     SOUND_MIXER_WRITE_LINE2 int *   // I-O
-0xC0044D10     SOUND_MIXER_WRITE_LINE3 int *   // I-O
-0xC0044D1C     SOUND_MIXER_WRITE_MUTE  int *   // I-O
-0xC0044D1D     SOUND_MIXER_WRITE_ENHANCE       int *   // I-O
-0xC0044D1E     SOUND_MIXER_WRITE_LOUD  int *   // I-O
-0xC0044DFF     SOUND_MIXER_WRITE_RECSRC        int *   // I-O
+.TE
+.TS
+l l l l.
+0xC0044D00     SOUND_MIXER_WRITE_VOLUME        int *   // I\-O
+0xC0044D01     SOUND_MIXER_WRITE_BASS  int *   // I\-O
+0xC0044D02     SOUND_MIXER_WRITE_TREBLE        int *   // I\-O
+0xC0044D03     SOUND_MIXER_WRITE_SYNTH int *   // I\-O
+0xC0044D04     SOUND_MIXER_WRITE_PCM   int *   // I\-O
+0xC0044D05     SOUND_MIXER_WRITE_SPEAKER       int *   // I\-O
+0xC0044D06     SOUND_MIXER_WRITE_LINE  int *   // I\-O
+0xC0044D07     SOUND_MIXER_WRITE_MIC   int *   // I\-O
+0xC0044D08     SOUND_MIXER_WRITE_CD    int *   // I\-O
+0xC0044D09     SOUND_MIXER_WRITE_IMIX  int *   // I\-O
+0xC0044D0A     SOUND_MIXER_WRITE_ALTPCM        int *   // I\-O
+0xC0044D0B     SOUND_MIXER_WRITE_RECLEV        int *   // I\-O
+0xC0044D0C     SOUND_MIXER_WRITE_IGAIN int *   // I\-O
+0xC0044D0D     SOUND_MIXER_WRITE_OGAIN int *   // I\-O
+0xC0044D0E     SOUND_MIXER_WRITE_LINE1 int *   // I\-O
+0xC0044D0F     SOUND_MIXER_WRITE_LINE2 int *   // I\-O
+0xC0044D10     SOUND_MIXER_WRITE_LINE3 int *   // I\-O
+0xC0044D1C     SOUND_MIXER_WRITE_MUTE  int *   // I\-O
+0xC0044D1D     SOUND_MIXER_WRITE_ENHANCE       int *   // I\-O
+0xC0044D1E     SOUND_MIXER_WRITE_LOUD  int *   // I\-O
+0xC0044DFF     SOUND_MIXER_WRITE_RECSRC        int *   // I\-O
 .TE
 
 // <include/linux/umsdos_fs.h>
 .TS
 l l l l.
-0x000004D2     UMSDOS_READDIR_DOS      struct umsdos_ioctl *   // I-O
+0x000004D2     UMSDOS_READDIR_DOS      struct umsdos_ioctl *   // I\-O
 0x000004D3     UMSDOS_UNLINK_DOS       const struct umsdos_ioctl *
 0x000004D4     UMSDOS_RMDIR_DOS        const struct umsdos_ioctl *
-0x000004D5     UMSDOS_STAT_DOS struct umsdos_ioctl *   // I-O
+0x000004D5     UMSDOS_STAT_DOS struct umsdos_ioctl *   // I\-O
 0x000004D6     UMSDOS_CREAT_EMD        const struct umsdos_ioctl *
 0x000004D7     UMSDOS_UNLINK_EMD       const struct umsdos_ioctl *
-0x000004D8     UMSDOS_READDIR_EMD      struct umsdos_ioctl *   // I-O
+0x000004D8     UMSDOS_READDIR_EMD      struct umsdos_ioctl *   // I\-O
 0x000004D9     UMSDOS_GETVERSION       struct umsdos_ioctl *
 0x000004DA     UMSDOS_INIT_EMD void
 0x000004DB     UMSDOS_DOS_SETUP        const struct umsdos_ioctl *
@@ -665,7 +729,7 @@ l l l l.
 
 // <include/linux/vt.h>
 .TS
-l l l l.
+l l l.
 0x00005600     VT_OPENQRY      int *
 0x00005601     VT_GETMODE      struct vt_mode *
 0x00005602     VT_SETMODE      const struct vt_mode *
@@ -679,33 +743,16 @@ l l l l.
 0x0000560A     VT_RESIZEX      const struct vt_consize *
 .TE
 
-// More arguments.
-¤¤¤¯¤Ä¤«¤Î ioctl ¤ÏÄɲäΥݥ¤¥ó¥¿¤ò´Þ¤à¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤ò»ÈÍѤ·¤Þ¤¹¡£
-¤³¤³¤Ç¤³¤ì¤é¤ò¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤ËÀâÌÀ¤·¤Þ¤¹¡£
-
-.B CDROMREADAUDIO
-¤ÏÆþÎϥݥ¤¥ó¥¿
-.I "const struct cdrom_read_audio *"
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.I buf
-¥Õ¥£¡¼¥ë¥É¤ÏÂ礭¤µ
-.IR "nframes * CD_FRAMESIZE_RAW"
-¤Î½ÐÎϥХåե¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
-
-.BR CDROMREADCOOKED ,
-.BR CDROMREADMODE1 ,
-.BR CDROMREADMODE2 ,
-.B CDROMREADRAW
-¤ÏÆþÎϥݥ¤¥ó¥¿
-.I const struct cdrom_msf *
-¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤é¤ÏƱ¤¸¥Ý¥¤¥ó¥¿¤ò
-.I char []
-¤Ø¤Î½ÐÎϥݥ¤¥ó¥¿¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£
-Ťµ¤ÏÍ×µá¤Ë¤è¤Ã¤ÆÊѲ½¤·¤Þ¤¹¡£
-.B CDROMREADMODE1
-¤Ë¤Ï¡¢Â¿¤¯¤Î¥Ç¥Ð¥¤¥¹¤¬
-CD_FRAMESIZE ¤ò»ÈÍѤ·¤Þ¤¹¤¬¡¢¸÷³Øµ­²±ÁõÃÖ (¸÷¥Ç¥£¥¹¥¯) ¤Î¥É¥é¥¤¥Ð¤Ï
-OPT_BLOCKSIZE ¤ò»ÈÍѤ·¤Þ¤¹ (¤É¤Á¤é¤âƱ¤¸ÃͤǠ2048 ¤Ç¤¹)¡£
+// More arguments.  いくつかの ioctl は追加のポインタを含む構造体へのポインタを使用します。
+ここでこれらをアルファベット順に説明します。
+
+\fBCDROMREADAUDIO\fP は入力ポインタ \fIconst struct cdrom_read_audio\ *\fP を使用します。 \fIbuf\fP
+フィールドは大きさ \fInframes\ * CD_FRAMESIZE_RAW\fP の出力バッファへのポインタです。
+
+\fBCDROMREADCOOKED\fP, \fBCDROMREADMODE1\fP, \fBCDROMREADMODE2\fP, \fBCDROMREADRAW\fP
+は入力ポインタ \fIconst struct cdrom_msf\ *\fP を使用します。これらは同じポインタを \fIchar []\fP
+への出力ポインタとして使用します。 長さは要求によって変化します。 \fBCDROMREADMODE1\fP には、多くのデバイスが CD_FRAMESIZE
+を使用しますが、光学記憶装置 (光ディスク) のドライバは OPT_BLOCKSIZE を使用します (どちらも同じ値で 2048 です)。
 .nf
 
     CDROMREADCOOKED    char [CD_FRAMESIZE]
@@ -714,97 +761,41 @@ OPT_BLOCKSIZE 
     CDROMREADRAW       char [CD_FRAMESIZE_RAW]
 
 .fi
-.BR EQL_ENSLAVE ,
-.BR EQL_EMANCIPATE ,
-.BR EQL_GETSLAVECFG ,
-.BR EQL_SETSLAVECFG ,
-.BR EQL_GETMASTERCFG ,
-.B EQL_SETMASTERCFG
-¤Ï
-.I struct ifreq *
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.I ifr_data
-¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤Ë¼¨¤¹Ê̤ι½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¹:
+\fBEQL_ENSLAVE\fP, \fBEQL_EMANCIPATE\fP, \fBEQL_GETSLAVECFG\fP, \fBEQL_SETSLAVECFG\fP,
+\fBEQL_GETMASTERCFG\fP, \fBEQL_SETMASTERCFG\fP は \fIstruct ifreq\ *\fP を使用します。
+\fIifr_data\fP フィールドは以下に示す別の構造体へのポインタです:
 .nf
 
     EQL_ENSLAVE         const struct slaving_request *
     EQL_EMANCIPATE      const struct slaving_request *
-    EQL_GETSLAVECFG     struct slave_config *           // I-O
+    EQL_GETSLAVECFG     struct slave_config *           // I\-O
     EQL_SETSLAVECFG     const struct slave_config *
     EQL_GETMASTERCFG    struct master_config *
     EQL_SETMASTERCFG    const struct master_config *
 
 .fi
-.B FDRAWCMD
-¤Ï
-.I struct floppy raw_cmd *
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.I flags & FD_RAW_WRITE
-¤¬¥¼¥í°Ê³°¤Î¾ì¹ç¡¢
-.I data
-¤ÏÂ礭¤µ
-.I length
-¤ÎÆþÎϥХåե¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-.I flags & FD_RAW_READ
-¤¬¥¼¥í°Ê³°¤Î¾ì¹ç¡¢
-.I data
-¤ÏÂ礭¤µ
-.I length
-¤Î½ÐÎϥХåե¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ë¤Ê¤ê¤Þ¤¹¡£
-
-.BR GIO_FONTX ,
-.B PIO_FONTX
-¤Ï¤½¤ì¤¾¤ì
-.I struct console_font_desc *
-¤È
-.I const struct console_font_desc *
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.I chardata
-¤Ï
-.I char [charcount]
-¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
-¤³¤ì¤Ï
-.B GIO_FONTX
-¤Î½ÐÎϥХåե¡¤È
-.B PIO_FONTX
-¤ÎÆþÎϥХåե¡¤Ç¤¹¡£
-
-.BR GIO_UNIMAP ,
-.B PIO_UNIMAP
-¤Ï¤½¤ì¤¾¤ì
-.I struct unimapdesc *
-¤È
-.I const struct unimapdesc *
-¤ò»ÈÍѤ·¤Þ¤¹¡£
-.I entries
-¤Ï
-.I struct unipair [entry_ct]
-¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
-¤³¤ì¤Ï
-.B GIO_UNIMAP
-¤Î½ÐÎϥХåե¡¤È
-.B PIO_UNIMAP
-¤ÎÆþÎϥХåե¡¤Ç¤¹¡£
-
-KDADDIO, KDDELIO, KDDISABIO, KDENABIO ¤Ï I/O ¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹¤ò
-²Äǽ/ÉÔ²Äǽ¤Ë¤·¤Þ¤¹¡£¤³¤ì¤é¤ÏËܼÁŪ¤Ë¡¢'ioperm' ¤Ø¤ÎÊ̤Î
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¹¡£
-
-.BR KDMAPDISP ,
-.B KDUNMAPDISP
-¤Ï¥á¥â¥ê¡¦¥Þ¥Ã¥Ô¥ó¥°¤ä I/O ¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹¤ò²Äǽ/ÉÔ²Äǽ¤Ë¤·¤Þ¤¹¡£
-¤³¤ì¤é¤Ï¥«¡¼¥Í¥ë¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
-
-.B SCSI_IOCTL_PROBE_HOST
-¤ÏÆþÎϥݥ¤¥ó¥¿
-.I const int *
-¤òÂ礭¤µ¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£¤³¤ì¤ÏƱ¤¸Â礭¤µ¤Î
-.I char []
-¥Ð¥Ã¥Õ¥¡ ¤Ø¤Î½ÐÎϥݥ¤¥ó¥¿¤È¤·¤Æ¤â»ÈÍѤ·¤Þ¤¹¡£
-
-.BR SIOCADDRT ,
-.B SIOCDELRT
-¤Ï·¿¤¬°Ê²¼¤Î¥×¥í¥È¥³¥ë¤Ë°Í¸¤¹¤ëÆþÎϥݥ¤¥ó¥¿¤ò»ÈÍѤ·¤Þ¤¹:
+\fBFDRAWCMD\fP は \fIstruct floppy raw_cmd\ *\fP を使用します。 \fIflags & FD_RAW_WRITE\fP
+がゼロ以外の場合、 \fIdata\fP は大きさ \fIlength\fP の入力バッファへのポインタになります。 \fIflags & FD_RAW_READ\fP
+がゼロ以外の場合、 \fIdata\fP は大きさ \fIlength\fP の出力バッファへのポインタになります。
+
+\fBGIO_FONTX\fP, \fBPIO_FONTX\fP はそれぞれ \fIstruct console_font_desc\ *\fP と \fIconst
+struct console_font_desc\ *\fP を使用します。 \fIchardata\fP は \fIchar [charcount]\fP
+バッファへのポインタです。 これは \fBGIO_FONTX\fP の出力バッファと \fBPIO_FONTX\fP の入力バッファです。
+
+\fBGIO_UNIMAP\fP, \fBPIO_UNIMAP\fP はそれぞれ \fIstruct unimapdesc\ *\fP と \fIconst struct
+unimapdesc\ *\fP を使用します。 \fIentries\fP は \fIstruct unipair [entry_ct]\fP
+バッファへのポインタです。 これは \fBGIO_UNIMAP\fP の出力バッファと \fBPIO_UNIMAP\fP の入力バッファです。
+
+KDADDIO, KDDELIO, KDDISABIO, KDENABIO は I/O ポートへのアクセスを
+可能/不可能にします。これらは本質的に、'ioperm' への別の インターフェースです。
+
+\fBKDMAPDISP\fP, \fBKDUNMAPDISP\fP はメモリ・マッピングや I/O ポートへのアクセスを可能/不可能にします。
+これらはカーネルに実装されていません。
+
+\fBSCSI_IOCTL_PROBE_HOST\fP は入力ポインタ \fIconst int\ *\fP を大きさとして使用します。これは同じ大きさの
+\fIchar []\fP バッファ への出力ポインタとしても使用します。
+
+\fBSIOCADDRT\fP, \fBSIOCDELRT\fP は型が以下のプロトコルに依存する入力ポインタを使用します:
 .nf
 
     Most protocols      const struct rtentry *
@@ -812,57 +803,33 @@ KDADDIO, KDDELIO, KDDISABIO, KDENABIO 
     NET/ROM             const struct nr_route_struct *
 
 .fi
-.B SIOCGIFCONF
-¤Ï
-.I struct ifconf *
-¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î
-.I ifc_buf
-¥Õ¥£¡¼¥ë¥É¤ÏŤµ
-.I ifc_len
-¥Ð¥¤¥È¤Î¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡£
-¤³¤ì¤Ë¥«¡¼¥Í¥ë¤¬
-.I struct ifreq []
-·¿¤Î¥ê¥¹¥È¤Ø½ñ¤­¹þ¤ß¤Þ¤¹¡£
-
-.B SIOCSIFHWADDR
-¤Ï·¿¤¬°Ê²¼¤Î¥×¥í¥È¥³¥ë¤Ë°Í¸¤¹¤ëÆþÎϥݥ¤¥ó¥¿¤ò»ÈÍѤ·¤Þ¤¹:
+\fBSIOCGIFCONF\fP は \fIstruct ifconf\ *\fP を使用します。この \fIifc_buf\fP フィールドは長さ
+\fIifc_len\fP バイトのバッファへのポインタです。 これにカーネルが \fIstruct ifreq []\fP 型のリストへ書き込みます。
+
+\fBSIOCSIFHWADDR\fP は型が以下のプロトコルに依存する入力ポインタを使用します:
 .nf
 
     Most protocols      const struct ifreq *
     AX.25               const char [AX25_ADDR_LEN]
 
 .fi
-.B TIOCLINUX
-¤Ï
-.I const char *
-¤ò»ÈÍѤ·¤Þ¤¹¡£¤³¤Î¥Ý¥¤¥ó¥¿¤ò¤¤¤¯¤Ä¤«¤Î
-ÆÈΩ¤·¤¿¥µ¥Ö¥¯¥é¥¹¤ò¼±Ê̤¹¤ë°Ù¤Ë»ÈÍѤ·¤Þ¤¹¡£°Ê²¼¤Î¥Æ¡¼¥Ö¥ë¤ÎÃæ¤Ç¡¢
-.I N + foo
-¤Ï N ¥Ð¥¤¥È¤ÎµÍ¤á¤â¤Î¤Î¸å¤Ë¤¢¤ë
-.I foo
-¤ò°ÕÌ£¤·¤Þ¤¹¡£
-.I struct selection
-¤Ï°ÅÌÛŪ¤Ë
-.I drivers/char/selection.c
-¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+\fBTIOCLINUX\fP は \fIconst char\ *\fP を使用します。このポインタをいくつかの
+独立したサブクラスを識別する為に使用します。以下のテーブルの中で、 \fIN + foo\fP は N バイトの詰めものの後にある \fIfoo\fP
+を意味します。 \fIstruct selection\fP は暗黙的に \fIdrivers/char/selection.c\fP の中で定義されています。
 .nf
 
-    TIOCLINUX-2         1 + const struct selection *
-    TIOCLINUX-3         void
-    TIOCLINUX-4         void
-    TIOCLINUX-5         4 + const struct { long [8]; } *
-    TIOCLINUX-6         char *
-    TIOCLINUX-7         char *
-    TIOCLINUX-10        1 + const char *
+    TIOCLINUX\-2         1 + const struct selection *
+    TIOCLINUX\-3         void
+    TIOCLINUX\-4         void
+    TIOCLINUX\-5         4 + const struct { long [8]; } *
+    TIOCLINUX\-6         char *
+    TIOCLINUX\-7         char *
+    TIOCLINUX\-10        1 + const char *
 
 .fi
 // Duplicate ioctls
 
-¤³¤Î¥ê¥¹¥È¤Ï
-.B SIOCDEVPRIVATE
-¤«¤é
-.B SIOCPROTOPRIVATE
-¤ÎÈϰϤΠioctl ¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£
+このリストは \fBSIOCDEVPRIVATE\fP から \fBSIOCPROTOPRIVATE\fP の範囲の ioctl を含んでいません。
 .TS
 l l l.
 0x00000001     FDSETPRM        FIBMAP
@@ -872,5 +839,9 @@ l l l.
 0x00005403     SNDCTL_TMR_STOP TCSETSW
 0x00005404     SNDCTL_TMR_CONTINUE     TCSETSF
 .TE
-.SH ´ØÏ¢¹àÌÜ
-.BR ioctl (2)
+.SH 関連項目
+\fBioctl\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。