confstr(3)

NUME
confstr - obține variabile de tip șir de caractere dependente de configurație

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <unistd.h>

size_t confstr(int name, char buf[.size], size_t size);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

confstr():
    _POSIX_C_SOURCE >= 2 || _XOPEN_SOURCE

DESCRIERE
confstr() obține valoarea variabilelor de tip șir de caractere care depind de configurație.

Argumentul name este variabila de sistem care trebuie interogată. Sunt acceptate următoarele variabile:

_CS_GNU_GNU_LIBC_VERSION (numai pentru biblioteca GNU C; începând cu glibc 2.3.2)
    Un șir de caractere care identifică versiunea bibliotecii GNU C din acest sistem (de exemplu, „glibc 2.3.4”).

_CS_GNU_GNU_LIBPTHREAD_VERSION (numai pentru biblioteca GNU C; începând cu glibc 2.3.2)
    Un șir care identifică implementarea POSIX furnizată de această bibliotecă C (de exemplu, „NPTL 2.3.4” sau „linuxthreads-0.10”).

_CS_PATH
    O valoare pentru variabila PATH care indică unde pot fi găsite toate instrumentele standard POSIX.2.

Dacă buf nu este NULL și size nu este zero, confstr() copiază valoarea șirului în buf trunchiat la size - 1 octeți dacă este necesar, cu un octet nul („\0”) ca terminator. Acest lucru poate fi detectat prin compararea valorii de returnare a confstr() cu size.

Dacă size este zero și buf este NULL, confstr() returnează pur și simplu valoarea definită mai jos.

VALOAREA RETURNATĂ
Dacă name este o variabilă de configurare validă, confstr() returnează numărul de octeți (inclusiv octetul nul de terminare) care ar fi necesar pentru a conține întreaga valoare a variabilei respective. Această valoare poate fi mai mare decât size, ceea ce înseamnă că valoarea din buf este trunchiată.

Dacă name este o variabilă de configurare validă, dar această variabilă nu are o valoare, atunci confstr() returnează 0. Dacă name nu corespunde unei variabile de configurare valide, confstr() returnează 0, iar errno este stabilită la EINVAL.

ERORI-IEȘIRE

EINVAL
    Valoarea lui name nu este validă.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
confstr() | Siguranța firelor | MT-Safe

STANDARDE
POSIX.1-2008.

ISTORIC
POSIX.1-2001.

EXEMPLE
Următorul fragment de cod determină ruta în care se găsesc instrumentele de sistem 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);

CONSULTAȚI ȘI
getconf(1), sh(1), exec(3), fpathconf(3), pathconf(3), sysconf(3), system(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.