EN JA
CONFSTR(3)
CONFSTR(3) FreeBSD Library Functions Manual CONFSTR(3)

名称

confstr文字列値の設定可能な変数を取得する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

size_t
confstr( int name, char *buf, size_t len);

解説

このインタフェースは、 IEEE Std 1003.1-2001 (“POSIX.1”) によって仕様が定められています。より柔軟性のある (しかし移植性のない) インタフェースは、 sysctl(3) によって提供されています。

confstr() 関数は、設定定義された文字列値を取得するためにアプリケーションのための方法を提供しています。これらのパラメータへのアクセスを必要とするシェルプログラマは、 getconf(1) ユーティリティを使用するべきです。

name 引数は、問い合わされるシステム変数を指定します。名前値ごとのシンボリック定数は、インクルードファイル < unistd.h> にあります。 len 引数は、引数 buf によって参照されるバッファのサイズを指定します。 len が 0 でないなら、 buf は、NULL でないポインタで、 name には、値があり、最大 len - 1 バイトの値が、バッファ buf にコピーされます。コピーされた値は、常にヌル文字で終了しています。

利用可能な値は、次の通りです:

_CS_PATH
すべての標準ユーティリティを見つける PATH 環境変数のための値を返します。

戻り値

confstr() への呼び出しが成功しないなら、0 が、返され、 errno は、適切な値に設定されます。そうでなければ、変数に設定定義された値がないなら、0 が、返され、 errno は、修正されません。そうでなければ、設定定義された値全体を保持するために必要とされるバッファサイズが返されます。このサイズが引数 len より大きいなら、 buf 中の文字列は、切り詰められています。

エラー

confstr() 関数は、失敗し、ライブラリ関数 malloc(3)sysctl(3) に明記されたエラーのうちのいずれかを errno に設定するかもしれません。

さらに、次のエラーが報告されます:

[ EINVAL]
name 引数の値が無効です。

歴史

confstr() 関数は、 4.4BSD ではじめて登場しました。
December 3, 2006 FreeBSD