Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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(),           │ Thread safety │ MT-Safe │
       │pathconf()              │               │         │
       └────────────────────────┴───────────────┴─────────┘

準拠

       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/ に書かれている。