getservent(3) Library Functions Manual getservent(3) NOM getservent, getservbyname, getservbyport, setservent, endservent - Acceder aux informations sur les services BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include struct servent *getservent(void); struct servent *getservbyname(const char *nom, const char *proto); struct servent *getservbyport(int port, const char *proto); void setservent(int stayopen); void endservent(void); DESCRIPTION La fonction getservent() lit l'enregistrement suivant de la base de donnees de services (consultez services(5)) et renvoie une structure servent contenant les champs de l'enregistrement. Une connexion est cree si necessaire. La fonction getservbyname() renvoie une structure servent pour l'enregistrement du fichier /etc/services qui correspond au service nomme nom et utilisant le protocole proto. Si proto est NULL, n'importe quel protocole sera accepte. getservbyport() renvoie une structure servent de l'enregistrement correspondant au port port indique (dans l'ordre des octets du reseau) et utilisant le protocole proto. Si proto est NULL, tout protocole sera accepte. Une connexion est creee si necessaire. setservent() ouvre une connexion a la base et definit la prochaine entree a la premiere entree. Si stayopen est non nul, alors la connexion ne sera pas fermee entre deux appels aux fonctions getserv*(). endservent() ferme la connexion a la base. La structure servent est definie dans ainsi : struct servent { char *s_name; /* Nom officiel du service */ char **s_aliases; /* Liste d'alias */ int s_port; /* Numero de port */ char *s_proto; /* Protocole a utiliser */ } Les membres de la structure servent sont : s_name Le nom officiel du service. s_aliases Une liste alias de noms de service terminee par NULL. s_port Le numero de port, donne dans l'ordre des octets du reseau. s_proto Le nom du protocole utilise par ce service. VALEUR RENVOYEE Les fonctions getservent(), getservbyname() et getservbyport() renvoient un pointeur vers une structure servent statiquement allouee, ou un pointeur NULL si une erreur se produit, ou si la fin du fichier est atteinte. FICHIERS /etc/services Base de donnees des services. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +----------------+--------------------------+--------------------------+ |Interface | Attribut | Valeur | +----------------+--------------------------+--------------------------+ |getservent() | Securite des threads | MT-Unsafe race:servent | | | | race:serventbuf locale | +----------------+--------------------------+--------------------------+ |getservbyname() | Securite des threads | MT-Unsafe | | | | race:servbyname locale | +----------------+--------------------------+--------------------------+ |getservbyport() | Securite des threads | MT-Unsafe | | | | race:servbyport locale | +----------------+--------------------------+--------------------------+ |setservent(), | Securite des threads | MT-Unsafe race:servent | |endservent() | | locale | +----------------+--------------------------+--------------------------+ Dans le tableau ci-dessus, servent dans race:servent signifie que si des fonctions parmi setservent(), getservent() ou endservent() sont utilisees en parallele dans differents threads d'un programme, des situations de competition entre donnees pourraient apparaitre. STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, 4.3BSD. VOIR AUSSI getnetent(3), getprotoent(3), getservent_r(3), services(5) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier et David Prevot Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.12 23 juillet 2024 getservent(3)