aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man2/pathconf.2
blob: 06bb7635b4e4f4cfda36d5962bb4619b35c93a1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
.\" Copyright (c) 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" 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.
.\"
.\"	@(#)pathconf.2	8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/pathconf.2,v 1.17.2.1 2005/02/28 03:32:34 brueffer Exp %
.\"
.\" $FreeBSD$
.Dd November 4, 2002
.Dt PATHCONF 2
.Os
.Sh 名称
.Nm pathconf ,
.Nm fpathconf
.Nd 構成可能なパス名変数を取得する
.Sh ライブラリ
.Lb libc
.Sh 書式
.In unistd.h
.Ft long
.Fn pathconf "const char *path" "int name"
.Ft long
.Fn fpathconf "int fd" "int name"
.Sh 解説
.Fn pathconf
システムコールと
.Fn fpathconf
システムコールは、構成可能なシステム限界の現在値、またはパス名や
ファイル記述子に対応するオプション変数を
アプリケーションが判定する方法を提供します。
.Pp
.Fn pathconf
の場合、
.Fa path
引数はファイルまたはディレクトリの名前です。
.Fn fpathconf
の場合、
.Fa fd
引数はオープンファイルの記述子です。
.Fa name
引数は、照会するシステム変数を指定します。
それぞれの名前に関するシンボリック定数はインクルードファイル
.Li <unistd.h>
にあります。
.Pp
利用可能な値は次のとおりです:
.Pp
.Bl -tag -width 6n
.Pp
.It Li _PC_LINK_MAX
最大のファイルリンクカウント。
.It Li _PC_MAX_CANON
端末の標準モード入力待ち行列の最大バイト数。
.It Li _PC_MAX_INPUT
端末入力待ち行列内空間で利用できる最大バイト数の最小値。
.It Li _PC_NAME_MAX
ファイル名の最大バイト数。
.It Li _PC_PATH_MAX
パス名の最大バイト数。
.It Li _PC_PIPE_BUF
パイプに不可分に書き込まれる最大バイト数。
.It Li _PC_CHOWN_RESTRICTED
.Xr chown 2
システムコールを実行するのに、適切な特権が必要な場合は 1 を返し、
そうでない場合は 0 を返します。
全ての場合において
.St -p1003.1-2001
は適切な特権を要求しますが、この動作はこの規格の前の版ではオプションでした。
.It Li _PC_NO_TRUNC
構成要素が
.Brq Dv NAME_MAX
よりも長いパス名を使用しようとすると
.Bq Er ENAMETOOLONG
エラーを引き起こす場合は、0 より大きい値を返します。
そうでない場合には、このような構成要素は
.Brq Dv NAME_MAX
に切り詰められます。
全ての場合において
.St -p1003.1-2001
は適切なエラーを要求しますが、この動作はこの規格の前の版ではオプションでした。
また、
.Tn POSIX
に縛られていないファイルシステムはこの動作をサポートしません。
.It Li _PC_VDISABLE
端末制御文字を無効にするための値を返します。
.It Li _PC_ASYNC_IO
非同期 I/O がサポートされている場合は 1 を返し、
そうでなければ 0 を返します。
.It Li _PC_PRIO_IO
このファイルに対して優先 I/O がサポートされている場合は 1 を返し、
そうでなければ 0 を返します。
.It Li _PC_SYNC_IO
このファイルに対して同期 I/O がサポートされている場合は 1 を返し、
そうでなければ 0 を返します。
.It Li _PC_ALLOC_SIZE_MIN
ファイルの一部を格納するために確保される領域の最小バイト数。
.It Li _PC_FILESIZEBITS
最大ファイルサイズを表現するのに必要なビット数。
.It Li _PC_REC_INCR_XFER_SIZE
ファイル転送サイズの、
.Dv _PC_REC_MIN_XFER_SIZE
から
.Dv _PC_REC_MAX_XFER_SIZE
への推奨増加量。
.It Li _PC_REC_MAX_XFER_SIZE
推奨ファイル転送サイズの最大値。
.It Li _PC_REC_MIN_XFER_SIZE
推奨ファイル転送サイズの最小値。
.It Li _PC_REC_XFER_ALIGN
ファイル転送バッファの推奨アラインメント。
.It Li _PC_SYMLINK_MAX
シンボリックリンクに使われる最大バイト数。
.It Li _PC_ACL_EXTENDED
指定されたファイルに対してアクセス制御リスト (ACL) が
設定できる場合は 1 を返し、そうでなければ 0 を返します。
.It Li _PC_ACL_PATH_MAX
ACL エントリのファイル毎の最大数。
.It Li _PC_CAP_PRESENT
指定されたファイルに対してケーパビリティ状態が
設定できる場合は 1 を返し、そうでなければ 0 を返します。
.It Li _PC_INF_PRESENT
指定されたファイルに対して情報ラベルが
設定できる場合は 1 を返し、そうでなければ 0 を返します。
.It Li _PC_MAC_PRESENT
指定されたファイルに対して強制アクセス制御 (MAC) ラベルが
設定できる場合は 1 を返し、そうでなければ 0 を返します。
.El
.Sh 戻り値
.Fn pathconf
または
.Fn fpathconf
の呼び出しが正常に完了しない場合は -1 が返され、
.Va errno
が適切な値に設定されます。
変数に結び付けられた機能がシステム内に限界を持たないとき、-1 が返され、
.Va errno
は修正されません。
それ以外の場合、現在の変数値が返されます。
.Sh エラー
次の条件のどれかが起きた場合、
.Fn pathconf
システムコールと
.Fn fpathconf
システムコールは -1 を返し、
.Va errno
に対応する値を設定します。
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa name
引数の値が無効です。
.It Bq Er EINVAL
このファイルとこの変数との結び付きは、実装されていません。
.El
.Pp
.Fn pathconf
システムコールは次の場合に失敗します:
.Bl -tag -width Er
.It Bq Er ENOTDIR
パスの構成要素中にディレクトリ以外のものが含まれています。
.It Bq Er ENAMETOOLONG
パス名の構成要素が
.Brq Dv NAME_MAX
の文字数を越えているか (ただし上記の
.Dv _PC_NO_TRUNC
を参照)、またはパス名全体が
.Brq Dv PATH_MAX
の文字数を越えています。
.It Bq Er ENOENT
指定されたファイルが存在しません。
.It Bq Er EACCES
指定されたパスには、検索が許可されていないディレクトリが含まれています。
.It Bq Er ELOOP
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
.It Bq Er EIO
ファイルシステムに読み書きしている間に入出力エラーが発生しました。
.El
.Pp
.Bl -tag -width Er
.Fn fpathconf
システムコールは次の場合に失敗します:
.It Bq Er EBADF
.Fa fd
引数が有効なオープンファイル記述子ではありません。
.It Bq Er EIO
ファイルシステムに読み書きしている間に入出力エラーが発生しました。
.El
.Sh 関連項目
.Xr sysctl 3
.Sh 歴史
.Fn pathconf
システムコールと
.Fn fpathconf
システムコールは
.Bx 4.4
ではじめて登場しました。