pathconf(2) FreeBSD 一般コマンドマニュアル

pathconf

前のページ 上に戻る 次のページ

pathconf




書式

     #include <unistd.h>

     long
     pathconf(const char *path, int name);

     long
     fpathconf(int fd, int name);


解説

     pathconf() 関数と fpathconf() 関数は、構成可能なシステム限界の現在値、ま
     たはパス名やファイル記述子に対応するオプション変数をアプリケーションが判
     定する方法を提供します。

     pathconf() の場合、 path 引数はファイルまたはディレクトリの名前です。
     fpathconf() の場合、 fd 引数はオープンファイルの記述子です。 name 引数
     は、照会するシステム変数を指定します。それぞれの名前に関するシンボリック
     定数はインクルードファイル <unistd.h> にあります。

     利用可能な値は次のとおりです。

     _PC_LINK_MAX
             最大のファイルリンクカウント。

     _PC_MAX_CANON
             端末の標準モード入力待ち行列の最大バイト数。

     _PC_MAX_INPUT
             端末入力待ち行列内空間で利用できる最大バイト数の最小値。

     _PC_NAME_MAX
             ファイル名の最大バイト数。

     _PC_PATH_MAX
             パス名の最大バイト数。

     _PC_PIPE_BUF
             パイプに自動的に書込まれる最大バイト数。

     _PC_CHOWN_RESTRICTED
             chown(2) システムコールを実行するのに、適切な特権が必要な場合は 1
             を返し、そうでない場合は 0 を返します。

     _PC_NO_TRUNC
             KERN_NAME_MAX より長いファイル名が切り捨てられる場合は 1 を返しま
             す。

     _PC_VDISABLE
             端末制御文字を無効にするための値を返します。


戻り値

     pathconf() は次の場合に失敗します。

     [ENOTDIR]          パスの構成要素中にディレクトリ以外のものが含まれていま
                        す。

     [ENAMETOOLONG]     パス名の構成要素が 255 文字を越えているか、またはパス
                        名全体が 1023 文字を越えています。

     [ENOENT]           指定されたファイルが存在しません。

     [EACCES]           指定されたパスには、検索が許可されていないディレクトリ
                        が含まれています。

     [ELOOP]            パス名を変換するときに検出されたシンボリックリンクが多
                        すぎます。

     [EIO]              ファイルシステムに読み書きしている間に入出力エラーが発
                        生しました。

     fpathconf() は次の場合に失敗します。

     [EBADF]            fd は有効なオープンファイル記述子ではありません。

     [EIO]              ファイルシステムに読み書きしている間に入出力エラーが発
                        生しました。


関連項目

     sysctl(3)


歴史

     pathconf() 関数と fpathconf() 関数は 4.4BSD ではじめて登場しました。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス