日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PATHCONF(2) FreeBSD システムコールマニュアル PATHCONF(2)
名称
pathconf, lpathconf, fpathconf -- 設定可能なパス名の変数を取得する
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <unistd.h>
long
pathconf(const char *path, int name);
long
lpathconf(const char *path, int name);
long
fpathconf(int fd, int name);
解説
pathconf(), lpathconf() と fpathconf() システムコールは、設定可能なシステ
ム制限の現在の値、またはパス名またはファイル記述子に関連したオプション変
数を決定するアプリケーションのための方法を提供しています。
pathconf() と lpathconf() について、path 引数は、ファイルまたはディレクト
リの名前です。fpathconf() について、fd 引数は、オープンしているファイル記
述子です。name 引数は、問い合わされるシステム変数を指定します。名前の値ご
とのシンボリック定数は、インクルードファイル <unistd.h> で見つかります。
lpathconf() システムコールは、指定されたファイルがシンボリックリンクであ
る場合を除いて、pathconf() に似ています、その場合に、lpathconf() は、リン
クに関する情報を返し、一方、pathconf() は、リンクを参照するファイルに関す
る情報を返します。
利用可能な値は、次の通りです:
_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
指定されたファイルでアクセス制御リスト (Access Control; ACL) を設
定することができるなら、1 を返し、そうでなければ、0 を返します。
_PC_ACL_NFS4
指定されたファイルで NFSv4 ACL を設定することができるなら、1 をを
返し、そうでなければ、0 を返します。
_PC_ACL_PATH_MAX
ファイルごとの最大の ACL エントリの数。
_PC_CAP_PRESENT
指定されたファイルでケーパビリティ状態を設定することができるな
ら、1 を返し、そうでなければ、0 を返します。
_PC_INF_PRESENT
指定されたファイルで情報ラベルを設定することができるなら、1 を返
し、そうでなければ、0 を返します。
_PC_MAC_PRESENT
指定されたファイルで強制アクセス制御 (Mandatory Access Control;
MAC) ラベルを設定することができるなら、1 を返し、そうでなければ、
0 を返します。
_PC_MIN_HOLE_SIZE
ファイルシステムが、ホール (lseek(2) を参照) の報告をサポートする
なら、pathconf() と fpathconf() は、バイト単位で返された最小の
ホールのサイズを表している正の数を返します。返されたホールのオフ
セットは、この同じ値に整列されます。ファイルシステムが最小のホー
ルのサイズを指定しないが、まだ、ホールを報告するなら、特別な 1 の
値が返されます。
戻り値
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] ファイルシステムから読み込むか、または書き込む間に、
I/O エラーが起こりました。
[EINTEGRITY] 破損したデータが、ファイルシステムから読み込む間に検出
されました。
fpathconf() システムコールは、次の場合に失敗します:
[EBADF] fd 引数が、有効なオープンしているファイル記述子ではあ
りません。
[EIO] ファイルシステムから読み込むか、または書き込む間に、
I/O エラーが起こりました。
[EINTEGRITY] 破損したデータが、ファイルシステムから読み込む間に検出
されました。
関連項目
lseek(2), sysctl(3)
歴史
pathconf() と fpathconf() システムコールは、4.4BSD ではじめて登場しまし
た。lpathconf() システムコールは、FreeBSD 8.0 ではじめて登場しました。
FreeBSD 13.2 March 30, 2020 FreeBSD 13.2