confstr(3) - wariua/manpages-ko GitHub Wiki
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 λΌμ΄λΈλ¬λ¦¬ μ μ©. glibc 2.3.2λΆν°) - μ΄ μμ€ν μ GNU C λΌμ΄λΈλ¬λ¦¬ λ²μ μ λνλ΄λ λ¬Έμμ΄. (κ°λ Ή "glibc 2.3.4")
-
_CS_GNU_LIBPTHREAD_VERSION
(GNU C λΌμ΄λΈλ¬λ¦¬ μ μ©. 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
λ°μ΄νΈλ‘ μλ₯΄κ³ λ λ°μ΄νΈ('\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() |
μ€λ λ μμ μ± | 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)
2019-03-06