名前
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
- パイプ (pipe)
バッファーのサイズを返す。このとき
fd はパイプか FIFO
を参照していなければならず、
path は FIFO
を参照していなければならない。
対応するマクロは
_POSIX_PIPE_BUF である。
- _PC_CHOWN_RESTRICTED
- このファイルに対する
chown(2)
の呼び出しが許されていない場合には
0 以外の値を返す。
fd または path
がディレクトリを参照している場合は、この制限はそのディレクトリのすべて
のファイルに適用される。
対応するマクロは
_POSIX_CHOWN_RESTRICTED である。
- _PC_NO_TRUNC
- アクセス中のファイル名が
_POSIX_NAME_MAX
よりも長く、エラーとなる場合には
0 以外の値を返す。
対応するマクロは
_POSIX_NAME_MAX である。
- _PC_VDISABLE
- 特殊文字 (special character)
の処理が許されていない場合は
0 以外の値を
返す。このとき fd
または path
は端末を参照していなければならない。
返り値
(存在していれば)
制限値が返される。要求されたリソースへのシステムの制
限が存在していなければ
-1 が返され、 errno
は変更されない。エラーが起こった場合には
-1 が返され、 errno
がエラーに対応した値に設定される。
注意
name に _PC_NAME_MAX
を入れて返された値よりも長いファイル名を持つファイルが、与えられたディ
レクトリに存在するかもしれない。
いくつかの返り値はとても大きくなることがある。これらを使って
メモリーの割り当てを行うのは適当ではない。
この文書について
この man ページは Linux
man-pages
プロジェクトのリリース
3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。