NOMBRE¶
getservent, getservbyname, getservbyport, setservent, endservent - obtener
valores de servicios
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
BSD 4.3
VÉASE TAMBIÉN¶
getprotoent(3),
getnetent(3),
services(5)