%% socket.tex
%%
-%% Copyright (C) 2000-2012 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2014 Simone Piccardi. Permission is granted to
%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
pertanto non ne parleremo ulteriormente.}
\end{basedescript}
-Si tenga presente che non tutte le combinazioni fra una famiglia di protocolli
-e un tipo di socket sono valide, in quanto non è detto che in una famiglia
-esista un protocollo per ciascuno dei diversi stili di comunicazione appena
-elencati.
+A partire dal kernel 2.6.27 l'argomento \param{type} della funzione
+\func{socket} assume un significato ulteriore perché può essere utlizzato per
+impostare dei flag relativi alle caratteristiche generali del \textit{socket}
+non strettamente attinenti all'indicazione del tipo secondo i valori appena
+illustrati. Essi infatti possono essere combinati con un OR aritmetico delle
+ulteriori costanti:
+\begin{basedescript}{\desclabelwidth{2.9cm}\desclabelstyle{\nextlinelabel}}
+\item[\const{SOCK\_CLOEXEC}] imposta il flag di \textit{close-on-exec}
+ \itindex{close-on-exec} sul file descriptor del socket, ottenendo lo stesso
+ effetto del flag \const{O\_CLOEXEC} di \func{open} (vedi
+ tab.~\ref{tab:open_operation_flag}), di cui costituisce l'analogo.
+
+\item[\const{SOCK\_NONBLOCK}] crea il socket in modalità non-bloccante, con
+ effetti identici ad una successiva chiamata a \func{fcntl} per impostare il
+ flag di \const{O\_NONBLOCK} sul file descriptor (si faccia di nuovo
+ riferimenti al significato di quest'ultimo come spiegato in
+ tab.~\ref{tab:open_operation_flag}).
+\end{basedescript}
+
+
+Si tenga presente inoltre che non tutte le combinazioni fra una famiglia di
+protocolli e un tipo di socket sono valide, in quanto non è detto che in una
+famiglia esista un protocollo per ciascuno dei diversi stili di comunicazione
+appena elencati.
\begin{table}[htb]
\footnotesize
\struct{in\_addr} (si veda fig.~\ref{fig:sock_sa_ipv4_struct}) situata
all'indirizzo dato dall'argomento \param{dest} (è espressa in questa forma in
modo da poterla usare direttamente con il puntatore usato per passare la
-struttura degli indirizzi). La funzione restituisce 0 in caso di successo e 1
-in caso di fallimento. Se usata con \param{dest} inizializzato a \val{NULL}
-effettua la validazione dell'indirizzo.
+struttura degli indirizzi). La funzione restituisce un valore diverso da zero
+se l'indirizzo è valido e la conversione ha successo e 0 in caso contrario.
+Se usata con \param{dest} inizializzato a \val{NULL} effettua la validazione
+dell'indirizzo.
L'ultima funzione, \func{inet\_ntoa}, converte il valore a 32 bit
dell'indirizzo (espresso in \textit{network order}) restituendo il puntatore