スポンサーリンク

CONFSTR(3) FreeBSD ライブラリ関数マニュアル CONFSTR(3)

名称

confstr − 文字列値の設定可能変数を得る

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <unistd.h>

size_t

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

解説

このインタフェースは、 sysctl(3) によって旧式になっています。

confstr() 関数は、システム構成により定義されている文字列値を、アプリケー ションが取得するための方式を提供します。

name 引数は、照会されるシステム変数を指定します。各名前の値となるシンボ リック定数は、インクルードファイル ⟨unistd.h⟩ の中にあります。 len 引数 は、引数 buf が参照するバッファのサイズを指定します。 len が 0 でない場 合、 buf は NULL ではないポインタで、 name は値を持っており、その値のうち 最高 len − 1 バイトがバッファ buf にコピーされます。コピーされた値の末尾 は必ずヌル文字です。

利用可能な値は次のとおりです。

       _CS_PATH

全標準ユーティリティを検出する PATH 環境変数の値を返します。

戻り値

confstr() の呼び出しが正常に完了しない場合、−1 が返され、該当する errno が設定されます。また変数に、システム構成により定義されている値がない場合 0 が返され、 errno は変更されません。それ以外の場合は、設定定義された値全 体を入れるのに必要なバッファサイズが返されます。このサイズが引数 len より 大きい場合、 buf 内の文字列は切り捨てられています。

エラー

confstr() 関数がエラーになると、ライブラリ関数 malloc(3)sysctl(3) で 規定されているエラーを errno に設定することがあります。

さらに、次のエラーがレポートされることがあります。

       [EINVAL]

name 引数の値は無効です。

関連項目

sysctl(3)

歴史

confstr() 関数は 4.4BSD ではじめて登場しました。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク