Lavoro fatto a casa senza ADSL, correzioni multiple agli indici, documentato
[gapil.git] / socket.tex
index 3cb33d35a7632e25e42b824e453a70c28846de0b..138ebe2a9969e0d2a2ff546e110405e37e259f69 100644 (file)
@@ -240,7 +240,7 @@ Si tenga presente che non tutte le famiglie di protocolli sono utilizzabili
 dall'utente generico, ad esempio in generale tutti i socket di tipo
 \const{SOCK\_RAW} possono essere creati solo da processi che hanno i privilegi
 di amministratore (cioè con user-ID effettivo uguale a zero) o dotati della
-capability \const{CAP\_NET\_RAW}.
+\itindex{capabilities}\textit{capability} \const{CAP\_NET\_RAW}.
 
 
 \subsection{Il tipo, o stile}
@@ -439,8 +439,8 @@ fig.~\ref{fig:sock_sa_ipv4_struct}, conforme allo standard POSIX.1g.
   \begin{minipage}[c]{15cm}
     \includestruct{listati/sockaddr_in.h}
   \end{minipage} 
-  \caption{La struttura degli indirizzi dei socket internet (IPv4)
-    \structd{sockaddr\_in}.}
+  \caption{La struttura \structd{sockaddr\_in} degli indirizzi dei socket
+    internet (IPv4) e la struttura \structd{in\_addr} degli indirizzi IPv4.}
   \label{fig:sock_sa_ipv4_struct}
 \end{figure}
 
@@ -457,9 +457,9 @@ altrimenti si avr
 specifica il \textsl{numero di porta}. I numeri di porta sotto il 1024 sono
 chiamati \textsl{riservati} in quanto utilizzati da servizi standard e
 soltanto processi con i privilegi di amministratore (con user-ID effettivo
-uguale a zero) o con la capability \const{CAP\_NET\_BIND\_SERVICE} possono
-usare la funzione \func{bind} (che vedremo in sez.~\ref{sec:TCP_func_bind}) su
-queste porte.
+uguale a zero) o con la \itindex{capabilities}\textit{capability}
+\const{CAP\_NET\_BIND\_SERVICE} possono usare la funzione \func{bind} (che
+vedremo in sez.~\ref{sec:TCP_func_bind}) su queste porte.
 
 Il membro \var{sin\_addr} contiene un indirizzo internet, e viene acceduto sia
 come struttura (un resto di una implementazione precedente in cui questa era
@@ -490,8 +490,8 @@ in fig.~\ref{fig:sock_sa_ipv6_struct}.
   \begin{minipage}[c]{15cm}
     \includestruct{listati/sockaddr_in6.h}
   \end{minipage} 
-  \caption{La struttura degli indirizzi dei socket IPv6 
-    \structd{sockaddr\_in6}.}
+  \caption{La struttura \structd{sockaddr\_in6} degli indirizzi dei socket
+    IPv6 e la struttura \structd{in6\_addr} degli indirizzi IPv6.}
   \label{fig:sock_sa_ipv6_struct}
 \end{figure}
 
@@ -531,8 +531,8 @@ fig.~\ref{fig:sock_sa_local_struct}.
   \begin{minipage}[c]{15cm}
     \includestruct{listati/sockaddr_un.h}
   \end{minipage} 
-  \caption{La struttura degli indirizzi dei socket locali (detti anche
-    \textit{unix domain}) \structd{sockaddr\_un} definita in \file{sys/un.h}.}
+  \caption{La struttura \structd{sockaddr\_un} degli indirizzi dei socket
+    locali (detti anche \textit{unix domain}) definita in \file{sys/un.h}.}
   \label{fig:sock_sa_local_struct}
 \end{figure}
 
@@ -574,23 +574,24 @@ il file \file{netatalk/at.h}.
   \begin{minipage}[c]{15cm}
     \includestruct{listati/sockaddr_atalk.h}
   \end{minipage} 
-  \caption{La struttura degli indirizzi dei socket AppleTalk 
-    \structd{sockaddr\_atalk}.}
+  \caption{La struttura \structd{sockaddr\_atalk} degli indirizzi dei socket
+    AppleTalk, e la struttura \structd{at\_addr} degli indirizzi AppleTalk.}
   \label{fig:sock_sa_atalk_struct}
 \end{figure}
 
 Il campo \var{sat\_family} deve essere sempre \const{AF\_APPLETALK}, mentre il
 campo \var{sat\_port} specifica la porta che identifica i vari servizi. Valori
 inferiori a 129 sono usati per le \textsl{porte riservate}, e possono essere
-usati solo da processi con i privilegi di amministratore o con la capability
-\const{CAP\_NET\_BIND\_SERVICE}. L'indirizzo remoto è specificato nella
-struttura \var{sat\_addr}, e deve essere in \textit{network order} (vedi
-sez.~\ref{sec:sock_endianess}); esso è composto da un parte di rete data dal
-campo \var{s\_net}, che può assumere il valore \const{AT\_ANYNET}, che indica
-una rete generica e vale anche per indicare la rete su cui si è, il singolo
-nodo è indicato da \var{s\_node}, e può prendere il valore generico
-\const{AT\_ANYNODE} che indica anche il nodo corrente, ed il valore
-\const{ATADDR\_BCAST} che indica tutti i nodi della rete.
+usati solo da processi con i privilegi di amministratore o con la
+\itindex{capabilities}\textit{capability} \const{CAP\_NET\_BIND\_SERVICE}.
+L'indirizzo remoto è specificato nella struttura \var{sat\_addr}, e deve
+essere in \textit{network order} (vedi sez.~\ref{sec:sock_endianess}); esso è
+composto da un parte di rete data dal campo \var{s\_net}, che può assumere il
+valore \const{AT\_ANYNET}, che indica una rete generica e vale anche per
+indicare la rete su cui si è, il singolo nodo è indicato da \var{s\_node}, e
+può prendere il valore generico \const{AT\_ANYNODE} che indica anche il nodo
+corrente, ed il valore \const{ATADDR\_BCAST} che indica tutti i nodi della
+rete.
 
 
 \subsection{La struttura degli indirizzi dei \textit{packet socket}}
@@ -633,7 +634,7 @@ speciale \const{ETH\_P\_ALL} passeranno sul \textit{packet socket} tutti i
 pacchetti, qualunque sia il loro protocollo di collegamento. Ovviamente l'uso
 di questi socket è una operazione privilegiata e può essere effettuati solo da
 un processo con i privilegi di amministratore (user-ID effettivo nullo) o con
-la capability \const{CAP\_NET\_RAW}.
+la \itindex{capabilities}\textit{capability} \const{CAP\_NET\_RAW}.
 
 Una volta aperto un \textit{packet socket}, tutti i pacchetti del protocollo
 specificato passeranno attraverso di esso, qualunque sia l'interfaccia da cui
@@ -950,15 +951,6 @@ questo caso le lettere \texttt{n} e \texttt{p} sono degli mnemonici per
 ricordare il tipo di conversione effettuata e stanno per \textit{presentation}
 e \textit{numeric}.
 
-% \begin{figure}[htb]
-%   \centering  
-
-%   \caption{Schema della rappresentazioni utilizzate dalle funzioni di 
-%     conversione \func{inet\_pton} e \func{inet\_ntop} }
-%   \label{fig:sock_inet_conv_func}
-
-% \end{figure}
-
 Entrambe le funzioni accettano l'argomento \param{af} che indica il tipo di
 indirizzo, e che può essere soltanto \const{AF\_INET} o \const{AF\_INET6}. La
 prima funzione, \funcd{inet\_pton}, serve a convertire una stringa in un