non comporta nulla riguardo all'indicazione degli indirizzi remoti o locali
attraverso i quali si vuole effettuare la comunicazione.
-\subsection{Il dominio, o \textit{protocol family}}
+\subsection{Il dominio dei socket}
\label{sec:sock_domain}
Dati i tanti e diversi protocolli di comunicazione disponibili, esistono vari
\hline
\const{PF\_UNSPEC} & 0& Non specificato & \\
\const{PF\_LOCAL} & 1& Local communication & unix(7) \\
- \const{PF\_UNIX}, \const{PF\_FILE}&1& & \\
+ \const{PF\_UNIX}, \const{PF\_FILE}&1&Sinonimi di \const{PF\_LOCAL}& \\
\const{PF\_INET} & 2& IPv4 Internet protocols & ip(7) \\
\const{PF\_AX25} & 3& Amateur radio AX.25 protocol & \\
\const{PF\_IPX} & 4& IPX - Novell protocols & \\
\const{PF\_SECURITY} &14& Security callback pseudo AF & \\
\const{PF\_KEY} &15& PF\_KEY key management API & \\
\const{PF\_NETLINK} &16& Kernel user interface device & netlink(7) \\
+ \const{PF\_ROUTE} &16& Sinonimo di \const{PF\_NETLINK} emula BSD.&\\
\const{PF\_PACKET} &17& Low level packet interface & packet(7) \\
\const{PF\_ASH} &18& Ash & \\
\const{PF\_ECONET} &19& Acorn Econet & \\
\const{PF\_IRDA} &23& IRDA socket & \\
\const{PF\_PPPOX} &24& PPPoX socket & \\
\const{PF\_WANPIPE} &25& Wanpipe API socket & \\
+ \const{PF\_LLC} &26& Linux LLC & \\
\const{PF\_BLUETOOTH}&31& Bluetooth socket & \\
\hline
\end{tabular}
\itindex{capabilities}\textit{capability} \const{CAP\_NET\_RAW}.
-\subsection{Il tipo, o stile}
+\subsection{Il tipo di socket}
\label{sec:sock_type}
La scelta di un dominio non comporta però la scelta dello stile di
socket con l'argomento \param{type} di \func{socket}. Linux mette a
disposizione vari tipi di socket (che corrispondono a quelli che il manuale
della \acr{glibc} \cite{glibc} chiama \textit{styles}) identificati dalle
-seguenti costanti:
+seguenti costanti:\footnote{le pagine di manuale POSIX riportano solo i primi
+ tre tipi, Linux supporta anche gli altri, come si può verificare nel file
+ \texttt{include/linux/net.h} dei sorgenti del kernel.}
\begin{basedescript}{\desclabelwidth{2.9cm}\desclabelstyle{\nextlinelabel}}
\item[\const{SOCK\_STREAM}] Provvede un canale di trasmissione dati
devono usarlo, è riservato all'uso di sistema.
\item[\const{SOCK\_RDM}] Provvede un canale di trasmissione di dati
affidabile, ma in cui non è garantito l'ordine di arrivo dei pacchetti.
-\item[\const{SOCK\_PACKET}] Obsoleto, non deve essere usato.
+\item[\const{SOCK\_PACKET}] Obsoleto, non deve essere più usato.\footnote{e
+ pertanto non ne parleremo ulteriormente.}
\end{basedescript}
Si tenga presente che non tutte le combinazioni fra una famiglia di protocolli
\hline
\hline
&\const{SOCK\_STREAM} &\const{SOCK\_DGRAM} &\const{SOCK\_RAW}&
- \const{SOCK\_PACKET}&\const{SOCK\_SEQPACKET} \\
+ \const{SOCK\_RDM}&\const{SOCK\_SEQPACKET} \\
\hline
- \const{PF\_UNIX} & si & si & & & \\
+ \const{PF\_LOCAL} & si & si & & & \\
\hline
+% \const{PF\_UNIX}&\multicolumn{5}{|l|}{sinonimo di \const{PF\_LOCAL}.}\\
+% \hline
\const{PF\_INET} & TCP & UDP & IPv4 & & \\
\hline
\const{PF\_INET6} & TCP & UDP & IPv6 & & \\