Linux |
CentOS 4.8 |
|
getservbyport(3) |
getservent, getservbyname, getservbyport, setservent, endservent − Accéder aux informations sur les services. |
#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); |
La fonction getservent() lit l’enregistrement suivant du fichier /etc/services et renvoie une structure servent contenant les divers champs de l’enregistrement. Le fichier /etc/services est ouvert si besoin est. La fonction getservbyname() renvoie une structure servent pour l’enregistrement du fichier /etc/services qui correspond au service nommé name et utilisant le protocole proto. Si proto est NULL, n’importe quel protocole sera accepté. La fonction getservbyport() renvoie une structure servent pour l’enregistrement correspondant au port indiqué (dans l’ordre des octets du réseau) et utilisant le protocole proto. Si proto est NULL, n’importe quel protocole sera accepté. La fonction setservent() ouvre, et ramène au début le pointeur du fichier /etc/services. Si stayopen est vrai (valant 1), alors le fichiers ne sera pas refermé entre les appels successifs à getservbyname() et getservbyport(). la fonction endservent() ferme le fichier /etc/services. La structure servent est définie dans <netdb.h> ainsi : |
struct servent { char *s_name; /* Nom officiel du service */ char **s_aliases; /* Liste d’alias */ int s_port; /* Numéro de port */ char *s_proto; /* Protocole utilisé */ } |
Les membres de la structure servent sont : |
s_name |
Le nom officiel du service. |
s_aliases |
Une liste terminée par zéro contenant d’autres noms utilisables pour le service. |
s_port |
Le numéro de port, donné dans l’ordre des octets du réseau. |
s_proto |
Le nom du protocole utilisé par ce service. |
Les fonctions getservent(), getservbyname() et getservbyport() renvoient une structure servent, ou un pointeur NULL si une erreur se produit, ou si la fin du fichier est atteinte. |
/etc/services |
Base de données des services. |
BSD 4.3 |
getprotoent(3), getnetent(3), services(5) SHTRADUCTION Christophe Blaess, 1997. |
getservbyport(3) |