tail head cat sleep
QR code linking to this page

manページ  — PATHCONF

名称

pathconf, fpathconf – 構成可能なパス名変数を取得する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#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 を返します。 全ての場合において IEEE Std 1003.1-2001 ("POSIX.1") は適切な特権を要求しますが、この動作はこの規格の前の版ではオプションでした。
_PC_NO_TRUNC
  構成要素が { NAME_MAX} よりも長いパス名を使用しようとすると [ENAMETOOLONG] エラーを引き起こす場合は、0 より大きい値を返します。 そうでない場合には、このような構成要素は { NAME_MAX} に切り詰められます。 全ての場合において IEEE Std 1003.1-2001 ("POSIX.1") は適切なエラーを要求しますが、この動作はこの規格の前の版ではオプションでした。 また、 POSIX に縛られていないファイルシステムはこの動作をサポートしません。
_PC_VDISABLE
  端末制御文字を無効にするための値を返します。
_PC_ASYNC_IO
  非同期 I/O がサポートされている場合は 1 を返し、 そうでなければ 0 を返します。
_PC_PRIO_IO
  このファイルに対して優先 I/O がサポートされている場合は 1 を返し、 そうでなければ 0 を返します。
_PC_SYNC_IO
  このファイルに対して同期 I/O がサポートされている場合は 1 を返し、 そうでなければ 0 を返します。
_PC_ALLOC_SIZE_MIN
  ファイルの一部を格納するために確保される領域の最小バイト数。
_PC_FILESIZEBITS
  最大ファイルサイズを表現するのに必要なビット数。
_PC_REC_INCR_XFER_SIZE
  ファイル転送サイズの、 _PC_REC_MIN_XFER_SIZE から _PC_REC_MAX_XFER_SIZE への推奨増加量。
_PC_REC_MAX_XFER_SIZE
  推奨ファイル転送サイズの最大値。
_PC_REC_MIN_XFER_SIZE
  推奨ファイル転送サイズの最小値。
_PC_REC_XFER_ALIGN
  ファイル転送バッファの推奨アラインメント。
_PC_SYMLINK_MAX
  シンボリックリンクに使われる最大バイト数。
_PC_ACL_EXTENDED
  指定されたファイルに対してアクセス制御リスト (ACL) が 設定できる場合は 1 を返し、そうでなければ 0 を返します。
_PC_ACL_PATH_MAX
  ACL エントリのファイル毎の最大数。
_PC_CAP_PRESENT
  指定されたファイルに対してケーパビリティ状態が 設定できる場合は 1 を返し、そうでなければ 0 を返します。
_PC_INF_PRESENT
  指定されたファイルに対して情報ラベルが 設定できる場合は 1 を返し、そうでなければ 0 を返します。
_PC_MAC_PRESENT
  指定されたファイルに対して強制アクセス制御 (MAC) ラベルが 設定できる場合は 1 を返し、そうでなければ 0 を返します。

戻り値

pathconf() または fpathconf() の呼び出しが正常に完了しない場合は -1 が返され、 errno が適切な値に設定されます。 変数に結び付けられた機能がシステム内に限界を持たないとき、-1 が返され、 errno は修正されません。 それ以外の場合、現在の変数値が返されます。

エラー

次の条件のどれかが起きた場合、 pathconf() システムコールと fpathconf() システムコールは -1 を返し、 errno に対応する値を設定します。
[EINVAL]
  name 引数の値が無効です。
[EINVAL]
  このファイルとこの変数との結び付きは、実装されていません。

pathconf() システムコールは次の場合に失敗します:
[ENOTDIR]
  パスの構成要素中にディレクトリ以外のものが含まれています。
[ENAMETOOLONG]
  パス名の構成要素が { NAME_MAX} の文字数を越えているか (ただし上記の _PC_NO_TRUNC を参照)、またはパス名全体が { PATH_MAX} の文字数を越えています。
[ENOENT]
  指定されたファイルが存在しません。
[EACCES]
  指定されたパスには、検索が許可されていないディレクトリが含まれています。
[ELOOP]
  パス名を変換するときに検出されたシンボリックリンクが多すぎます。
[EIO] ファイルシステムに読み書きしている間に入出力エラーが発生しました。

fpathconf() システムコールは次の場合に失敗します:
[EBADF]
  fd 引数が有効なオープンファイル記述子ではありません。
[EIO] ファイルシステムに読み書きしている間に入出力エラーが発生しました。

関連項目

sysctl(3)

歴史

pathconf() システムコールと fpathconf() システムコールは BSD 4.4 ではじめて登場しました。

PATHCONF (2) November 4, 2002

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

What is this horrible fascination with Unix? The operating system of the 1960s, still gaining in popularity in the 1990s.
— Donald A. Norman