11) Quali sono le primitive che permettono di associare ad un nome o ad un servizio il suo indirizzo?
La primitiva gethostbyname(name) restituisce l’indirizzo Internet corrispondente ad un nome logico; la ricerca avviene localmente nel file /etc/hosts.
h=gethostbyname(name);
char *name;
struct hostent *h;
l’indirizzo del’host è codificato nella struttura puntata da h; la chiamata ritorna NULL in caso di fallimento.
formato indirizzo (struttura hostent):
struct hostent {
char *h_name; /*nome ufficiale dell’host*/
char **h_aliases; /*lista degli alias*/
int h_addrtype; /*tipo dell’indirizzo*/
int h_lenght; /*lunghezza dell’indirizzo*/
char **h_addr_list;}; /*lista degli indirizzi*/
#define h_addr h_addr_list[0] */per compatibilità*/
La primitiva getservbyname(name) restituisce il numero di porta relativo ad un servizio noto; la ricerca avviene localmente nel file /etc/services
s=getservbyname(name,proto);
char *name,*proto;
struct servent *s;