X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sockctrl.tex;h=d94093e3d7f83462c3b29dceda144a5af72481c2;hp=5906b98aee79993b55d3e311b8823044b9bedfb9;hb=4d46f47e3a0e08440812b334f79489d92814e6d2;hpb=7208522fd60468969d96dba5d8dd2cbd24b75b89 diff --git a/sockctrl.tex b/sockctrl.tex index 5906b98..d94093e 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -650,7 +650,7 @@ definizione è riportata in fig.~\ref{fig:sock_hostent_struct}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/hostent.h} \end{minipage} \caption{La struttura \structd{hostent} per la risoluzione dei nomi a @@ -1107,7 +1107,7 @@ memoria statica e che quindi la funzione non è rientrante. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/servent.h} \end{minipage} \caption{La struttura \structd{servent} per la risoluzione dei nomi dei @@ -1272,7 +1272,7 @@ strutture di tipo \struct{addrinfo} contenenti tutte le informazioni ottenute. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/addrinfo.h} \end{minipage} \caption{La struttura \structd{addrinfo} usata nella nuova interfaccia POSIX @@ -2093,7 +2093,7 @@ gestione dei socket, e pertanto il loro utilizzo sarà approfondito separatamente in sez.~\ref{sec:sock_options_main}. Quello che segue è quindi soltanto un elenco più dettagliato della breve descrizione di tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{SO\_KEEPALIVE}] questa opzione abilita un meccanismo di verifica della persistenza di una connessione associata al socket (ed è pertanto @@ -2655,7 +2655,7 @@ dal kernel. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/linger.h} \end{minipage} \caption{La struttura \structd{linger} richiesta come valore dell'argomento @@ -2686,7 +2686,7 @@ che termina immediatamente la connessione. Un esempio di questo comportamento si può abilitare nel nostro client del servizio \textit{echo} utilizzando l'opzione \texttt{-r}; riportiamo in fig.~\ref{fig:TCP_echo_sixth} la sezione di codice che permette di introdurre -questa funzionalità,; al solito il codice completo è disponibile nei sorgenti +questa funzionalità; al solito il codice completo è disponibile nei sorgenti allegati. \begin{figure}[!htbp] @@ -2749,7 +2749,7 @@ file. \begin{table}[!htb] \centering \footnotesize - \begin{tabular}[c]{|l|c|c|c|l|l|} + \begin{tabular}[c]{|l|c|c|c|l|p{6cm}|} \hline \textbf{Opzione}&\texttt{get}&\texttt{set}&\textbf{flag}&\textbf{Tipo}& \textbf{Descrizione}\\ @@ -2802,7 +2802,7 @@ file. Le descrizioni riportate in tab.~\ref{tab:sock_opt_iplevel} sono estremamente succinte, una maggiore quantità di dettagli sulle varie opzioni è fornita nel seguente elenco: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{IP\_OPTIONS}] l'opzione permette di impostare o leggere le @@ -2830,7 +2830,7 @@ seguente elenco: \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/pktinfo.h} \end{minipage} \caption{La struttura \structd{pktinfo} usata dall'opzione @@ -3059,7 +3059,7 @@ sez.~\ref{sec:net_sendmsg}). \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/ip_mreqn.h} \end{minipage} \caption{La struttura \structd{ip\_mreqn} utilizzata dalle opzioni dei @@ -3161,8 +3161,7 @@ Le descrizioni delle varie opzioni riportate in tab.~\ref{tab:sock_opt_tcplevel} sono estremamente sintetiche ed indicative, la spiegazione del funzionamento delle singole opzioni con una maggiore quantità di dettagli è fornita nel seguente elenco: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} - +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{TCP\_NODELAY}] il protocollo TCP utilizza un meccanismo di bufferizzazione dei dati uscenti, per evitare la trasmissione di tanti @@ -3346,7 +3345,7 @@ quantità di dettagli è fornita nel seguente elenco: \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/tcp_info.h} \end{minipage} \caption{La struttura \structd{tcp\_info} contenente le informazioni sul @@ -3452,7 +3451,7 @@ quantità di dettagli è fornita nel seguente elenco: \begin{table}[!htb] \centering \footnotesize - \begin{tabular}[c]{|l|l|p{10cm}|} + \begin{tabular}[c]{|l|l|l|} \hline \textbf{Nome}&\textbf{Configurazione}&\textbf{Riferimento} \\ \hline @@ -3521,7 +3520,7 @@ file.\footnote{come per TCP, la definizione delle opzioni effettivamente Ancora una volta le descrizioni contenute tab.~\ref{tab:sock_opt_udplevel} sono un semplice riferimento, una maggiore quantità di dettagli sulle caratteristiche delle opzioni citate è quello dell'elenco seguente: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{UDP\_CORK}] questa opzione ha l'identico effetto dell'analoga \const{TCP\_CORK} vista in precedenza per il protocollo TCP, e quando @@ -3572,7 +3571,7 @@ come \textit{value result argument}, con queste operazioni il terzo argomento deve sempre essere passato come puntatore ad una variabile (o struttura) precedentemente allocata. Le costanti che identificano le operazioni sono le seguenti: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{SIOCGSTAMP}] restituisce il contenuto di una struttura \struct{timeval} con la marca temporale dell'ultimo pacchetto ricevuto sul socket, questa operazione può essere utilizzata per effettuare delle @@ -3628,7 +3627,7 @@ permette di impostare e rilevare le funzionalità delle interfacce di rete. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/ifreq.h} \end{minipage} \caption{La struttura \structd{ifreq} utilizzata dalle \func{ioctl} per le @@ -3651,7 +3650,7 @@ quelle che modificano le caratteristiche dell'interfaccia) sono privilegiate e richiedono i privilegi di amministratore o la \textit{capability} \const{CAP\_NET\_ADMIN}, altrimenti si otterrà un errore di \errval{EPERM}. Le costanti che identificano le operazioni disponibili sono le seguenti: -\begin{basedescript}{\desclabelwidth{2.7cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{SIOCGIFNAME}] questa è l'unica operazione che usa il campo \var{ifr\_name} per restituire un risultato, tutte le altre lo utilizzano per indicare l'interfaccia sulla quale operare. L'operazione richiede che si @@ -3775,7 +3774,7 @@ Le costanti che identificano le operazioni disponibili sono le seguenti: \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/ifmap.h} \end{minipage} \caption{La struttura \structd{ifmap} utilizzata per leggere ed impostare i @@ -3831,7 +3830,7 @@ fig.~\ref{fig:netdevice_ifconf_struct}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{\textwidth} + \begin{minipage}[c]{0.80\textwidth} \includestruct{listati/ifconf.h} \end{minipage} \caption{La struttura \structd{ifconf}.} @@ -3931,7 +3930,7 @@ come possibile valore per il secondo argomento della funzione le costanti illustrate nell'elenco seguente; il terzo argomento della funzione, gestito come \textit{value result argument}, deve essere sempre il puntatore ad una variabile di tipo \ctyp{int}: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{SIOCINQ}] restituisce la quantità di dati non ancora letti presenti nel buffer di ricezione; il socket non deve essere in stato \texttt{LISTEN}, altrimenti si avrà un errore di \errval{EINVAL}. @@ -3964,7 +3963,7 @@ dalla relativa pagina di manuale accessibile con \texttt{man 7 udp}, sono quelle indicate dalle costanti del seguente elenco; come per i socket TCP il terzo argomento viene gestito come \textit{value result argument} e deve essere un puntatore ad una variabile di tipo \ctyp{int}: -\begin{basedescript}{\desclabelwidth{2.5cm}\desclabelstyle{\nextlinelabel}} +\begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}} \item[\const{FIONREAD}] restituisce la dimensione in byte del primo pacchetto in attesa di ricezione, o 0 qualora non ci sia nessun pacchetto. \item[\const{TIOCOUTQ}] restituisce il numero di byte presenti nella coda di