名 前
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 が エ ラ ー に 対 応 し た 値 に 設 定 さ れ る 。
準 拠
POSIX.1−2001.
注 意
name に _PC_NAME_MAX を 入 れ て 返 さ れ た 値 よ り も 長 い フ ァ イ ル 名 を 持 つ フ ァ イ ル が 、 与 え ら れ た デ ィ レ ク ト リ に 存 在 す る か も し れ な い 。 い く つ か の 返 り 値 は と て も 大 き く な る こ と が あ る 。 こ れ ら を 使 っ て メ モ リ ー の 割 り 当 て を 行 う の は 適 当 で は な い 。
関 連 項 目
getconf(1), open(2), statfs(2), confstr(3), sysconf(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。