getgrnam(3) Library Functions Manual getgrnam(3) NUME getgrnam, getgrnam_r, getgrgid, getgrgid_r - obin intrarea din fiierul de grup BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include #include struct group *getgrnam(const char *name); struct group *getgrgid(gid_t gid); int getgrnam_r(const char *restrict name, struct group *restrict grp, char buf[restrict .buflen], size_t buflen, struct group **restrict result); int getgrgid_r(gid_t gid, struct group *restrict grp, char buf[restrict .buflen], size_t buflen, struct group **restrict result); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): getgrnam_r(), getgrgid_r(): _POSIX_C_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE DESCRIERE Funcia getgrnam() returneaza un indicator catre o structura care conine campurile defalcate ale inregistrarii din baza de date a grupului (de exemplu, fiierul de grup local /etc/group, NIS i LDAP) care corespunde numelui de grup name. Funcia getgrgid() returneaza un indicator catre o structura care conine campurile defalcate ale inregistrarii din baza de date a grupului care corespunde ID-ului grupului gid. 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). Funciile getgrnam_r() i getgrgid_r() obin aceleai informaii ca i getgrnam() i getgrgid(), dar stocheaza structura group recuperata in spaiul indicat de grp. Campurile de iruri de caractere indicate de membrii structurii group sunt stocate in memoria tampon buf de dimensiune buflen. In *result se stocheaza un indicator la rezultat (in caz de succes) sau NULL (in cazul in care nu s-a gasit nici o intrare sau a aparut o eroare). Apelarea sysconf(_SC_GETGR_R_SIZE_MAX) returneaza fie -1, fara a modifica errno, fie o dimensiune iniiala sugerata pentru buf; (daca aceasta dimensiune este prea mica, apelul eueaza cu ERANGE, caz in care apelantul poate incerca din nou cu o memorie tampon mai mare). VALOAREA RETURNATA Funciile getgrnam() i getgrgid() returneaza un indicator la o structura group sau NULL daca nu se gasete intrarea corespunzatoare sau daca apare o eroare. In cazul in care apare o eroare, errno este configurata pentru a indica eroarea. Daca se dorete verificarea lui errno dupa apel, acesta trebuie sa fie fixat la zero inainte de apel. Valoarea de returnare poate indica o zona statica i poate fi suprascrisa de apelurile ulterioare la getgrent(3), getgrgid() sau getgrnam(). Nu trecei indicatorul returnat la free(3) ! In caz de succes, getgrnam_r() i getgrgid_r() returneaza zero i stabilesc *result la grp. In cazul in care nu s-a gasit nicio inregistrare de grup corespunzatoare, aceste funcii returneaza 0 i stocheaza NULL in *result. In caz de eroare, se returneaza un numar de eroare i se stocheaza NULL in *result. ERORI-IEIRE 0 sau ENOENT sau ESRCH sau EBADF sau EPERM sau EPERM sau ... Argumentul name sau gid dat nu a fost gasit. 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. 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 | +--------------+---------------------+---------------------------------+ |getgrnam() | Sigurana firelor | MT-Unsafe race:grnam locale | +--------------+---------------------+---------------------------------+ |getgrgid() | Sigurana firelor | MT-Unsafe race:grgid locale | +--------------+---------------------+---------------------------------+ |getgrnam_r(), | Sigurana firelor | MT-Safe locale | |getgrgid_r() | | | +--------------+---------------------+---------------------------------+ VERSIUNI Formularea prezentata mai sus la ,,VALOAREA RETURNATA" este din POSIX.1. Acesta nu numete ,,not found" (nu se gasete) o eroare, prin urmare nu specifica ce valoare ar putea avea errno in aceasta situaie. Dar acest lucru face imposibila recunoaterea erorilor. S-ar putea argumenta ca, in conformitate cu POSIX, errno ar trebui lasata neschimbata daca nu se gasete o intrare. Experimentele pe diferite sisteme de tip UNIX arata ca in aceasta situaie apar o mulime de valori diferite: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM i probabil altele. STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001, SVr4, 4.3BSD. CONSULTAI I endgrent(3), fgetgrent(3), getgrent(3), getpwnam(3), setgrent(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.8 2 mai 2024 getgrnam(3)