Man page - getgrent(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

getgrent

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

NUME

getgrent, setgrent, endgrent - obține intrarea din fișierul de grup

BIBLIOTECA

Biblioteca C standard ( libc , -lc )

SINOPSIS

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

struct group *getgrent(void);

void setgrent(void);
void endgrent(void);

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

setgrent ():
_XOPEN_SOURCE >= 500
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

getgrent (), endgrent ():
Începând cu glibc 2.22:
_XOPEN_SOURCE >= 500 || _DEFAULT_SOURCE
glibc 2.21 și versiunile anterioare
_XOPEN_SOURCE >= 500
|| /* Începând cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIERE

Funcția getgrent () returnează un indicator către o structură care conține câmpurile defalcate ale unei înregistrări din baza de date de grupuri (de exemplu, fișierul de grup local /etc/group , NIS și LDAP). Prima dată când este apelată getgrent (), aceasta returnează prima intrare; ulterior, returnează intrări succesive.

Funcția setgrent () revine la începutul bazei de date a grupului, pentru a permite scanări repetate.

Funcția endgrent () este utilizată pentru a închide baza de date a grupului după ce a fost efectuată toată prelucrarea.

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

VALOAREA RETURNATĂ

Funcția getgrent () returnează un indicator la o structură group sau NULL dacă nu mai există intrări sau dacă apare o eroare.

În caz de eroare, se poate configura errno . Dacă se dorește verificarea lui errno după apel, aceasta 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 (), getgrgid (3) sau getgrnam (3); (nu pasează indicatorul returnat către free (3).)

ERORI-IEȘIRE

EAGAIN

Serviciul a fost temporar indisponibil; încercați din nou mai târziu. Pentru serviciile NSS din glibc, acest lucru indică o eroare temporară de comunicare cu aceste servicii. Eroarea se poate corecta de la sine; se sugerează să încercați din nou mai târziu.

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

ENOENT

Nu poate fi găsit un fișier de intrare necesar. În cazul serviciilor NSS din glibc, acest lucru indică faptul că aceste servicii nu sunt configurate corect.

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-675248-1.png

În tabelul de mai sus, grent din race:grent semnifică faptul că, dacă oricare dintre funcțiile setgrent (), getgrent () sau endgrent () sunt utilizate în paralel în diferite fire de execuție ale unui program, pot apărea accesări concurente la date („data races”).

STANDARDE

POSIX.1-2008.

ISTORIC

POSIX.1-2001, SVr4, 4.3BSD.

CONSULTAȚI ȘI

fgetgrent (3), getgrent_r (3), getgrgid (3), getgrnam (3), getgrouplist (3), putgrent (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 .