getservent(3) endservent

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);

DESCRIPCIÓN

La función getservent() lee la siguiente línea del fichero /etc/services y devuelve una estructura servent que contiene en sus campos los campos de la línea. Si es necesario, se abre el fichero /etc/services.

La función getservbyname() devuelve una estructura servent conteniendo los campos de la línea de /etc/services que contiene el servicio name y usa el protocolo proto. Si proto vale NULL, cualquier protocolo se dará como válido.

La función getservbyport() devuelve una estructura de tipo servent con los datos de la línea que contiene el puerto port (con los bytes en el orden de red) y usa el protocolo proto. Si proto vale NULL, cualquier protocolo se dará como válido.

La función setservent() abre y reinicia el fichero /etc/services. Si stayopen es verdadero (1), entonces no se cerrará el fichero entre llamadas a las funciones getservbyname() y getservbyport().

La función endservent() cierra el fichero /etc/services.

La estructura servent está definida en <netdb.h> como sigue:

struct servent {
        char    *s_name;        /* nombre oficial del servicio */
        char    **s_aliases;    /* lista de alias */
        int     s_port;         /* número de puerto */
        char    *s_proto;       /* protocolo a usar */
}

Los miembros de la estructura servent son:

s_name
El nombre oficial del servicio.
s_aliases
Una lista terminada en cero de nombres alternativos para el servicio.
s_port
El numero de puerto para el servicio, con sus bytes en el orden de red.
s_proto
El nombre del protoclo a usar con este servicio.

VALOR DEVUELTO

Las funciones getservent(), getservbyname() y getservbyport() devuelve una estructura de tipo servent, o un puntero NULL si ha ocurrido un error o se ha alcanzado el final del fichero.

FICHEROS

/etc/services
Fichero de base de datos de servicios

CONFORME A

BSD 4.3