Man page - getgrnam(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

getgrnam

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ERORI-IEȘIRE
FIȘIERE
ATRIBUTE
VERSIUNI
STANDARDE
ISTORIC
CONSULTAȚI ȘI
TRADUCERE

NUME

getgrnam, getgrnam_r, getgrgid, getgrgid_r - obțin intrarea din fișierul de grup

BIBLIOTECA

Biblioteca C standard ( libc , -lc )

SINOPSIS

#include <sys/types.h>
#include <grp.h>

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 );

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

getgrnam_r (), getgrgid_r ():
_POSIX_C_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIERE

Funcția getgrnam () returnează un indicator către o structură care conține câmpurile defalcate ale înregistrării din baza de date a grupului (de exemplu, fișierul de grup local /etc/group , NIS și LDAP) care corespunde numelui de grup name .

Funcția getgrgid () returnează un indicator către o structură care conține câmpurile defalcate ale înregistrării din baza de date a grupului care corespunde ID-ului grupului gid .

Structura group este definită în <grp.h> după cum urmează:

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 terminație NULL
la numele membrilor grupului */
};

Pentru mai multe informații despre câmpurile acestei structuri, a se vedea group (5).

Funcțiile getgrnam_r () și getgrgid_r () obțin aceleași informații ca și getgrnam () și getgrgid (), dar stochează structura group recuperată în spațiul indicat de grp . Câmpurile de șiruri de caractere indicate de membrii structurii group sunt stocate în memoria tampon buf de dimensiune buflen . În *result se stochează un indicator la rezultat (în caz de succes) sau NULL (în cazul în care nu s-a găsit nici o intrare sau a apărut o eroare).

Apelarea

sysconf(_SC_GETGR_R_SIZE_MAX)

returnează fie -1, fără a modifica errno , fie o dimensiune inițială sugerată pentru buf ; (dacă această dimensiune este prea mică, apelul eșuează cu ERANGE , caz în care apelantul poate încerca din nou cu o memorie tampon mai mare).

VALOAREA RETURNATĂ

Funcțiile getgrnam () și getgrgid () returnează un indicator la o structură group sau NULL dacă nu se găsește intrarea corespunzătoare sau dacă apare o eroare. În cazul în care apare o eroare, errno este configurată pentru a indica eroarea. Dacă se dorește verificarea lui errno după apel, acesta trebuie să fie fixat la zero înainte de apel.

Valoarea de returnare poate indica o zonă statică și poate fi suprascrisă de apelurile ulterioare la getgrent (3), getgrgid () sau getgrnam (). Nu treceți indicatorul returnat la free (3) !

În caz de succes, getgrnam_r () și getgrgid_r () returnează zero și stabilesc *result la grp . În cazul în care nu s-a găsit nicio înregistrare de grup corespunzătoare, aceste funcții returnează 0 și stochează NULL în *result . În caz de eroare, se returnează un număr de eroare și se stochează NULL în *result .

ERORI-IEȘIRE

0 sau ENOENT sau ESRCH sau EBADF sau EPERM sau EPERM sau ...

Argumentul name sau gid dat nu a fost găsit.

EINTR

A fost captat un semnal; a se vedea signal (7).

EIO

Eroare de In/Ieș.

EMFILE

Limita per proces a numărului de descriptori de fișiere deschise a fost atinsă.

ENFILE

Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă.

ENOMEM

Memorie insuficientă pentru alocarea structurii group .

ERANGE

Spațiul de memorie tampon furnizat este insuficient.

FIȘIERE

/etc/group

fișier de bază de date a grupurilor locale

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes (7).

Image grohtml-659248-1.png

VERSIUNI

Formularea prezentată mai sus la „VALOAREA RETURNATĂ” este din POSIX.1. Acesta nu numește „not found” (nu se găsește) o eroare, prin urmare nu specifică ce valoare ar putea avea errno în această situație. Dar acest lucru face imposibilă recunoașterea erorilor. S-ar putea argumenta că, în conformitate cu POSIX, errno ar trebui lăsată neschimbată dacă nu se găsește o intrare. Experimentele pe diferite sisteme de tip UNIX arată că în această situație apar o mulțime de valori diferite: 0, ENOENT, EBADF, ESRCH, EWOULDBLOCK, EPERM și probabil altele.

STANDARDE

POSIX.1-2008.

ISTORIC

POSIX.1-2001, SVr4, 4.3BSD.

CONSULTAȚI ȘI

endgrent (3), fgetgrent (3), getgrent (3), getpwnam (3), setgrent (3), group (5)

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 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 .