OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / draft / man2 / ioperm.2
1 .\" Hey Emacs! This file is -*- nroff -*- source.
2 .\"
3 .\" Copyright (c) 1993 Michael Haardt
4 .\" (michael@moria.de)
5 .\" Fri Apr  2 11:32:09 MET DST 1993
6 .\"
7 .\" This is free documentation; you can redistribute it and/or
8 .\" modify it under the terms of the GNU General Public License as
9 .\" published by the Free Software Foundation; either version 2 of
10 .\" the License, or (at your option) any later version.
11 .\"
12 .\" The GNU General Public License's references to "object code"
13 .\" and "executables" are to be interpreted as the output of any
14 .\" document formatting or typesetting system, including
15 .\" intermediate and printed output.
16 .\"
17 .\" This manual is distributed in the hope that it will be useful,
18 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
19 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 .\" GNU General Public License for more details.
21 .\"
22 .\" You should have received a copy of the GNU General Public
23 .\" License along with this manual; if not, write to the Free
24 .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
25 .\" USA.
26 .\"
27 .\" Modified Sat Jul 24 15:12:05 1993 by Rik Faith <faith@cs.unc.edu>
28 .\" Modified Tue Aug  1 16:27    1995 by Jochen Karrer
29 .\"                              <cip307@cip.physik.uni-wuerzburg.de>
30 .\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
31 .\" Modified Mon Feb 15 17:28:41 CET 1999 by Andries E. Brouwer <aeb@cwi.nl>
32 .\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
33 .\"     Added notes on capability requirements
34 .\"
35 .\" Japanese Version Copyright (c) 1997 HORIMOTO Masafumi
36 .\"         all rights reserved.
37 .\" Translated 1997-09-11, HORIMOTO Masafumi
38 .\" Modified 1999-04-03, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
39 .\" Updated 2003-10-12, Kentaro Shirakata <argrath@ub32.org>
40 .\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
41 .\" Updated 2007-01-07, Akihiro MOTOKI, catch up to LDP v2.43
42 .\"
43 .TH IOPERM 2 2007-06-15 "Linux" "Linux Programmer's Manual"
44 .\"O .SH NAME
45 .SH 名前
46 .\"O ioperm \- set port input/output permissions
47 ioperm \- ポートの入出力許可を設定する
48 .\"O .SH SYNOPSIS
49 .SH 書式
50 .B #include <unistd.h>
51 /* for libc5 */
52 .br
53 .B #include <sys/io.h>
54 /* for glibc */
55 .sp
56 .BI "int ioperm(unsigned long " from ", unsigned long " num ", int " turn_on );
57 .\"O .SH DESCRIPTION
58 .SH 説明
59 .\"O .BR ioperm ()
60 .\"O sets the port access permission bits for the calling process for
61 .\"O \fInum\fP bytes starting from port address \fIfrom\fP to the value
62 .\"O \fIturn_on\fP.
63 .\"O If \fIturn_on\fP is nonzero, the calling process must be privileged
64 .\"O .RB ( CAP_SYS_RAWIO ).
65 .BR ioperm ()
66 は、引き数 \fIfrom\fP の I/O ポートアドレスから
67 \fInum\fP バイト分の領域に対する、呼び出し元プロセスの
68 アクセス許可ビットを、\fIturn_on\fP に設定する。
69 \fIturn_on\fP が 0 以外の場合、呼び出し元プロセスは特権
70 .RB ( CAP_SYS_RAWIO )
71 を持っていなければならない。
72
73 .\" FIXME is the following ("Only the first 0x3ff I/O ports can be
74 .\" specified in this manner") still true?  Looking at changes in
75 .\" include/asm-i386/processor.h between 2.4 and 2.6 suggests
76 .\" that the limit is different in 2.6.
77 .\"O Only the first 0x3ff I/O ports can be specified in this manner.
78 .\"O For more ports, the
79 .\"O .BR iopl (2)
80 .\"O function must be used.
81 この方法で設定できるのは 0x3ff 番地までの I/Oポートに限られる。
82 これよりも大きなアドレスのポートに対しては
83 .BR iopl (2)
84 関数を使わなければならない。
85
86 .\"O Permissions are not inherited by the child created by
87 .\"O .BR fork (2).
88 .\"O Permissions are preserved across
89 .\"O .BR execve (2);
90 .\"O this is useful for giving port access permissions to unprivileged
91 .\"O programs.
92 アクセス権は
93 .BR fork (2)
94 で作成された子プロセスには継承されない。
95 .BR execve (2)
96 の前後でアクセス権は保存される。この機能は
97 非特権プログラムにポートへのアクセス権を
98 与えるのに使用できる。
99
100 .\"O This call is mostly for the i386 architecture.
101 .\"O On many other architectures it does not exist or will always
102 .\"O return an error.
103 このシステムコールはほとんど i386 アーキテクチャのためだけのものである。
104 その他の多くのアーキテクチャでは存在しないか、常にエラーを返す。
105 .SH 返り値
106 成功した場合には 0 を返す。エラーの場合に \-1 を返し、
107 .I errno
108 に適切な値を設定する。
109 .\"O .SH ERRORS
110 .SH エラー
111 .TP
112 .B EINVAL
113 .\"O Invalid values for
114 .\"O .I from
115 .\"O or
116 .\"O .IR num .
117 .I from
118 または
119 .I num
120 の値が不正である。
121 .TP
122 .B EIO
123 .\"O (on PowerPC) This call is not supported.
124 (PowerPC で) このシステムコールはサポートしていない。
125 .TP
126 .B ENOMEM
127 .\" Could not allocate I/O bitmap.
128 .\"O Out of memory.
129 メモリ不足。
130 .TP
131 .B EPERM
132 .\"O The calling process has insufficient privilege.
133 呼び出し元プロセスに十分な権限がなかった。
134 .\"O .SH "CONFORMING TO"
135 .SH 準拠
136 .\"O .BR ioperm ()
137 .\"O is Linux-specific and should not be used in programs
138 .\"O intended to be portable.
139 .BR ioperm ()
140 は Linux 特有の関数であり、移植を意図したプログラムで
141 使用してはならない。
142 .\"O .SH NOTES
143 .SH 注意
144 .\"O Libc5 treats it as a system call and has a prototype in
145 .\"O .IR <unistd.h> .
146 .\"O Glibc1 does not have a prototype.
147 .\"O Glibc2 has a prototype both in
148 .\"O .I <sys/io.h>
149 .\"O and in
150 .\"O .IR <sys/perm.h> .
151 .\"O Avoid the latter, it is available on i386 only.
152 libc5 ではシステムコールとして扱い
153 .I <unistd.h>
154 にプロトタイプが存在している。
155 glibc1 にはプロトタイプは存在しない。
156 glibc2 は
157 .I <sys/io.h>
158
159 .I <sys/perm.h>
160 の両方にプロトタイプを持っている。
161 後者は i386 のみで利用可能なので、使用すべきではない。
162 .\"O .SH "SEE ALSO"
163 .SH 関連項目
164 .BR iopl (2),
165 .BR capabilities (7)