OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / ioctl.2
index 67c859d..3eb3620 100644 (file)
 .\" 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                  ¥¨¥ó¥³¡¼¥É
-.\"WORD:       operating characteristics       Æ°ºîÆÃÀ­
+.\"WORD:       device                  ã\83\87ã\83\90ã\82¤ã\82¹
+.\"WORD:       control                 制御する
+.\"WORD:       special                 スペシャル
+.\"WORD:       character               ã\82­ã\83£ã\83©ã\82¯ã\82¿
+.\"WORD:       parameter               ã\83\91ã\83©ã\83¡ã\83¼ã\82¿
+.\"WORD:       operate                 操作
+.\"WORD:       open                    オープン
+.\"WORD:       request                 リクエスト
+.\"WORD:       descriptor              ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
+.\"WORD:       argument                引き数
+.\"WORD:       encode                  エンコード
+.\"WORD:       operating characteristics       動作特性
 .\"
 .TH IOCTL 2 2000-09-21 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-ioctl \- ¥Ç¥Ð¥¤¥¹¤òÀ©¸æ¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+ioctl \- デバイスを制御する
+.SH 書式
 .B #include <sys/ioctl.h>
 .sp
 .BI "int ioctl(int " d ", int " request ", ...);"
-.SH ÀâÌÀ
+.SH 説明
 .BR ioctl ()
-´Ø¿ô¤Ï¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤ò¹½À®¤¹¤ë¥Ç¥Ð¥¤¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤ò
-Áàºî¤¹¤ë¡£Æäˡ¢¥­¥ã¥é¥¯¥¿·¿¤Î¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë (Î㤨¤ÐüËö (terminal))
-¤Î¿¤¯¤ÎÆ°ºîÆÃÀ­¤ò
+関数はスペシャル・ファイルを構成するデバイスのパラメータを
+操作する。特に、キャラクタ型のスペシャル・ファイル (例えば端末 (terminal))
+の多くの動作特性を
 .BR ioctl ()
-¥ê¥¯¥¨¥¹¥È¤Ë¤è¤Ã¤ÆÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£°ú¤­¿ô
+リクエストによって制御することができる。引き数
 .I d
-¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+はオープンされたファイル・ディスクリプタでなければならない。
 .PP
-2 ÈÖÌܤΰú¤­¿ô¤Ï¡¢¥Ç¥Ð¥¤¥¹°Í¸¤Î¥ê¥¯¥¨¥¹¥È¡¦¥³¡¼¥É¤Ç¤¢¤ë¡£
-3 ÈÖÌܤΰú¤­¿ô¤Ï¡¢¥á¥â¥ê¤Ø¤Î·¿¤ò»ØÄꤷ¤Ê¤¤¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-¤³¤Î°ú¤­¿ô¤ÏÅÁÅýŪ¤Ë (C ¤Ç
+2 番目の引き数は、デバイス依存のリクエスト・コードである。
+3 番目の引き数は、メモリへの型を指定しないポインタである。
+この引き数は伝統的に (C で
 .B "void *"
-¤È¤¤¤¦½ñ¤­Êý¤¬Í­¸ú¤Ë¤Ê¤ëÁ°¤«¤é)
+という書き方が有効になる前から)
 .BI "char *" argp
-¤Èɽµ­¤µ¤ì¤Æ¤¤¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Îʸ¾Ï¤Ç¤â¤½¤¦Ì¾ÉÕ¤±¤ë¤³¤È¤È¤¹¤ë¡£
+と表記されている。したがって、この文章でもそう名付けることとする。
 .PP
 .BR ioctl ()
-¤Î
+の
 .I request
-¤Ë¤Ï¡¢
-¤½¤Î°ú¤­¿ô¤¬
-.I ÆþÎÏ
-¥Ñ¥é¥á¡¼¥¿¤È
-.I ½ÐÎÏ
-¥Ñ¥é¥á¡¼¥¿¤Î¤É¤Á¤é¤Ç¤¢¤ë¤«¤Î¶èÊ̤䡢
+には、
+その引き数が
+.I 入力
+パラメータと
+.I 出力
+パラメータのどちらであるかの区別や、
 .I argp
-°ú¤­¿ô¤Î¥Ð¥¤¥Èñ°Ì¤Î¥µ¥¤¥º¡¢¤È¤¤¤Ã¤¿¾ðÊ󤬥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¡£
+引き数のバイト単位のサイズ、といった情報がエンコードされている。
 .BR ioctl ()
-¤Î
+の
 .I request
-¤ò»ØÄꤹ¤ë¤¿¤á¤Î¥Þ¥¯¥í (macro) ¤ÈÄêµÁ¤Ï
+を指定するためのマクロ (macro) と定義は
 .I <sys/ioctl.h>
-¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡£
-.SH ÊÖ¤êÃÍ
-¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢À®¸ù¤¹¤ë¤È¥¼¥í¤¬ÊÖ¤µ¤ì¤ë¡£
-¤¿¤À¤·¡¢
+ファイルにある。
+.SH 返り値
+たいていの場合、成功するとゼロが返される。
+ただし、
 .BR ioctl ()
-¥ê¥¯¥¨¥¹¥È¤ÎÃæ¤Ë¤Ï¥Ñ¥é¥á¡¼¥¿¤Î½ÐÎϤËÊÖ¤êÃͤò»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤¬¼ã´³¤¢¤ê¡¢
-¤½¤Î¾ì¹ç¤Ï¡¢À®¸ù¤·¤¿¤È¤­¤ËÈóÉé¤ÎÃͤ¬ÊÖ¤µ¤ì¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
+リクエストの中にはパラメータの出力に返り値を使用しているものが若干あり、
+その場合は、成功したときに非負の値が返される。
+エラーの場合は \-1 が返され、
 .I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
+が適切に設定される。
+.SH ã\82¨ã\83©ã\83¼
 .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
-»ØÄꤵ¤ì¤¿¥ê¥¯¥¨¥¹¥È¤Ï¥Ç¥£¥¹¥¯¥ê¥×¥¿
+æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83ªã\82¯ã\82¨ã\82¹ã\83\88ã\81¯ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
 .I d
-¤¬»²¾È¤¹¤ë¼ïÎà¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤ÏŬÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
-.SH ½àµò
-¤É¤ì¤«°ì¤Ä¤Îɸ½à¤ËÂбþ¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
+が参照する種類のオブジェクトには適用することができない。
+.SH 準拠
+どれか一つの標準に対応しているわけではない。
 .BR ioctl ()
-¤Î°ú¤­¿ô¡¢ÊÖ¤êÃÍ¡¢²ò¼á¤Ï¡¢½èÍýÂоݤΥǥХ¤¥¹¡¦¥É¥é¥¤¥Ð¤´¤È¤Ë
-°Û¤Ê¤ë (¤³¤Î´Ø¿ô¤Ï UNIX ¤Î ¥¹¥È¥ê¡¼¥à I/O ¥â¥Ç¥ë ¤Ë
-¤­¤Á¤ó¤ÈŬ¹ç¤·¤Æ¤¤¤Ê¤¤Áàºî¤Î¤¿¤á¤ÎÊØÍø²°¤È¤·¤Æ»ÈÍѤµ¤ì¤ë)¡£
-¤è¤¯ÃΤé¤ì¤Æ¤¤¤ë
+の引き数、返り値、解釈は、処理対象のデバイス・ドライバごとに
+異なる (この関数は UNIX の ストリーム I/O モデル に
+きちんと適合していない操作のための便利屋として使用される)。
+よく知られている
 .BR ioctl ()
-¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï
+のリストについては
 .BR ioctl_list (2)
-¤ò»²¾È¤¹¤ë¤³¤È¡£
+を参照すること。
 .BR ioctl ()
-´Ø¿ô¥³¡¼¥ë¤Ï Version 7 AT&T UNIX ¤ÇÅо줷¤¿¡£
-.SH Ãí°Õ
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤¦¤Ë¤Ï¡¢¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬
-ɬÍפǤ¢¤ë¡£
+関数コールは Version 7 AT&T UNIX で登場した。
+.SH 注意
+このシステムコールを使うには、オープンされたファイル・ディスクリプタが
+必要である。
 .BR open (2)
-¥³¡¼¥ë¤Ï¤·¤Ð¤·¤Ð˾¤ó¤Ç¤¤¤Ê¤¤ÉûºîÍѤòȼ¤¦¤³¤È¤¬¤¢¤ë¤¬¡¢Linux ¤Ç¤Ï
+コールはしばしば望んでいない副作用を伴うことがあるが、Linux では
 .BR open (2)
-¤Ë
+に
 .B O_NONBLOCK
-¥Õ¥é¥°¤ò¤Ä¤±¤ë¤³¤È¤Ç¤³¤ÎÉûºîÍѤòÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
+フラグをつけることでこの副作用を避けることができる。
+.SH 関連項目
 .BR execve (2),
 .BR fcntl (2),
 .BR ioctl_list (2),