OSDN Git Service

(split) LDP: Restore and add Copyrights for draft pages
[linuxjm/LDP_man-pages.git] / draft / man2 / ioctl.2
1 .\" Copyright (c) 1980, 1991 Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\" 3. All advertising materials mentioning features or use of this software
14 .\"    must display the following acknowledgement:
15 .\"     This product includes software developed by the University of
16 .\"     California, Berkeley and its contributors.
17 .\" 4. Neither the name of the University nor the names of its contributors
18 .\"    may be used to endorse or promote products derived from this software
19 .\"    without specific prior written permission.
20 .\"
21 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" SUCH DAMAGE.
32 .\" %%%LICENSE_END
33 .\"
34 .\"     @(#)ioctl.2     6.4 (Berkeley) 3/10/91
35 .\"
36 .\" Modified 1993-07-23 by Rik Faith <faith@cs.unc.edu>
37 .\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com>
38 .\" Modified 1999-06-25 by Rachael Munns <vashti@dream.org.uk>
39 .\" Modified 2000-09-21 by Andries Brouwer <aeb@cwi.nl>
40 .\"
41 .\"*******************************************************************
42 .\"
43 .\" This file was generated with po4a. Translate the source file.
44 .\"
45 .\"*******************************************************************
46 .\"
47 .\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
48 .\"         all rights reserved.
49 .\" Translated Sat Aug 14 10:10:27 JST 1999
50 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
51 .\" Modified 2002-09-24 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
52 .\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
53 .\" Updated 2011-08-10, TACHIBANA Akira <tati@kc5.so-net.ne.jp>
54 .\" Updated 2011-09-15, TACHIBANA Akira <tati@kc5.so-net.ne.jp>
55 .\"
56 .TH IOCTL 2 2000\-09\-21 Linux "Linux Programmer's Manual"
57 .SH 名前
58 ioctl \- デバイスを制御する
59 .SH 書式
60 \fB#include <sys/ioctl.h>\fP
61 .sp
62 \fBint ioctl(int \fP\fId\fP\fB, int \fP\fIrequest\fP\fB, ...);\fP
63 .SH 説明
64 \fBioctl\fP()  関数はスペシャル・ファイルを構成するデバイスのパラメータを 操作する。特に、キャラクタ型のスペシャル・ファイル (例えば端末
65 (terminal))  の多くの動作特性を \fBioctl\fP()  リクエストによって制御することができる。引き数 \fId\fP
66 はオープンされたファイル・ディスクリプタでなければならない。
67 .PP
68 2 番目の引き数は、デバイス依存のリクエスト・コードである。 3 番目の引き数は、メモリへの型を指定しないポインタである。 この引き数は伝統的に (C
69 で \fBvoid *\fP という書き方が有効になる前から)  \fBchar *\fP\fIargp\fP
70 と表記されている。したがって、この文章でもそう名付けることとする。
71 .PP
72 \fBioctl\fP()  の \fIrequest\fP には、 その引き数が \fI入力\fP パラメータと \fI出力\fP パラメータのどちらであるかの区別や、
73 \fIargp\fP 引き数のバイト単位のサイズ、といった情報がエンコードされている。 \fBioctl\fP()  の \fIrequest\fP
74 を指定するためのマクロ (macro) と定義は \fI<sys/ioctl.h>\fP ファイルにある。
75 .SH 返り値
76 たいていの場合、成功するとゼロが返される。 ただし、 \fBioctl\fP()  リクエストの中にはパラメータの出力に返り値を使用しているものが若干あり、
77 その場合は、成功したときに非負の値が返される。 エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
78 .SH エラー
79 .TP  0.7i
80 \fBEBADF\fP
81 \fId\fP が有効なディスクリプタではない。
82 .TP 
83 \fBEFAULT\fP
84 \fIargp\fP がアクセス不可能なメモリを参照している。
85 .TP 
86 \fBEINVAL\fP
87 \fIrequest\fP または \fIargp\fP が不正である。
88 .TP 
89 \fBENOTTY\fP
90 \fId\fP がキャラクタ型のスペシャル・デバイスを参照していない。
91 .TP 
92 \fBENOTTY\fP
93 指定されたリクエストはディスクリプタ \fId\fP が参照する種類のオブジェクトには適用することができない。
94 .SH 準拠
95 どれか一つの標準に対応しているわけではない。 \fBioctl\fP()  の引き数、返り値、解釈は、処理対象のデバイス・ドライバごとに 異なる (この関数は
96 UNIX の ストリーム I/O モデル に きちんと適合していない操作のための便利屋として使用される)。 よく知られている \fBioctl\fP()
97 のリストについては \fBioctl_list\fP(2)  を参照すること。 \fBioctl\fP()  関数コールは Version 7 AT&T UNIX
98 で登場した。
99 .SH 注意
100 このシステムコールを使うには、オープンされたファイル・ディスクリプタが 必要である。 \fBopen\fP(2)
101 コールはしばしば望んでいない副作用を伴うことがあるが、Linux では \fBopen\fP(2)  に \fBO_NONBLOCK\fP
102 フラグをつけることでこの副作用を避けることができる。
103 .SH 関連項目
104 .\" .BR mt (4),
105 \fBexecve\fP(2), \fBfcntl\fP(2), \fBioctl_list\fP(2), \fBopen\fP(2), \fBsd\fP(4), \fBtty\fP(4)
106 .SH この文書について
107 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
108 である。プロジェクトの説明とバグ報告に関する情報は
109 http://www.kernel.org/doc/man\-pages/ に書かれている。