getservent(3)

NUME
getservent, getservbyname, getservbyport, setservent, endservent - obține intrarea serviciului

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <netdb.h>

struct servent *getservent(void);

struct servent *getservbyname(const char *name, const char *proto);
struct servent *getservbyport(int port, const char *proto);

void setservent(int stayopen);
void endservent(void);

DESCRIERE
Funcția getservent() citește următoarea intrare din baza de date a serviciilor (a se vedea services(5)) și returnează o structură servent care conține câmpurile defalcate din intrarea respectivă. Dacă este necesar, se deschide o conexiune la baza de date.

Funcția getservbyname() returnează o structură servent pentru intrarea din baza de date care corespunde serviciului name folosind protocolul proto. În cazul în care proto este NULL, se va potrivi orice protocol. Dacă este necesar, se deschide o conexiune la baza de date.

Funcția getservbyport() returnează o structură servent pentru intrarea din baza de date care corespunde portului port (dat în ordinea octeților de rețea) folosind protocolul proto. În cazul în care proto este NULL, se va potrivi orice protocol. Dacă este necesar, se deschide o conexiune la baza de date.

Funcția setservent() deschide o conexiune la baza de date și stabilește următoarea intrare ca prima intrare. Dacă stayopen este diferită de zero, atunci conexiunea la baza de date nu va fi închisă între apelurile la una dintre funcțiile getserv*().

Funcția endservent() închide conexiunea la baza de date.

Structura servent este definită în <netdb.h> după cum urmează:

    struct servent {
        char  *s_name;       /* denumirea oficială a serviciului */
        char **s_aliases;    /* listă de alias */
        int    s_port;       /* numărul portului */
        char  *s_proto;      /* protocolul de utilizat */
    }

Membrii structurii servent sunt:

s_name
    Numele oficial al serviciului.

s_aliases
    O listă cu terminație NULL de nume alternative pentru serviciu.

s_port
    Numărul portului pentru serviciul dat în ordinea octeților de rețea.

s_proto
    Numele protocolului utilizat cu acest serviciu.

VALOAREA RETURNATĂ
Funcțiile getservent(), getservbyname() și getservbyport() returnează un indicator la o structură servent alocată static sau NULL dacă apare o eroare sau dacă s-a ajuns la sfârșitul fișierului.

FIȘIERE

/etc/services
    fișierul bazei de date a serviciilor

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
getservent() | Siguranța firelor | MT-Unsafe race:servent race:serventbuf locale
getservbyname() | Siguranța firelor | MT-Unsafe race:servbyname locale
getservbyport() | Siguranța firelor | MT-Unsafe race:servbyport locale
setservent(), endservent() | Siguranța firelor | MT-Unsafe race:servent locale

În tabelul de mai sus, servent din race:servent semnifică faptul că, dacă oricare dintre funcțiile setservent(), getservent() sau endservent() sunt utilizate în paralel în diferite fire de execuție ale unui program, pot apărea competiții pentru obținerea de date.

STANDARDE
POSIX.1-2008.

ISTORIC
POSIX.1-2001, 4.3BSD.

CONSULTAȚI ȘI
getnetent(3), getprotoent(3), getservent_r(3), services(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 (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.