X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sockctrl.tex;h=fcfa257d1e10d6687034310b70e0536c537c1edf;hp=7d860f348fc018208a36f62d883aff6ea06eff4d;hb=75f347126b2425b5aeafefec9b18a97f5646f10d;hpb=7e19b798d0cc09960daad695d8f3b242170bb3b4 diff --git a/sockctrl.tex b/sockctrl.tex index 7d860f3..fcfa257 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -2318,7 +2318,7 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni: \func{setsockopt} ed utilizza per \param{optval} un puntatore ad una struttura \struct{sock\_fprog} (definita in \headfile{linux/filter.h}). Questa opzione viene usata principalmente con i - socket di tipo \const{PF\_PACKET} (torneremo su questo in + socket di tipo \const{AF\_PACKET} (torneremo su questo in sez.~\ref{sec:packet_socket}) dalla libreria \texttt{libpcap} per implementare programmi di cattura dei pacchetti, e per questo tipo di applicazione è opportuno usare sempre quest'ultima.\footnote{la trattazione @@ -2347,8 +2347,8 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni: \const{SOCK\_STREAM}. \item[\constd{SO\_BSDCOMPAT}] questa opzione abilita la compatibilità con il - comportamento di BSD (in particolare ne riproduce alcuni bug). Attualmente è una - opzione usata solo per il protocollo UDP e ne è prevista la rimozione. + comportamento di BSD (in particolare ne riproduce alcuni bug). Attualmente + è una opzione usata solo per il protocollo UDP e ne è prevista la rimozione. L'opzione utilizza per \param{optval} un intero usato come valore logico. Quando viene abilitata gli errori riportati da messaggi ICMP per un socket @@ -2559,13 +2559,14 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni: segnalando ad una \func{select} (vedi sez.~\ref{sec:TCP_sock_select}) che ci sono dati in ingresso. L'opzione utilizza per \param{optval} un intero che specifica il numero di byte; con Linux questo valore è sempre 1 e può essere - cambiato solo con i kernel a partire dal 2.4. Si tenga presente però che - \func{poll} e \func{select} non supportano ancora questa funzionalità e - ritornano comunque, indicando il socket come leggibile, non appena almeno un - byte è presente mentre in una successiva lettura \func{read} si bloccherà - fintanto che non siano disponibili la quantità di byte indicati. Con - \func{getsockopt} si può leggere questo valore mentre \func{setsockopt} darà - un errore di \errcode{ENOPROTOOPT} quando il cambiamento non è supportato. + cambiato solo con i kernel a partire dal 2.4. Si tenga presente però che per + i kernel prima del 2.6.28 sia \func{poll} che \func{select} non supportano + questa funzionalità e ritornano comunque, indicando il socket come + leggibile, non appena almeno un byte è presente, con una successiva lettura + con \func{read} che si blocca fintanto che non diventa disponibile la + quantità di byte indicati. Con \func{getsockopt} si può leggere questo + valore mentre \func{setsockopt} darà un errore di \errcode{ENOPROTOOPT} + quando il cambiamento non è supportato. \item[\constd{SO\_RCVTIMEO}] l'opzione permette di impostare un tempo massimo sulle operazioni di lettura da un socket, e prende per \param{optval} una