.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getpwent_r 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .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 REZUMAT .nf \fB#include \fP .PP \fBint getpwent_r(struct passwd *restrict \fP\fIpwbuf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct passwd **restrict \fP\fIpwbufp\fP\fB);\fP \fBint fgetpwent_r(FILE *restrict \fP\fIstream\fP\fB, struct passwd *restrict \fP\fIpwbuf\fP\fB,\fP \fB char \fP\fIbuf\fP\fB[restrict .\fP\fIbuflen\fP\fB], size_t \fP\fIbuflen\fP\fB,\fP \fB struct passwd **restrict \fP\fIpwbufp\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBgetpwent_r\fP(), .nf Începând cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 și versiunile anterioare: _BSD_SOURCE || _SVID_SOURCE .fi .PP \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. .PP Structura \fIpasswd\fP este definită în \fI\fP după cum urmează: .PP .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 .PP Pentru mai multe informații despre câmpurile acestei structuri, consultați \fBpasswd\fP(5). .PP 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 \fIbuflen\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 .sp 1 Î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 .PP .in +4n .EX struct passwd * getpwent_r(struct passwd *pwd, char *buf, int buflen); .EE .in .PP sau, mai bine zis, .PP .in +4n .EX int getpwent_r(struct passwd *pwd, char *buf, int buflen, 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\en", 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 .