setnetgrent(3)

NUME
setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - gestionează intrările grupului de rețele

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <netdb.h>

int setnetgrent(const char *netgroup);
void endnetgrent(void);

int getnetgrent(char **restrict host,
            char **restrict user, char **restrict domain);
int getnetgrent_r(size_t size;
            char **restrict host,
            char **restrict user, char **restrict domain,
            char buf[restrict size], size_t size);

int innetgr(const char *netgroup, const char *host,
            const char *user, const char *domain);

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

setnetgrent(), endnetgrent(), getnetgrent(), getnetgrent_r(), innetgr():
    Începând cu glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 și versiunile anterioare:
        _BSD_SOURCE || _SVID_SOURCE

DESCRIERE
netgroup este o invenție SunOS. O bază de date netgroup este o listă de șiruri triple (hostname, username, domainname) sau alte nume de netgroup. Oricare dintre elementele unui triplu poate fi gol, ceea ce înseamnă că orice se potrivește. Funcțiile descrise aici permit accesul la bazele de date netgroup. Fișierul /etc/nsswitch.conf definește ce bază de date este căutată.

Apelul setnetgrent() definește grupul de rețea care va fi căutat de apelurile ulterioare getnetgrent(). Funcția getnetgrent() recuperează următoarea intrare în netgroup și returnează indicatori în host, user, domain. Un indicator null înseamnă că intrarea corespunzătoare corespunde oricărui șir de caractere. Indicatorii sunt valabili numai atâta timp cât nu există un apel la alte funcții legate de netgroup. Pentru a evita această problemă, puteți utiliza funcția GNU getnetgrent_r() care stochează șirurile de caractere în memoria tampon furnizată. Pentru a elibera toate memoriile tampon alocate, utilizați endnetgrent().

În cele mai multe cazuri, doriți să verificați doar dacă tripletul (hostname, username, domainname) este membru al unui netgroup. Funcția innetgr() poate fi utilizată în acest scop fără a apela cele trei funcții de mai sus. Din nou, un indicator null este un metacaracter (caracter Jocker) și se potrivește cu orice șir de caractere. Funcția este sigură pentru fire de execuție.

VALOAREA RETURNATĂ
Aceste funcții returnează 1 în caz de succes și 0 în caz de eșec.

FIȘIERE
/etc/netgroup
/etc/nsswitch.conf

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
setnetgrent(), getnetgrent_r(), innetgr() | Siguranța firelor | MT-Unsafe race:netgrent locale
endnetgrent() | Siguranța firelor | MT-Unsafe race:netgrent
getnetgrent() | Siguranța firelor | MT-Unsafe race:netgrent race:netgrentbuf locale

În tabelul de mai sus, netgrent din race:netgrent semnifică faptul că, dacă oricare dintre funcțiile setnetgrent(), getnetgrent_r(), innetgr(), getnetgrent() sau endnetgrent() sunt utilizate în paralel în diferite fire de execuție ale unui program, atunci pot apărea competiții de utilizare a datelor.

VERSIUNI
În implementarea BSD, setnetgrent() returnează void.

STANDARDE
Niciunul.

ISTORIC
setnetgrent(), endnetgrent(), getnetgrent() și innetgr() sunt disponibile pe majoritatea sistemelor UNIX. getnetgrent_r() nu este disponibilă pe scară largă pe alte sisteme.

CONSULTAȚI ȘI
sethostent(3), setprotoent(3), setservent(3)

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.