FPATHCONF
Section: Linux Programmer's Manual (3)
Updated: 2017-07-13
Index
JM Home Page
roff page
名前
fpathconf, pathconf - ファイルの設定値を取得する
書式
#include <unistd.h>
long fpathconf(int fd, int name);
long pathconf(const char *path, int name);
説明
fpathconf() はオープンされているファイルディスクリプター fd に対して設定されているオプション name
の値を取得する。
pathconf() はファイル名 path に対して設定されているオプション name の値を取得する。
対応するマクロのうち <unistd.h> で定義されているものは最小値である。アプリケーションによってはこれらの
値を変更してより有利な動作を行おうとするものがある。この場合でも fpathconf() または pathconf()
は呼び出すことができる。この場合はより大きな値が返ることになろう。
name を以下の定数のどれかにすると、対応する設定オプションが返される。
- _PC_LINK_MAX
-
ファイルへのリンクの最大数。 fd または path がディレクトリの場合は、この値はディレクトリ全体に適用される。対応する マクロは
_POSIX_LINK_MAX である。
- _PC_MAX_CANON
-
フォーマット付き入力行の最大長。このとき fd または path は端末を参照していなければならない。 対応するマクロは
_POSIX_MAX_CANON である。
- _PC_MAX_INPUT
-
入力行の最大長。このとき fd または path は端末を参照していなければならない。 対応するマクロは
_POSIX_MAX_INPUT である。
- _PC_NAME_MAX
-
ディレクトリ path または fd 内に、そのプロセスが作成することができるファイル名の最大長。 対応するマクロは
_POSIX_NAME_MAX である。
- _PC_PATH_MAX
-
path または fd がカレントディレクトリの場合、相対パス名の最大長。 対応するマクロは _POSIX_PATH_MAX である。
- _PC_PIPE_BUF
-
The maximum number of bytes that can be written atomically to a pipe of
FIFO. For fpathconf(), fd should refer to a pipe or FIFO. For
fpathconf(), path should refer to a FIFO or a directory; in the latter
case, the returned value corresponds to FIFOs created in that directory.
The corresponding macro is _POSIX_PIPE_BUF.
- _PC_CHOWN_RESTRICTED
-
This returns a positive value if the use of chown(2) and fchown(2)
for changing a file's user ID is restricted to a process with appropriate
privileges, and changing a file's group ID to a value other than the
process's effective group ID or one of its supplementary group IDs is
restricted to a process with appropriate privileges. According to POSIX.1,
this variable shall always be defined with a value other than -1. The
corresponding macro is _POSIX_CHOWN_RESTRICTED.
-
If fd or path refers to a directory, then the return value applies to
all files in that directory.
- _PC_NO_TRUNC
-
アクセス中のファイル名が _POSIX_NAME_MAX よりも長く、エラーとなる場合には 0 以外の値を返す。 対応するマクロは
_POSIX_NAME_MAX である。
- _PC_VDISABLE
-
特殊文字 (special character) の処理が許されていない場合は 0 以外の値を 返す。このとき fd または path
は端末を参照していなければならない。
返り値
The return value of these functions is one of the following:
- *
-
On error, -1 is returned and errno is set to indicate the cause of the
error (for example, EINVAL, indicating that name is invalid).
- *
-
If name corresponds to a maximum or minimum limit, and that limit is
indeterminate, -1 is returned and errno is not changed. (To distinguish
an indeterminate limit from an error, set errno to zero before the call,
and then check whether errno is nonzero when -1 is returned.)
- *
-
If name corresponds to an option, a positive value is returned if the
option is supported, and -1 is returned if the option is not supported.
- *
-
Otherwise, the current value of the option or limit is returned. This value
will not be more restrictive than the corresponding value that was described
to the application in <unistd.h> or <limits.h> when
the application was compiled.
エラー
- EACCES
-
(pathconf()) Search permission is denied for one of the directories in
the path prefix of path.
- EBADF
-
(fpathconf()) fd が適切なファイルディスクリプターでない。
- EINVAL
-
name が無効である。
- EINVAL
-
The implementation does not support an association of name with the
specified file.
- ELOOP
-
(pathconf()) path を解決する際に遭遇したシンボリックリンクが多過ぎる。
- ENAMETOOLONG
-
(pathconf()) path が長過ぎる。
- ENOENT
-
(pathconf()) A component of path does not exist, or path is an
empty string.
- ENOTDIR
-
(pathconf()) path のディレクトリ部分が実際にはディレクトリでない。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
|
fpathconf(),
pathconf()
| Thread safety | MT-Safe
|
準拠
POSIX.1-2001, POSIX.1-2008.
注意
name に _PC_NAME_MAX を入れて返された値よりも長いファイル名を持つファイルが、与えられたディ
レクトリに存在するかもしれない。
いくつかの返り値はとても大きくなることがある。これらを使って メモリーの割り当てを行うのは適当ではない。
関連項目
getconf(1), open(2), statfs(2), confstr(3), sysconf(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 属性
-
- 準拠
-
- 注意
-
- 関連項目
-
- この文書について
-
This document was created by
man2html,
using the manual pages.
Time: 03:33:29 GMT, December 05, 2022