Aggiornamento al 2010 delle note di copyright
[gapil.git] / socket.tex
index b2f9033e0ce70ad2a4c72e7a9d838fed72578772..9f0ef002e3c96277026416cbf6cb329656aa4905 100644 (file)
@@ -1,6 +1,6 @@
 %% socket.tex
 %%
-%% Copyright (C) 2000-2007 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2010 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",
@@ -126,15 +126,15 @@ il suo prototipo 
     -1 in caso di fallimento, nel qual caso la variabile \var{errno} assumerà
   i valori:
   \begin{errlist}
-  \item[\errcode{EPROTONOSUPPORT}] Il tipo di socket o il protocollo scelto non
-    sono supportati nel dominio.
-  \item[\errcode{ENFILE}] Il kernel non ha memoria sufficiente a creare una
+  \item[\errcode{EPROTONOSUPPORT}] il tipo di socket o il protocollo scelto
+    non sono supportati nel dominio.
+  \item[\errcode{ENFILE}] il kernel non ha memoria sufficiente a creare una
     nuova struttura per il socket.
-  \item[\errcode{EMFILE}] Si è ecceduta la tabella dei file.
-  \item[\errcode{EACCES}] Non si hanno privilegi per creare un socket nel
+  \item[\errcode{EMFILE}] si è ecceduta la tabella dei file.
+  \item[\errcode{EACCES}] non si hanno privilegi per creare un socket nel
     dominio o con il protocollo specificato.
-  \item[\errcode{EINVAL}] Protocollo sconosciuto o dominio non disponibile.
-  \item[\errcode{ENOBUFS}] Non c'è sufficiente memoria per creare il socket
+  \item[\errcode{EINVAL}] protocollo sconosciuto o dominio non disponibile.
+  \item[\errcode{ENOBUFS}] non c'è sufficiente memoria per creare il socket
     (può essere anche \errval{ENOMEM}).
   \end{errlist}
   inoltre, a seconda del protocollo usato, potranno essere generati altri
@@ -219,6 +219,8 @@ i capi della comunicazione.
   \label{tab:net_pf_names}
 \end{table}
 
+% TODO aggiungere PF_CAN, vedi http://lwn.net/Articles/253425, dal 2.6.25
+
 L'idea alla base della distinzione fra questi due insiemi di costanti era che
 una famiglia di protocolli potesse supportare vari tipi di indirizzi, per cui
 il prefisso \texttt{PF\_} si sarebbe dovuto usare nella creazione dei socket e
@@ -617,7 +619,7 @@ implementare dei protocolli in user space, agendo direttamente sul livello
 fisico. In genere comunque si preferisce usare la libreria
 \file{pcap},\footnote{la libreria è mantenuta insieme al comando
   \cmd{tcpdump}, informazioni e documentazione si possono trovare sul sito del
-  progetto \href{http://www.tcpdump.org/}{\texttt{http://www.tcpdump.org/}}.}
+  progetto \href{http://www.tcpdump.org/}{\textsf{http://www.tcpdump.org/}}.}
 che assicura la portabilità su altre piattaforme, anche se con funzionalità
 ridotte.
 
@@ -726,23 +728,8 @@ lunghezza effettiva del pacchetto cos
 %% solo come esempio 
 
 
-
-% \subsection{Il passaggio delle strutture}
-% \label{sec:sock_addr_pass}
-
-% Come detto nelle funzioni della API dei socket le strutture degli indirizzi
-% vengono sempre passate per riferimento usando un puntatore; anche la lunghezza
-% della struttura è passata come argomento, ma in questo caso la modalità del
-% passaggio dipende dalla direzione del medesimo, dal processo al kernel o
-% viceversa.
-
-% In particolare le tre funzioni \func{bind}, \func{connect} e
-% \func{sendto} passano la struttura al kernel, in questo caso è passata
-% \textsl{per valore} anche la dimensione della medesima
-
-
-% Le funzioni \func{accept}, \func{recvfrom}, \func{getsockname} e
-% \func{getpeername} invece ricevono i valori del kernel 
+% TODO: trattare i socket RDS, vedi documentazione del kernel, file 
+% Documentation/networking/rds.txt
 
 
 
@@ -777,7 +764,7 @@ realt
 
 Per capire meglio il problema si consideri un intero a 32 bit scritto in una
 locazione di memoria posta ad un certo indirizzo. Come illustrato in
-fig.~\ref{fig:sock_endianess} i singoli bit possono essere disposti un memoria
+fig.~\ref{fig:sock_endianess} i singoli bit possono essere disposti in memoria
 in due modi: a partire dal più significativo o a partire dal meno
 significativo.  Così nel primo caso si troverà il byte che contiene i bit più
 significativi all'indirizzo menzionato e il byte con i bit meno significativi
@@ -954,7 +941,7 @@ L'ultima funzione, \func{inet\_ntoa}, converte il valore a 32 bit
 dell'indirizzo (espresso in \textit{network order}) restituendo il puntatore
 alla stringa che contiene l'espressione in formato dotted decimal. Si deve
 tenere presente che la stringa risiede in memoria statica, per cui questa
-funzione non è rientrante.
+funzione non è \index{funzioni!rientranti} rientrante.
 
 
 \subsection{Le funzioni \func{inet\_pton} e \func{inet\_ntop}}
@@ -1027,10 +1014,9 @@ sez.~\ref{sec:IP_ipv6_notation} per IPv6.
 
 
 
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: "gapil"
-%%% End: 
+
+
+
 
 % LocalWords:  socket sez cap BSD SVr XTI Transport Interface TCP stream UDP PF
 % LocalWords:  datagram broadcast descriptor sys int domain type protocol errno
@@ -1056,4 +1042,10 @@ sez.~\ref{sec:IP_ipv6_notation} per IPv6.
 % LocalWords:  sort netshort host inet aton ntoa dotted decimal const char src
 % LocalWords:  strptr struct dest addrptr INADDR NULL pton ntop presentation af
 % LocalWords:  numeric EAFNOSUPPORT size ENOSPC ENOAFSUPPORT ADDRSTRLEN ROUTE
-% LocalWords:  of tcpdump
+% LocalWords:  of tcpdump page
+
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: