Ulteriori revisioni, finita l'introduzione con vari spostamenti e
[gapil.git] / sockctrl.tex
index 9e09813da8c0ea659e9158ff3907ed559a4028a6..8d4742944eb1872a800f15368c6ddb17eaee8262 100644 (file)
@@ -48,9 +48,8 @@ server che forniscono su internet questo servizio, mentre nel nostro caso
 affronteremo la problematica dal lato client, di un qualunque programma che
 necessita di compiere questa operazione.
 
 affronteremo la problematica dal lato client, di un qualunque programma che
 necessita di compiere questa operazione.
 
-\begin{figure}[htb]
-  \centering
-  \includegraphics[width=11cm]{img/resolver}
+\begin{figure}[!htb]
+  \centering \includegraphics[width=11cm]{img/resolver}
   \caption{Schema di funzionamento delle funzioni del \textit{resolver}.}
   \label{fig:sock_resolver_schema}
 \end{figure}
   \caption{Schema di funzionamento delle funzioni del \textit{resolver}.}
   \label{fig:sock_resolver_schema}
 \end{figure}
@@ -650,7 +649,7 @@ definizione è riportata in fig.~\ref{fig:sock_hostent_struct}.
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/hostent.h}
   \end{minipage}
   \caption{La struttura \structd{hostent} per la risoluzione dei nomi a
     \includestruct{listati/hostent.h}
   \end{minipage}
   \caption{La struttura \structd{hostent} per la risoluzione dei nomi a
@@ -716,9 +715,9 @@ che dovrà essere utilizzata nei risultati restituiti dalla funzione. Per tutto
 il resto la funzione è identica a \func{gethostbyname}, ed identici sono i
 suoi risultati.
 
 il resto la funzione è identica a \func{gethostbyname}, ed identici sono i
 suoi risultati.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/mygethost.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/mygethost.c}
   \end{minipage}
   \normalsize
@@ -887,7 +886,7 @@ usare la funzione \funcd{gethostbyaddr}, il cui prototipo è:
   Richiede la risoluzione inversa di un indirizzo IP.
        
   \bodydesc{La funzione restituisce l'indirizzo ad una struttura
   Richiede la risoluzione inversa di un indirizzo IP.
        
   \bodydesc{La funzione restituisce l'indirizzo ad una struttura
-    \struct{hostent} in caso di successo ed \const{NULL} in caso di errore.}
+    \struct{hostent} in caso di successo ed \val{NULL} in caso di errore.}
 \end{functions}
 
 In questo caso l'argomento \param{addr} dovrà essere il puntatore ad una
 \end{functions}
 
 In questo caso l'argomento \param{addr} dovrà essere il puntatore ad una
@@ -939,7 +938,7 @@ cui prototipi sono:
   indirizzo IP.
        
   \bodydesc{Entrambe le funzioni restituiscono l'indirizzo ad una struttura
   indirizzo IP.
        
   \bodydesc{Entrambe le funzioni restituiscono l'indirizzo ad una struttura
-    \struct{hostent} in caso di successo ed \const{NULL} in caso di errore.}
+    \struct{hostent} in caso di successo ed \val{NULL} in caso di errore.}
 \end{functions}
 
 Entrambe le funzioni supportano esplicitamente la scelta di una famiglia di
 \end{functions}
 
 Entrambe le funzioni supportano esplicitamente la scelta di una famiglia di
@@ -1077,7 +1076,7 @@ il nome e viceversa; i loro prototipi sono:
   Risolvono il nome di un servizio nel rispettivo numero di porta e viceversa.
        
   \bodydesc{Ritornano il puntatore ad una struttura \struct{servent} con i
   Risolvono il nome di un servizio nel rispettivo numero di porta e viceversa.
        
   \bodydesc{Ritornano il puntatore ad una struttura \struct{servent} con i
-    risultati in caso di successo, o \const{NULL} in caso di errore.}
+    risultati in caso di successo, o \val{NULL} in caso di errore.}
 \end{functions}
 
 Entrambe le funzioni prendono come ultimo argomento una stringa \param{proto}
 \end{functions}
 
 Entrambe le funzioni prendono come ultimo argomento una stringa \param{proto}
@@ -1107,7 +1106,7 @@ quindi la funzione non è \index{funzioni!rientranti} rientrante.
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/servent.h}
   \end{minipage}
   \caption{La struttura \structd{servent} per la risoluzione dei nomi dei
     \includestruct{listati/servent.h}
   \end{minipage}
   \caption{La struttura \structd{servent} per la risoluzione dei nomi dei
@@ -1150,7 +1149,7 @@ dei servizi avremo allora le tre funzioni \funcd{setservent},
 
   \bodydesc{Le due funzioni \func{setservent} e \func{endservent} non
     restituiscono nulla, \func{getservent} restituisce il puntatore ad una
 
   \bodydesc{Le due funzioni \func{setservent} e \func{endservent} non
     restituiscono nulla, \func{getservent} restituisce il puntatore ad una
-    struttura \struct{servent} in caso di successo e \const{NULL} in caso di
+    struttura \struct{servent} in caso di successo e \val{NULL} in caso di
     errore o fine del file.}
 \end{functions}
 
     errore o fine del file.}
 \end{functions}
 
@@ -1250,7 +1249,7 @@ forma \textit{dotted-decimal} per IPv4 o in formato esadecimale per IPv6.  Si
 può anche specificare il nome di una rete invece che di una singola macchina.
 Il secondo argomento, \param{service}, specifica invece il nome del servizio
 che si intende risolvere. Per uno dei due argomenti si può anche usare il
 può anche specificare il nome di una rete invece che di una singola macchina.
 Il secondo argomento, \param{service}, specifica invece il nome del servizio
 che si intende risolvere. Per uno dei due argomenti si può anche usare il
-valore \const{NULL}, nel qual caso la risoluzione verrà effettuata soltanto
+valore \val{NULL}, nel qual caso la risoluzione verrà effettuata soltanto
 sulla base del valore dell'altro.
 
 Il terzo argomento, \param{hints}, deve essere invece un puntatore ad una
 sulla base del valore dell'altro.
 
 Il terzo argomento, \param{hints}, deve essere invece un puntatore ad una
@@ -1273,7 +1272,7 @@ tipo \struct{addrinfo} contenenti tutte le informazioni ottenute.
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/addrinfo.h}
   \end{minipage}
   \caption{La struttura \structd{addrinfo} usata nella nuova interfaccia POSIX
     \includestruct{listati/addrinfo.h}
   \end{minipage}
   \caption{La struttura \structd{addrinfo} usata nella nuova interfaccia POSIX
@@ -1308,7 +1307,7 @@ risultato, \var{ai\_next} è un puntatore alla successiva struttura
 \struct{addrinfo} della lista.
 
 Ovviamente non è necessario dare dei suggerimenti in ingresso, ed usando
 \struct{addrinfo} della lista.
 
 Ovviamente non è necessario dare dei suggerimenti in ingresso, ed usando
-\const{NULL} come valore per l'argomento \param{hints} si possono compiere
+\val{NULL} come valore per l'argomento \param{hints} si possono compiere
 ricerche generiche.  Se però si specifica un valore non nullo questo deve
 puntare ad una struttura \struct{addrinfo} precedentemente allocata nella
 quale siano stati opportunamente impostati i valori dei campi
 ricerche generiche.  Se però si specifica un valore non nullo questo deve
 puntare ad una struttura \struct{addrinfo} precedentemente allocata nella
 quale siano stati opportunamente impostati i valori dei campi
@@ -1344,7 +1343,7 @@ nella selezione.
     \const{AI\_PASSIVE}    & Viene utilizzato per ottenere un indirizzo in
                              formato adatto per una successiva chiamata a
                              \func{bind}. Se specificato quando si è usato 
     \const{AI\_PASSIVE}    & Viene utilizzato per ottenere un indirizzo in
                              formato adatto per una successiva chiamata a
                              \func{bind}. Se specificato quando si è usato 
-                             \const{NULL} come valore per \param{node} gli
+                             \val{NULL} come valore per \param{node} gli
                              indirizzi restituiti saranno inizializzati al
                              valore generico (\const{INADDR\_ANY} per IPv4 e
                              \const{IN6ADDR\_ANY\_INIT} per IPv6), altrimenti
                              indirizzi restituiti saranno inizializzati al
                              valore generico (\const{INADDR\_ANY} per IPv4 e
                              \const{IN6ADDR\_ANY\_INIT} per IPv6), altrimenti
@@ -1411,7 +1410,7 @@ corrispondente è riportato tramite \var{errno}.
                            validi. \\
     \const{EAI\_NONAME}  & Il nome a dominio o il servizio non sono noti,
                            viene usato questo errore anche quando si specifica
                            validi. \\
     \const{EAI\_NONAME}  & Il nome a dominio o il servizio non sono noti,
                            viene usato questo errore anche quando si specifica
-                           il valore \const{NULL} per entrambi gli argomenti
+                           il valore \val{NULL} per entrambi gli argomenti
                            \param{node} e \param{service}. \\
     \const{EAI\_SERVICE} & Il servizio richiesto non è disponibile per il tipo
                            di socket richiesto, anche se può esistere per
                            \param{node} e \param{service}. \\
     \const{EAI\_SERVICE} & Il servizio richiesto non è disponibile per il tipo
                            di socket richiesto, anche se può esistere per
@@ -1490,9 +1489,9 @@ dell'argomento \var{hints} per restringere le ricerche su protocolli, tipi di
 socket o famiglie di indirizzi, è disponibile nel file \texttt{mygetaddr.c}
 dei sorgenti allegati alla guida.
 
 socket o famiglie di indirizzi, è disponibile nel file \texttt{mygetaddr.c}
 dei sorgenti allegati alla guida.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/mygetaddr.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/mygetaddr.c}
   \end{minipage}
   \normalsize
@@ -1630,7 +1629,7 @@ I risultati della funzione saranno restituiti nelle due stringhe puntate da
 \param{host} e \param{serv}, che dovranno essere state precedentemente
 allocate per una lunghezza massima che deve essere specificata con gli altri
 due argomenti \param{hostlen} e \param{servlen}. Si può, quando non si è
 \param{host} e \param{serv}, che dovranno essere state precedentemente
 allocate per una lunghezza massima che deve essere specificata con gli altri
 due argomenti \param{hostlen} e \param{servlen}. Si può, quando non si è
-interessati ad uno dei due, passare il valore \const{NULL} come argomento,
+interessati ad uno dei due, passare il valore \val{NULL} come argomento,
 così che la corrispondente informazione non verrà richiesta. Infine l'ultimo
 argomento \param{flags} è una maschera binaria i cui bit consentono di
 impostare le modalità con cui viene eseguita la ricerca, e deve essere
 così che la corrispondente informazione non verrà richiesta. Infine l'ultimo
 argomento \param{flags} è una maschera binaria i cui bit consentono di
 impostare le modalità con cui viene eseguita la ricerca, e deve essere
@@ -1694,9 +1693,9 @@ fig.~\ref{fig:sockconn_code}, il codice completo è nel file \file{SockUtil.c}
 dei sorgenti allegati alla guida, che contiene varie funzioni di utilità per
 l'uso dei socket.
 
 dei sorgenti allegati alla guida, che contiene varie funzioni di utilità per
 l'uso dei socket.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/sockconn.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/sockconn.c}
   \end{minipage}
   \normalsize
@@ -1755,9 +1754,9 @@ ritornata contiene indirizzi IPv6 o IPv4, in quanto si fa uso direttamente dei
 dati relativi alle strutture degli indirizzi di \struct{addrinfo} che sono
 \textsl{opachi} rispetto all'uso della funzione \func{connect}.
 
 dati relativi alle strutture degli indirizzi di \struct{addrinfo} che sono
 \textsl{opachi} rispetto all'uso della funzione \func{connect}.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/TCP_echo_fifth.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/TCP_echo_fifth.c}
   \end{minipage}
   \normalsize
@@ -1776,9 +1775,9 @@ codice completo è nel file \file{TCP\_echo\_fifth.c} dei sorgenti allegati)
 consente di utilizzare come argomento del programma un nome a dominio al posto
 dell'indirizzo numerico, e può utilizzare sia indirizzi IPv4 che IPv6.
 
 consente di utilizzare come argomento del programma un nome a dominio al posto
 dell'indirizzo numerico, e può utilizzare sia indirizzi IPv4 che IPv6.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/sockbind.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/sockbind.c}
   \end{minipage}
   \normalsize
@@ -1802,7 +1801,7 @@ indirizzo specifico come argomento di \func{bind}, che consente di porre il
 server in ascolto su uno solo dei possibili diversi indirizzi presenti su di
 una macchina.  Se non si vuole che la funzione esegua \func{bind} su un
 indirizzo specifico, ma utilizzi l'indirizzo generico, occorrerà avere cura di
 server in ascolto su uno solo dei possibili diversi indirizzi presenti su di
 una macchina.  Se non si vuole che la funzione esegua \func{bind} su un
 indirizzo specifico, ma utilizzi l'indirizzo generico, occorrerà avere cura di
-passare un valore \const{NULL} come valore per l'argomento \var{host}; l'uso
+passare un valore \val{NULL} come valore per l'argomento \var{host}; l'uso
 del valore \const{AI\_PASSIVE} serve ad ottenere il valore generico nella
 rispettiva struttura degli indirizzi.
 
 del valore \const{AI\_PASSIVE} serve ad ottenere il valore generico nella
 rispettiva struttura degli indirizzi.
 
@@ -1824,9 +1823,9 @@ ha successo il programma deve uscire immediatamente prima di essere posto in
 background, e può quindi scrivere gli errori direttamente sullo standard
 error.
 
 background, e può quindi scrivere gli errori direttamente sullo standard
 error.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/TCP_echod_third.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/TCP_echod_third.c}
   \end{minipage}
   \normalsize
@@ -1960,7 +1959,7 @@ La gran parte delle opzioni utilizzano per \param{optval} un valore intero, se
 poi l'opzione esprime una condizione logica, il valore è sempre un intero, ma
 si dovrà usare un valore non nullo per abilitarla ed un valore nullo per
 disabilitarla.  Se invece l'opzione non prevede di dover ricevere nessun tipo
 poi l'opzione esprime una condizione logica, il valore è sempre un intero, ma
 si dovrà usare un valore non nullo per abilitarla ed un valore nullo per
 disabilitarla.  Se invece l'opzione non prevede di dover ricevere nessun tipo
-di valore si deve impostare \param{optval} a \const{NULL}. Un piccolo numero
+di valore si deve impostare \param{optval} a \val{NULL}. Un piccolo numero
 di opzioni però usano dei tipi di dati peculiari, è questo il motivo per cui
 \param{optval} è stato definito come puntatore generico.
 
 di opzioni però usano dei tipi di dati peculiari, è questo il motivo per cui
 \param{optval} è stato definito come puntatore generico.
 
@@ -2416,9 +2415,9 @@ attesa di dati in ingresso su una connessione che non arriveranno mai o perché
 il client sull'altro capo non è più attivo o perché non è più in grado di
 comunicare con il server via rete.
 
 il client sull'altro capo non è più attivo o perché non è più in grado di
 comunicare con il server via rete.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/TCP_echod_fourth.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/TCP_echod_fourth.c}
   \end{minipage}
   \normalsize
@@ -2514,9 +2513,9 @@ completo della funzione si trova, insieme alle altre funzioni di servizio dei
 socket, all'interno del file \texttt{SockUtils.c} dei sorgenti allegati alla
 guida.
 
 socket, all'interno del file \texttt{SockUtils.c} dei sorgenti allegati alla
 guida.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/sockbindopt.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/sockbindopt.c}
   \end{minipage}
   \normalsize
@@ -2548,9 +2547,9 @@ riportata in fig.~\ref{fig:TCP_echod_fifth}) se ne potrà impostare ad 1 il
 valore, per cui in tal caso la successiva chiamata (\texttt{\small 13-17}) a
 \func{setsockopt} attiverà l'opzione \const{SO\_REUSEADDR}.
 
 valore, per cui in tal caso la successiva chiamata (\texttt{\small 13-17}) a
 \func{setsockopt} attiverà l'opzione \const{SO\_REUSEADDR}.
 
-\begin{figure}[!htb] 
+\begin{figure}[!htbp
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/TCP_echod_fifth.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/TCP_echod_fifth.c}
   \end{minipage}
   \normalsize
@@ -2649,7 +2648,7 @@ dal kernel.
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/linger.h}
   \end{minipage}
   \caption{La struttura \structd{linger} richiesta come valore dell'argomento
     \includestruct{listati/linger.h}
   \end{minipage}
   \caption{La struttura \structd{linger} richiesta come valore dell'argomento
@@ -2683,9 +2682,9 @@ fig.~\ref{fig:TCP_echo_sixth} la sezione di codice che permette di introdurre
 questa funzionalità,; al solito il codice completo è disponibile nei sorgenti
 allegati.
 
 questa funzionalità,; al solito il codice completo è disponibile nei sorgenti
 allegati.
 
-\begin{figure}[!htb] 
+\begin{figure}[!htbp
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/TCP_echo_sixth.c}
   \end{minipage}
   \normalsize
     \includecodesample{listati/TCP_echo_sixth.c}
   \end{minipage}
   \normalsize
@@ -2825,7 +2824,7 @@ seguente elenco:
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/pktinfo.h}
   \end{minipage}
   \caption{La struttura \structd{pktinfo} usata dall'opzione
     \includestruct{listati/pktinfo.h}
   \end{minipage}
   \caption{La struttura \structd{pktinfo} usata dall'opzione
@@ -3056,7 +3055,7 @@ sez.~\ref{sec:net_sendmsg}).
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/ip_mreqn.h}
   \end{minipage}
   \caption{La struttura \structd{ip\_mreqn} utilizzata dalle opzioni dei
     \includestruct{listati/ip_mreqn.h}
   \end{minipage}
   \caption{La struttura \structd{ip\_mreqn} utilizzata dalle opzioni dei
@@ -3339,7 +3338,7 @@ quantità di dettagli è fornita nel seguente elenco:
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/tcp_info.h}
   \end{minipage}
   \caption{La struttura \structd{tcp\_info} contenente le informazioni sul
     \includestruct{listati/tcp_info.h}
   \end{minipage}
   \caption{La struttura \structd{tcp\_info} contenente le informazioni sul
@@ -3362,9 +3361,9 @@ quantità di dettagli è fornita nel seguente elenco:
   in fig.~\ref{fig:is_closing}, in cui si utilizza il valore del campo
   \var{tcpi\_state} di \struct{tcp\_info} per controllare lo stato del socket.
 
   in fig.~\ref{fig:is_closing}, in cui si utilizza il valore del campo
   \var{tcpi\_state} di \struct{tcp\_info} per controllare lo stato del socket.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/is_closing.c}
   \end{minipage}
   \caption{Codice della funzione \texttt{is\_closing.c}, che controlla lo stato
     \includecodesample{listati/is_closing.c}
   \end{minipage}
   \caption{Codice della funzione \texttt{is\_closing.c}, che controlla lo stato
@@ -3629,7 +3628,7 @@ permette di impostare e rilevare le funzionalità delle interfacce di rete.
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/ifreq.h}
   \end{minipage}
   \caption{La struttura \structd{ifreq} utilizzata dalle \func{ioctl} per le
     \includestruct{listati/ifreq.h}
   \end{minipage}
   \caption{La struttura \structd{ifreq} utilizzata dalle \func{ioctl} per le
@@ -3778,7 +3777,7 @@ sono le seguenti:
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/ifmap.h}
   \end{minipage}
   \caption{La struttura \structd{ifmap} utilizzata per leggere ed impostare i
     \includestruct{listati/ifmap.h}
   \end{minipage}
   \caption{La struttura \structd{ifmap} utilizzata per leggere ed impostare i
@@ -3830,7 +3829,7 @@ fig.~\ref{fig:netdevice_ifconf_struct}.
 
 \begin{figure}[!htb]
   \footnotesize \centering
 
 \begin{figure}[!htb]
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\textwidth}
     \includestruct{listati/ifconf.h}
   \end{minipage}
   \caption{La struttura \structd{ifconf}.}
     \includestruct{listati/ifconf.h}
   \end{minipage}
   \caption{La struttura \structd{ifconf}.}
@@ -3864,9 +3863,9 @@ probabilmente\footnote{probabilmente perché si potrebbe essere nella
   condizione in cui sono stati usati esattamente quel numero di byte.} avuta
 una situazione di troncamento dei dati.
 
   condizione in cui sono stati usati esattamente quel numero di byte.} avuta
 una situazione di troncamento dei dati.
 
-\begin{figure}[!htb]
+\begin{figure}[!htbp]
   \footnotesize \centering
   \footnotesize \centering
-  \begin{minipage}[c]{15cm}
+  \begin{minipage}[c]{\codesamplewidth}
     \includecodesample{listati/iflist.c}
   \end{minipage}
   \caption{Il corpo principale del programma \texttt{iflist.c}.}
     \includecodesample{listati/iflist.c}
   \end{minipage}
   \caption{Il corpo principale del programma \texttt{iflist.c}.}
@@ -4190,9 +4189,9 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   procedimento del \itindex{Maximum~Transfer~Unit} \textit{Path MTU discovery}
   fallisce; dato che questo può avvenire a causa di router\footnote{ad
     esempio se si scartano tutti i pacchetti ICMP, il problema è affrontato
   procedimento del \itindex{Maximum~Transfer~Unit} \textit{Path MTU discovery}
   fallisce; dato che questo può avvenire a causa di router\footnote{ad
     esempio se si scartano tutti i pacchetti ICMP, il problema è affrontato
-    anche in sez.~1.4.4 di \cite{FwGL}.} o interfacce\footnote{ad esempio se i
+    anche in sez.~3.4.4 di \cite{SGL}.} o interfacce\footnote{ad esempio se i
     due capi di un collegamento \textit{point-to-point} non si accordano sulla
     due capi di un collegamento \textit{point-to-point} non si accordano sulla
-    stessa MTU.}  mal configurate è opportuno correggere le configurazioni,
+    stessa MTU.}  mal configurati è opportuno correggere le configurazioni,
   perché disabilitare globalmente il procedimento con questo parametro ha
   pesanti ripercussioni in termini di prestazioni di rete.
 
   perché disabilitare globalmente il procedimento con questo parametro ha
   pesanti ripercussioni in termini di prestazioni di rete.