.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2003, Andries E. Brouwer .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getpwent_r 3 "8 februarie 2026" "Pagini de manual de Linux 6.17" .SH NUME getpwent_r, fgetpwent_r \- obține intrarea din fișierul passwd în mod reentrant .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint getpwent_r(\fPsize_t size; \fB struct passwd *restrict \fP\fIpwbuf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict \fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB,\fP \fB struct passwd **restrict \fP\fIpwbufp\fP\fB);\fP \fBint fgetpwent_r(\fPsize_t size; \fB FILE *restrict \fP\fIstream\fP\fB, struct passwd *restrict \fP\fIpwbuf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict \fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB,\fP \fB struct passwd **restrict \fP\fIpwbufp\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBgetpwent_r\fP(), .nf Începând cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 și versiunile anterioare: _BSD_SOURCE || _SVID_SOURCE .fi .P \fBfgetpwent_r\fP(): .nf Începând cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 și versiunile anterioare: _SVID_SOURCE .fi .SH DESCRIERE Funcțiile \fBgetpwent_r\fP() și \fBfgetpwent_r\fP() sunt versiunile reentrante ale \fBgetpwent\fP(3) și \fBfgetpwent\fP(3). Prima citește următoarea intrare passwd din fluxul inițializat de \fBsetpwent\fP(3). Cea de\-a doua citește următoarea intrare passwd din \fIstream\fP. .P Structura \fIpasswd\fP este definită în \fI\fP după cum urmează: .P .in +4n .EX struct passwd { char *pw_name; /* nume utilizator */ char *pw_passwd; /* parolă utilizator */ uid_t pw_uid; /* ID utilizator */ gid_t pw_gid; /* ID grup */ char *pw_gecos; /* informații utilizator */ char *pw_dir; /* directorul personal */ char *pw_shell; /* program shell */ }; .EE .in .P Pentru mai multe informații despre câmpurile acestei structuri, consultați \fBpasswd\fP(5). .P Funcțiile nereentrante returnează un indicator către o memorie statică, unde această memorie statică conține alți indicatori pentru numele de utilizator, parola, câmpul gecos, directorul principal și shell\-ul. Funcțiile reentrante descrise aici returnează toate acestea în memorii tampon furnizate de apelant. În primul rând, există memoria tampon \fIpwbuf\fP care poate conține o \fIstruct\ passwd\fP. Și apoi memoria tampon \fIbuf\fP de dimensiune \fIsize\fP care poate conține șiruri de caractere suplimentare. Rezultatul acestor funcții, \fIstruct\ passwd\fP citit din flux, este stocat în memoria tampon furnizată \fI*pwbuf\fP, iar un indicator la această \fIstruct\ passwd\fP este returnat în \fI*pwbufp\fP. .SH "VALOAREA RETURNATĂ" În caz de succes, aceste funcții returnează 0, iar \fI*pwbufp\fP este un indicator la \fIstruct\ passwd\fP. În caz de eroare, aceste funcții returnează o valoare de eroare, iar \fI*pwbufp\fP este NULL. .SH ERORI\-IEȘIRE .TP \fBENOENT\fP Nu mai există alte intrări. .TP \fBERANGE\fP Spațiu de memorie tampon furnizat insuficient. Încercați din nou cu o memorie tampon mai mare. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Interfață Atribut Valoare T{ .na .nh \fBgetpwent_r\fP() T} Siguranța firelor T{ .na .nh MT\-Unsafe race:pwent locale T} T{ .na .nh \fBfgetpwent_r\fP() T} Siguranța firelor MT\-Safe .TE .P În tabelul de mai sus, \fIpwent\fP din \fIrace:pwent\fP semnifică faptul că, dacă oricare dintre funcțiile \fBsetpwent\fP(), \fBgetpwent\fP(), \fBendpwent\fP() sau \fBgetpwent_r\fP() sunt utilizate în paralel în diferite fire de execuție ale unui program, atunci pot apărea competiții de date. .SH VERSIUNI Alte sisteme utilizează prototipul .P .in +4n .EX struct passwd * getpwent_r(struct passwd *pwd, char buf[.size], int size); .EE .in .P sau, mai bine zis, .P .in +4n .EX int getpwent_r(struct passwd *pwd, char buf[.size], int size, FILE **pw_fp); .EE .in .SH STANDARDE Niciunul. .SH ISTORIC Aceste funcții sunt realizate într\-un stil asemănător cu versiunea POSIX a unor funcții precum \fBgetpwnam_r\fP(3). .SH NOTE Funcția \fBgetpwent_r\fP() nu este cu adevărat reentrantă, deoarece împarte poziția de citire în flux cu toate celelalte fire de execuție. .SH EXEMPLE .\" SRC BEGIN (getpwent_r.c) .EX #define _GNU_SOURCE #include #include #include #include \& #define BUFLEN 4096 \& int main(void) { struct passwd pw; struct passwd *pwp; char buf[BUFLEN]; int i; \& setpwent(); while (1) { i = getpwent_r(&pw, buf, sizeof(buf), &pwp); if (i) break; printf("%s (%jd)\etHOME %s\etSHELL %s\[rs]n", pwp\->pw_name, (intmax_t) pwp\->pw_uid, pwp\->pw_dir, pwp\->pw_shell); } endpwent(); exit(EXIT_SUCCESS); } .EE .\" perhaps add error checking - should use strerror_r .\" #include .\" #include .\" if (i) { .\" if (i == ENOENT) .\" break; .\" printf("getpwent_r: %s", strerror(i)); .\" exit(EXIT_SUCCESS); .\" } .\" SRC END .SH "CONSULTAȚI ȘI" \fBfgetpwent\fP(3), \fBgetpw\fP(3), \fBgetpwent\fP(3), \fBgetpwnam\fP(3), \fBgetpwuid\fP(3), \fBputpwent\fP(3), \fBpasswd\fP(5) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .