[Avanti]  [Indietro]  [Su]  

14.3.4 La struttura degli indirizzi locali

I socket di tipo PF_UNIX o PF_LOCAL vengono usati per una comunicazione fra processi che stanno sulla stessa macchina (per questo vengono chiamati local domain o anche Unix domain); essi hanno la caratteristica ulteriore di poter essere creati anche in maniera anonima attraverso la funzione socketpair (che abbiamo trattato in sez. 12.1.5). Quando però si vuole fare riferimento esplicito ad uno di questi socket si deve usare una struttura degli indirizzi di tipo sockaddr_un, la cui definizione si è riportata in fig. 14.4.


1: #define UNIX_PATH_MAX    108 
2: struct sockaddr_un { 
3:     sa_family_t  sun_family;              /* AF_UNIX */ 
4:     char         sun_path[UNIX_PATH_MAX]; /* pathname */ 
5: }; 
Figura 14.4: La struttura degli indirizzi dei socket locali (detti anche unix domain) sockaddr_un definita in sys/un.h.

In questo caso il campo sun_family deve essere AF_UNIX, mentre il campo sun_path deve specificare un indirizzo. Questo ha due forme; può essere un file (di tipo socket) nel filesystem o una stringa univoca (mantenuta in uno spazio di nomi astratto). Nel primo caso l'indirizzo viene specificato come una stringa (terminata da uno zero) corrispondente al pathname del file; nel secondo invece sun_path inizia con uno zero e vengono usati come nome i restanti byte come stringa, senza terminazione.


[Avanti]  [Indietro]  [Su]  
© 2000-2003 Simone Piccardi
Pubblicazione web curata da Mirko Maischberger