getgrent(3) Library Functions Manual getgrent(3) NUME getgrent, setgrent, endgrent - obine intrarea din fiierul de grup BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include #include struct group *getgrent(void); void setgrent(void); void endgrent(void); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): setgrent(): _XOPEN_SOURCE >= 500 || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE getgrent(), endgrent(): Incepand cu glibc 2.22: _XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE glibc 2.21 i versiunile anterioare _XOPEN_SOURCE >= 500 || /* Incepand cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE DESCRIERE Funcia getgrent() returneaza un indicator catre o structura care conine campurile defalcate ale unei inregistrari din baza de date de grupuri (de exemplu, fiierul de grup local /etc/group, NIS i LDAP). Prima data cand este apelata getgrent(), aceasta returneaza prima intrare; ulterior, returneaza intrari succesive. Funcia setgrent() revine la inceputul bazei de date a grupului, pentru a permite scanari repetate. Funcia endgrent() este utilizata pentru a inchide baza de date a grupului dupa ce a fost efectuata toata prelucrarea. Structura group este definita in dupa cum urmeaza: struct group { char *gr_name; /* numele grupului */ char *gr_passwd; /* parola grupului */ gid_t gr_gid; /* identificatorul grupului */ char **gr_mem; /* vector de indicatori cu terminaie NULL la numele membrilor grupului */ }; Pentru mai multe informaii despre campurile acestei structuri, a se vedea group(5). VALOAREA RETURNATA Funcia getgrent() returneaza un indicator la o structura group sau NULL daca nu mai exista intrari sau daca apare o eroare. In caz de eroare, se poate configura errno. Daca se dorete verificarea lui errno dupa apel, aceasta trebuie sa fie fixata la zero inainte de apel. Valoarea de returnare poate indica o zona statica i poate fi suprascrisa de apelurile ulterioare la getgrent(), getgrgid(3) sau getgrnam(3); (nu paseaza indicatorul returnat catre free(3).) ERORI-IEIRE EAGAIN Serviciul a fost temporar indisponibil; incercai din nou mai tarziu. Pentru serviciile NSS din glibc, acest lucru indica o eroare temporara de comunicare cu aceste servicii. Eroarea se poate corecta de la sine; se sugereaza sa incercai din nou mai tarziu. EINTR A fost captat un semnal; a se vedea signal(7). EIO Eroare de In/Ie. EMFILE Limita per proces a numarului de descriptori de fiiere deschise a fost atinsa. ENFILE Limita la nivel de sistem a numarului total de fiiere deschise a fost atinsa. ENOENT Nu poate fi gasit un fiier de intrare necesar. In cazul serviciilor NSS din glibc, acest lucru indica faptul ca aceste servicii nu sunt configurate corect. ENOMEM Memorie insuficienta pentru alocarea structurii group. ERANGE Spaiul de memorie tampon furnizat este insuficient. FIIERE /etc/group fiier de baza de date a grupurilor locale ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +------------+---------------------+-----------------------------------+ |Interfaa | Atribut | Valoare | +------------+---------------------+-----------------------------------+ |getgrent() | Sigurana firelor | MT-Unsafe race:grent | | | | race:grentbuf locale | +------------+---------------------+-----------------------------------+ |setgrent(), | Sigurana firelor | MT-Unsafe race:grent locale | |endgrent() | | | +------------+---------------------+-----------------------------------+ In tabelul de mai sus, grent din race:grent semnifica faptul ca, daca oricare dintre funciile setgrent(), getgrent() sau endgrent() sunt utilizate in paralel in diferite fire de execuie ale unui program, pot aparea accesari concurente la date (,,data races"). STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001, SVr4, 4.3BSD. CONSULTAI I fgetgrent(3), getgrent_r(3), getgrgid(3), getgrnam(3), getgrouplist(3), putgrent(3), group(5) 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.06 31 octombrie 2023 getgrent(3)