sysconf(3) Library Functions Manual sysconf(3) NUME sysconf - obine informaiile de configurare in timpul rularii BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include long sysconf(int name); DESCRIERE POSIX permite unei aplicaii sa testeze in momentul compilarii sau al rularii daca anumite opiuni sunt acceptate sau care este valoarea anumitor constante sau limite configurabile. In momentul compilarii, acest lucru se realizeaza prin includerea i/sau i testarea valorii anumitor macroinstruciuni. In timpul execuiei, se pot solicita valori numerice utilizand funcia actuala sysconf(). Se pot solicita valori numerice care pot depinde de sistemul de fiiere in care se afla un fiier folosind fpathconf(3) i pathconf(3). Se pot solicita valori de tip ir de caractere utilizand confstr(3). Valorile obinute din aceste funcii sunt constante de configurare a sistemului. Acestea nu se modifica in timpul duratei de viaa a unui proces. Pentru opiuni, de obicei, exista o constanta _POSIX_FOO care poate fi definita in . Daca este nedefinita, trebuie intrebata in momentul rularii. Daca este definita la -1, atunci opiunea nu este acceptata. Daca este definita la 0, atunci exista funcii i antete relevante, dar trebuie sa se intrebe in momentul rularii ce grad de suport este disponibil. Daca este definita la o valoare diferita de -1 sau 0, atunci opiunea este acceptata. De obicei, valoarea (cum ar fi 200112L) indica anul i luna revizuirii POSIX care descrie opiunea. glibc utilizeaza valoarea 1 pentru a indica suportul atat timp cat revizuirea POSIX nu a fost inca publicata. Argumentul sysconf() va fi _SC_FOO. Pentru o lista de opiuni, consultai posixoptions(7). Pentru variabile sau limite, de obicei, exista o constanta _FOO, poate definita in , sau _POSIX_FOO, poate definita in . Constanta nu va fi definita daca limita este nespecificata. Daca constanta este definita, aceasta ofera o valoare garantata, iar o valoare mai mare ar putea fi de fapt acceptata. Daca o aplicaie dorete sa profite de valorile care se pot schimba intre sisteme, se poate face un apel la sysconf(). Argumentul sysconf() va fi _SC_FOO. Variabile POSIX.1 Oferim numele variabilei, numele argumentului sysconf() utilizat pentru a afla valoarea acesteia i o scurta descriere. Mai intai, valorile compatibile POSIX.1. ARG_MAX - _SC_ARG_MAX Lungimea maxima a argumentelor pentru familia de funcii exec(3). Nu trebuie sa fie mai mica decat _POSIX_ARG_MAX (4096). CHILD_MAX - _SC_CHILD_MAX Numarul maxim de procese simultane per ID utilizator. Nu trebuie sa fie mai mic decat _POSIX_CHILD_MAX (25). HOST_NAME_MAX - _SC_HOST_NAME_MAX Lungimea maxima a unui nume de gazda, fara a include octetul nul final, aa cum este returnat de gethostname(2). Nu trebuie sa fie mai mica decat _POSIX_HOST_NAME_MAX (255). LOGIN_NAME_MAX - _SC_LOGIN_NAME_MAX Lungimea maxima a unui nume de autentificare, inclusiv octetul nul de terminare. Nu trebuie sa fie mai mica decat _POSIX_LOGIN_NAME_MAX (9). NGROUPS_MAX - _SC_NGROUPS_MAX Numarul maxim de ID-uri de grup suplimentare. clock ticks - _SC_CLK_TCK Numarul de ticuri de ceas pe secunda. Variabila corespunzatoare este depaita. Aceasta se numete desigur CLK_TCK. (Nota: macroinstruciunea CLOCKS_PER_SEC nu da informaii: trebuie sa fie egala cu 1000000). OPEN_MAX - _SC_OPEN_MAX Numarul maxim de fiiere pe care un proces le poate avea deschise in orice moment. Nu trebuie sa fie mai mic decat _POSIX_OPEN_MAX (20). PAGESIZE - _SC_PAGESIZE Dimensiunea unei pagini in octei Nu trebuie sa fie mai mica de 1. PAGE_SIZE - _SC_PAGE_SIZE Un sinonim pentru PAGESIZE/_SC_PAGESIZE. Atat PAGESIZE, cat i PAGE_SIZE sunt specificate in POSIX. RE_DUP_MAX - _SC_RE_DUP_MAX Numarul de apariii repetate ale unui BRE permise de regexec(3) i regcomp(3). Nu trebuie sa fie mai mic decat _POSIX2_RE_DUP_MAX (255). STREAM_MAX - _SC_STREAM_MAX Numarul maxim de fluxuri pe care un proces le poate avea deschise in orice moment. Daca este definit, are aceeai valoare ca macroinstruciunea standard C FOPEN_MAX. Nu trebuie sa fie mai mic decat _POSIX_STREAM_MAX (8). SYMLOOP_MAX - _SC_SYMLOOP_MAX Numarul maxim de legaturi simbolice observate intr-un nume de ruta inainte ca rezoluia sa returneze ELOOP. Nu trebuie sa fie mai mic decat _POSIX_SYMLOOP_MAX (8). TTY_NAME_MAX - _SC_TTY_NAME_MAX Lungimea maxima a numelui dispozitivului de terminal, inclusiv octetul nul de terminare. Nu trebuie sa fie mai mica decat _POSIX_TTY_NAME_MAX (9). TZNAME_MAX - _SC_TZNAME_MAX Numarul maxim de octei dintr-un nume de fus orar. Nu trebuie sa fie mai mic decat _POSIX_TZNAME_MAX (6). _POSIX_VERSION - _SC_VERSION Indica anul i luna in care a fost aprobat standardul POSIX.1 in formatul AAAALLL; valoarea 199009L indica revizuirea din septembrie 1990. Variabile POSIX.2 Urmeaza valorile POSIX.2, care ofera limite pentru utilitai. BC_BASE_MAX - _SC_BC_BASE_MAX Indica valoarea maxima obase acceptata de utilitatea bc(1). BC_DIM_MAX - _SC_BC_DIM_MAX Indica valoarea maxima a elementelor permise intr- o matrice de catre bc(1). BC_SCALE_MAX - _SC_BC_SCALE_MAX Indica valoarea maxima scale permisa de bc(1). BC_STRING_MAX - _SC_BC_STRING_MAX Indica lungimea maxima a unui ir de caractere acceptat de bc(1). COLL_WEIGHTS_MAX - _SC_COLL_WEIGHTS_MAX Indica numarul maxim de ponderari care pot fi atribuite unei intrari a cuvantului-cheie LC_COLLATE order in fiierul de definire a parametrilor regionali. EXPR_NEST_MAX - _SC_EXPR_NEST_MAX Este numarul maxim de expresii care pot fi imbricate intre paranteze de catre expr(1). LINE_MAX - _SC_LINE_MAX Lungimea maxima a liniei de intrare a unui utilitar, fie de la intrarea standard, fie dintr-un fiier. Aceasta include spaiul pentru o linie noua finala. RE_DUP_MAX - _SC_RE_DUP_MAX Numarul maxim de apariii repetate ale unei expresii regulate atunci cand se utilizeaza notaia de interval \{m,n\}. POSIX2_VERSION - _SC_2_VERSION Indica versiunea standardului POSIX.2 in formatul AAAALLL. POSIX2_C_DEV - _SC_2_C_DEV Indica daca sunt acceptate facilitaile de dezvoltare ale limbajului POSIX.2 C. POSIX2_FORT_DEV - _SC_2_FORT_DEV Indica daca sunt acceptate utilitarele de dezvoltare FORTRAN POSIX.2. POSIX2_FORT_RUN - _SC_2_FORT_RUN Indica daca sunt acceptate utilitarele de execuie POSIX.2 FORTRAN. _POSIX2_LOCALEDEF - _SC_2_LOCALEDEF Indica daca este acceptata crearea de configuraii regionale POSIX.2 prin localedef(1). POSIX2_SW_DEV - _SC_2_SW_DEV Indica daca este acceptata opiunea POSIX.2 pentru utilitare de dezvoltare software. Aceste valori exista, de asemenea, dar pot sa nu fie standard. - _SC_PHYS_PAGES Numarul de pagini de memorie fizica Reinei ca este posibil ca produsul dintre aceasta valoare i valoarea lui _SC_PAGESIZE sa depaeasca limita. - _SC_AVPHYS_PAGES Numarul de pagini de memorie fizica disponibile in prezent. - _SC_NPROCESSORS_CONF Numarul de procesoare configurate. A se vedea i get_nprocs_conf(3). - _SC_NPROCESSORS_ONLN Numarul de procesoare aflate in prezent online (disponibile). A se vedea i get_nprocs_conf(3). VALOAREA RETURNATA Valoarea returnata de sysconf() este una dintre urmatoarele: o In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea (de exemplu, EINVAL, indicand ca name nu este valid). o Daca name corespunde unei limite maxime sau minime, iar limita respectiva este nedeterminata, se returneaza -1 i errno nu este modificata. Pentru a distinge o limita nedeterminata de o eroare, stabilii errno la zero inainte de apel i apoi verificai daca errno este diferita de zero atunci cand este returnat -1. o Daca name corespunde unei opiuni, se returneaza o valoare pozitiva daca opiunea este acceptata, iar -1 daca opiunea nu este acceptata. o In caz contrar, este returnata valoarea curenta a opiunii sau a limitei. Aceasta valoare nu va fi mai restrictiva decat valoarea corespunzatoare care a fost descrisa aplicaiei in sau atunci cand aplicaia a fost compilata. ERORI-IEIRE EINVAL name nu este valid. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +----------------------------------+---------------------+-------------+ |Interfaa | Atribut | Valoare | +----------------------------------+---------------------+-------------+ |sysconf() | Sigurana firelor | MT-Safe env | +----------------------------------+---------------------+-------------+ STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. ERORI Este dificil de utilizat ARG_MAX deoarece nu este specificat cat din spaiul de argumentare pentru exec(3) este consumat de variabilele de mediu ale utilizatorului. Unele valori returnate pot fi uriae; acestea nu sunt potrivite pentru alocarea de memorie. CONSULTAI I bc(1), expr(1), getconf(1), locale(1), confstr(3), fpathconf(3), pathconf(3), posixoptions(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.15 17 mai 2025 sysconf(3)