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