OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / ioctl.2
index 17912f8..f241175 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright (c) 1980, 1991 Regents of the University of California.
 .\" All rights reserved.
 .\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
@@ -28,6 +29,7 @@
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\"     @(#)ioctl.2    6.4 (Berkeley) 3/10/91
 .\"
 .\" Modified 1999-06-25 by Rachael Munns <vashti@dream.org.uk>
 .\" Modified 2000-09-21 by Andries Brouwer <aeb@cwi.nl>
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated Sat Aug 14 10:10:27 JST 1999
 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Modified 2002-09-24 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2011-08-10, TACHIBANA Akira <tati@kc5.so-net.ne.jp>
+.\" Updated 2011-09-15, TACHIBANA Akira <tati@kc5.so-net.ne.jp>
 .\"
-.\"WORD:       device                  ¥Ç¥Ð¥¤¥¹
-.\"WORD:       control                 À©¸æ¤¹¤ë
-.\"WORD:       special                 ¥¹¥Ú¥·¥ã¥ë
-.\"WORD:       character               ¥­¥ã¥é¥¯¥¿
-.\"WORD:       parameter               ¥Ñ¥é¥á¡¼¥¿
-.\"WORD:       operate                 Áàºî
-.\"WORD:       open                    ¥ª¡¼¥×¥ó
-.\"WORD:       request                 ¥ê¥¯¥¨¥¹¥È
-.\"WORD:       descriptor              ¥Ç¥£¥¹¥¯¥ê¥×¥¿
-.\"WORD:       argument                °ú¤­¿ô
-.\"WORD:       encode                  ¥¨¥ó¥³¡¼¥É
-.\"
-.TH IOCTL 2 2000-09-21 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-ioctl \- ¥Ç¥Ð¥¤¥¹ (device) ¤òÀ©¸æ¤¹¤ë
-.SH ½ñ¼°
-.B #include <sys/ioctl.h>
+.TH IOCTL 2 2014\-12\-31 Linux "Linux Programmer's Manual"
+.SH 名前
+ioctl \- デバイスを制御する
+.SH 書式
+\fB#include <sys/ioctl.h>\fP
 .sp
-.BI "int ioctl(int " d ", int " request ", ...);"
-.SH ÀâÌÀ
-.BR ioctl ()
-´Ø¿ô¤Ï¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤ò¹½À®¤¹¤ë¥Ç¥Ð¥¤¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤ò
-Áàºî¤¹¤ë¡£Æäˡ¢¥­¥ã¥é¥¯¥¿·¿¤Î¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë(Î㤨¤ÐüËö(terminal))
-¤Î¿¤¯¤ÎÁàºî²Äǽ¤ÊÆÃÀ­¤ò
-.BR ioctl ()
-¥ê¥¯¥¨¥¹¥È¤Ë¤è¤Ã¤ÆÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£°ú¤­¿ô
-.I d
-¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+.\" POSIX says 'request' is int, but glibc has the above
+.\" See https://bugzilla.kernel.org/show_bug.cgi?id=42705
+\fBint ioctl(int \fP\fIfd\fP\fB, unsigned long \fP\fIrequest\fP\fB, ...);\fP
+.SH 説明
+\fBioctl\fP()  関数はスペシャルファイルを構成するデバイスのパラメーターを 操作する。特に、キャラクター型のスペシャルファイル (例えば端末
+(terminal))  の多くの動作特性を \fBioctl\fP()  リクエストによって制御することができる。引き数 \fIfd\fP
+はオープンされたファイルディスクリプターでなければならない。
 .PP
-2ÈÖÌܤΰú¤­¿ô¤Ï¡¢¥Ç¥Ð¥¤¥¹°Í¸¤Î¥ê¥¯¥¨¥¹¥È¡¦¥³¡¼¥É¤Ç¤¢¤ë¡£
-3ÈÖÌܤΰú¤­¿ô¤Ï¡¢¥á¥â¥ê¤Ø¤Î·¿¤ò»ØÄꤷ¤Ê¤¤¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-¤³¤Î°ú¤­¿ô¤ÏÅÁÅýŪ¤Ë(C ¤Ç
-.B "void *"
-¤¬Í­¸ú¤Ë¤Ê¤ëÁ°¤«¤é)
-.BI "char *" argp
-¤Èɽµ­¤µ¤ì¤Æ¤¤¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Îʸ¾Ï¤Ç¤â¤½¤Î¤è¤¦¤Ë̾ÉÕ¤±¤ë¤³¤È¤È¤¹¤ë¡£
+2 番目の引き数は、デバイス依存のリクエストコードである。 3 番目の引き数は、メモリーへの型を指定しないポインターである。 この引き数は伝統的に (C
+で \fBvoid *\fP という書き方が有効になる前から)  \fBchar *\fP\fIargp\fP
+と表記されている。したがって、この文章でもそう名付けることとする。
 .PP
-.BR ioctl ()
-.I request
-¤Ë¤Ï¡¢°Ê²¼¤Î¾ðÊó¤ò¥Ð¥¤¥È¿ô¤Ç¥¨¥ó¥³¡¼¥É¤¹¤ë:
-(1)°ú¤­¿ô¤¬
-.I ÆþÎÏ
-¥Ñ¥é¥á¡¼¥¿¤«
-.I ½ÐÎÏ
-¥Ñ¥é¥á¡¼¥¿¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¤«¡¢
-(2)
-.I argp
-¤ÎÂ礭¤µ¡£
-.BR ioctl ()
-.I request
-¤ò»ØÄꤹ¤ë¤¿¤á¤Î¥Þ¥¯¥í(macro)¤ÈÄêµÁ¤Ï
-.I <sys/ioctl.h>
-¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡£
-.SH ÊÖ¤êÃÍ
-.BR ioctl ()
-requests use the return value as an output parameter
-¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢À®¸ù¤·¤¿¾ì¹ç¤Ï¥¼¥í¤¬ÊÖ¤µ¤ì¤ë¡£
-¤¤¤¯¤Ä¤«¤Î
-.BR ioctl ()
-Í×µá¤Ç¤Ï½ÐÎϥѥé¥á¡¼¥¿¤È¤·¤ÆÊÖ¤êÃͤò»ÈÍѤ·¤Æ¤¤¤¿¤ê¡¢
-À®¸ù¤·¤¿¾ì¹ç¤ËÈó 0 ¤ÎÃͤòÊÖ¤·¤¿¤ê¤¹¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
-.TP 0.7i
-.B EBADF
-.I d
-¤¬Í­¸ú¤Ê¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ï¤Ê¤¤¡£
-.TP
-.B EFAULT
-.I argp
-¤¬¥¢¥¯¥»¥¹ÉÔ²Äǽ¤Ê¥á¥â¥ê¤ò»²¾È¤·¤Æ¤¤¤ë¡£
-.TP
-.B EINVAL
-.I request
-¤Þ¤¿¤Ï
-.I argp
-¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
-.TP
-.B ENOTTY
-.I d
-¤¬¥­¥ã¥é¥¯¥¿·¿¤Î¥¹¥Ú¥·¥ã¥ë¡¦¥Ç¥Ð¥¤¥¹¤ò»²¾È¤·¤Æ¤¤¤Ê¤¤¡£
-.TP
-.B ENOTTY
-»ØÄꤵ¤ì¤¿¥ê¥¯¥¨¥¹¥È¤Ï¥Ç¥£¥¹¥¯¥ê¥×¥¿
-.I d
-¤¬»²¾È¤¹¤ë¼ïÎà¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤ÏŬÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
-.SH ½àµò
-¤É¤ì¤«°ì¤Ä¤Îɸ½à¤ËÂбþ¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
-.BR ioctl ()
-¤Î°ú¤­¿ô¡¢ÊÖ¤êÃÍ¡¢²ò¼á¤Ï¡¢½èÍýÂоݤΥǥХ¤¥¹¡¦¥É¥é¥¤¥Ð¤´¤È¤Ë
-°Û¤Ê¤ë(¤³¤Î´Ø¿ô¤Ï UNIX ¤Î ¥¹¥È¥ê¡¼¥à I/O ¥â¥Ç¥ë ¤Ë
-ÌÀ¤é¤«¤ËŬ¹ç¤·¤Ê¤¤ÍÍ¡¹¤ÊÁàºî¤Ë»ÈÍѤµ¤ì¤ë)¡£
-¤è¤¯ÃΤé¤ì¤Æ¤¤¤ë
-.BR ioctl ()
-¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï
-.BR ioctl_list (2)
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-.BR ioctl ()
-´Ø¿ô¥³¡¼¥ë¤Ï Version 7 AT&T UNIX ¤ÇÅо줷¤¿¡£
-.SH Ãí°Õ
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤¦¤Ë¤Ï¡¢¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬
-ɬÍפǤ¢¤ë¡£¤·¤Ð¤·¤Ð
-.BR open (2)
-¥³¡¼¥ë¤Ï˾¤ó¤Ç¤¤¤Ê¤¤ÉûºîÍѤòȼ¤¦¤³¤È¤¬¤¢¤ë¤¬¡¢Linux ¤Ç¤Ï
-.BR open (2)
-¤Ë
-.B O_NONBLOCK
-¥Õ¥é¥°¤ò¤Ä¤±¤ë¤³¤È¤Ç¤³¤ÎÉûºîÍѤòÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR execve (2),
-.BR fcntl (2),
-.BR ioctl_list (2),
-.BR open (2),
+\fBioctl\fP()  の \fIrequest\fP には、 その引き数が \fI入力\fP パラメーターと \fI出力\fP パラメーターのどちらであるかの区別や、
+\fIargp\fP 引き数のバイト単位のサイズ、といった情報がエンコードされている。 \fBioctl\fP()  の \fIrequest\fP
+を指定するためのマクロ (macro) と定義は \fI<sys/ioctl.h>\fP ファイルにある。
+.SH 返り値
+たいていの場合、成功するとゼロが返される。 ただし、 \fBioctl\fP()  リクエストの中にはパラメーターの出力に返り値を使用しているものが若干あり、
+その場合は、成功したときに非負の値が返される。 エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP  0.7i
+\fBEBADF\fP
+\fIfd\fP が無効なディスクリプターである。
+.TP 
+\fBEFAULT\fP
+\fIargp\fP がアクセス不可能なメモリーを参照している。
+.TP 
+\fBEINVAL\fP
+\fIrequest\fP または \fIargp\fP が不正である。
+.TP 
+\fBENOTTY\fP
+\fIfd\fP がキャラクター型のスペシャルデバイスを参照していない。
+.TP 
+\fBENOTTY\fP
+指定されたリクエストはディスクリプター \fIfd\fP が参照する種類のオブジェクトには適用することができない。
+.SH 準拠
+どれか一つの標準に対応しているわけではない。 \fBioctl\fP()  の引き数、返り値、解釈は、処理対象のデバイスドライバごとに 異なる (この関数は
+UNIX の ストリーム I/O モデル に きちんと適合していない操作のための便利屋として使用される)。 よく知られている \fBioctl\fP()
+のリストについては \fBioctl_list\fP(2)  を参照すること。 \fBioctl\fP()  関数コールは Version 7 AT&T UNIX
+で登場した。
+.SH 注意
+このシステムコールを使うには、オープンされたファイルディスクリプターが 必要である。 \fBopen\fP(2)
+コールはしばしば望んでいない副作用を伴うことがあるが、Linux では \fBopen\fP(2)  に \fBO_NONBLOCK\fP
+フラグをつけることでこの副作用を避けることができる。
+.SH 関連項目
 .\" .BR mt (4),
-.BR sd (4),
-.BR tty (4)
+\fBexecve\fP(2), \fBfcntl\fP(2), \fBioctl_list\fP(2), \fBopen\fP(2), \fBsd\fP(4), \fBtty\fP(4)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。