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;

 


Back
Index
Next