CONFSTR

Section: Linux Programmer's Manual (3)
Updated: 2020-06-09
Index JM Home Page
 

名前

confstr - コンフィグレーションに依存した文字列変数の取得  

書式

#include <unistd.h>

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

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

confstr(): _POSIX_C_SOURCE >= 2 || _XOPEN_SOURCE  

説明

confstr() はコンフィグレーションに依存した文字列変数の値を取得する。

引数 name は、問い合わせ内容を表すシステム変数である。 以下の変数がサポートされている。

_CS_GNU_LIBC_VERSION (GNU C library 限定; glibc 2.3.2 以降)
そのシステムの GNU C ライブラリのバージョンを示す文字列 (例えば "glibc 2.3.4")。
_CS_GNU_LIBPTHREAD_VERSION (GNU C library 限定; glibc 2.3.2 以降)
その C ライブラリが提供している POSIX 実装を示す文字列 (例えば "NPTL 2.3.4" や "linuxthreads-0.10")。
_CS_PATH
すべての POSIX.2 標準ユーティリティが見つかるような PATH の値。

buf が NULL でなく、かつ len が 0 でなければ confstr() は取得 した文字列の内容を buf にコピーする。必要ならば長さが len - 1 バイトに切り捨てられて、NULL バイト ('\0') で終端される。 末尾が切り捨てられたかどうかを判定するには、 confstr() の返り値を len と比較すればよい。

len が 0 で buf が NULL ならば、 confstr() は以下で定義された値 (訳注: 切り捨てる前の、取得した文字列の長さ) を返す。  

返り値

name が有効なコンフィギュレーション変数の場合、 confstr() はその変数の値全体を保持するのに必要であったバイト数を返す (文字列終端のヌルバイトも含む)。この値は len より大きいこともある。この場合には、 buf に格納された値の末尾が切り詰められたことを意味する。

name が有効なコンフィギュレーション変数だが、 変数が値を持っていない場合、 confstr() は 0 を返す。 name が有効なコンフィグレーション変数に対応していなければ、 confstr() は 0 を返し、 errno に EINVAL を設定する。  

エラー

EINVAL
name の値が不正である。
 

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
confstr() Thread safety MT-Safe
 

準拠

POSIX.1-2001, POSIX.1-2008.  

例

次の部分的なコードは、 POSIX.2 システムのユーティリティがあるパス を取得するものである。

char *pathbuf; size_t n;

n = confstr(_CS_PATH, NULL, (size_t) 0); pathbuf = malloc(n); if (pathbuf == NULL)
    abort(); confstr(_CS_PATH, pathbuf, n);  

関連項目

getconf(1), sh(1), exec(3), fpathconf(3), pathconf(3), sysconf(3), system(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

変数   confstr   pathbuf   コンフィグレーション   size   バイト   依存   library   限定   ライブラリ   ユーティリティ   終端   末尾   コンフィギュレーション   unistd   検査   マクロ   要件   macros   サポート   提供   実装   linuxthreads   コピー   判定

Linux マニュアル 一覧

関連するコマンド・関数

variables.5   printenv.1   env.1   pthread_condattr_destroy.3   pthread_condattr_init.3   error.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
例
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:25 GMT, October 11, 2026