Convertiti (spero) tutti i prototipi delle funzioni al nuovo environment...
[gapil.git] / socket.tex
index 86c0b71d95cbb360108393c0b5eac248a6069264..4f18f9f098d4f915875d4c56d69e0adc440e86be 100644 (file)
@@ -82,14 +82,13 @@ definisce lo stile di comunicazione vedi \secref{sec:sock_type}) e il
 protocollo; in genere quest'ultimo è indicato implicitamente dal tipo di
 socket, per cui viene messo a zero (con l'eccezione dei \textit{raw socket}).
 
-\begin{itemize}
-\item \texttt{int socket(int domain, int type, int protocol)}
+\begin{prototype}{int socket(int domain, int type, int protocol)}
   
   La funzione restituisce un intero positivo se riesce, e -1 se fallisce, in
   quest'ultimo caso la variabile \texttt{errno} è settata con i seguenti
   codici di errore:
 
-  \begin{itemize}
+  \begin{errlist}
   \item \texttt{EPROTONOSUPPORT} Il tipo di socket o il protocollo scelto non
     sono supportati nel dominio.
   \item \texttt{ENFILE} Il kernel non ha memoria sufficiente a creare una
@@ -100,8 +99,8 @@ socket, per cui viene messo a zero (con l'eccezione dei \textit{raw socket}).
   \item \texttt{EINVAL} Protocollo sconosciuto o dominio non disponibile.
   \item \texttt{ENOBUFS} o \texttt{ENOMEM} Non c'è sufficiente memoria per
     creare il socket.
-  \end{itemize}
-\end{itemize}
+  \end{errlist}
+\end{prototype}
 
 Si noti che la creazione del socket non comporta nulla riguardo
 all'indicazione degli indirizzi remoti o locali attraverso i quali si vuole
@@ -539,28 +538,23 @@ Per questo motivo si usano le seguenti funzioni di conversione (i cui
 prototipi sono definiti in \texttt{netinet/in.h}) che servono a tener conto
 automaticamente della possibile differenza fra l'ordinamento usato sul
 computer e quello che viene usato nelle trasmissione sulla rete; queste
-funzioni sono:
-\begin{itemize}
-\item \texttt{unsigned long int htonl(unsigned long int hostlong)} 
-  
+funzioni sono:{
+\begin{prototype}{unsigned long int htonl(unsigned long int hostlong)} 
   Converte l'intero a 32 bit \texttt{hostlong} dal formato della macchina a
   quello della rete.
-
-\item \texttt{unsigned sort int htons(unsigned short int hostshort)}
-
+\end{prototype}
+\begin{prototype}{unsigned sort int htons(unsigned short int hostshort)}
   Converte l'intero a 16 bit \texttt{hostshort} dal formato della macchina a
   quello della rete.
-  
-\item \texttt{unsigned long int ntonl(unsigned long int netlong)}
-  
+\end{prototype}
+\begin{prototype}{unsigned long int ntonl(unsigned long int netlong)}
   Converte l'intero a 32 bit \texttt{netlong} dal formato della rete a quello
   della macchina.
-
-\item \texttt{unsigned sort int ntons(unsigned short int netshort)}
-  
+\end{prototype}
+\begin{prototype}{unsigned sort int ntons(unsigned short int netshort)}
   Converte l'intero a 16 bit \texttt{netshort} dal formato della rete a quello
   della macchina.
-\end{itemize}
+\end{prototype}
 I nomi sono assegnati usando la lettera $n$ come mnemonico per indicare
 l'ordinamento usato sulla rete (da \textit{network order}) e la lettera $h$
 come mnemonico per l'ordinamento usato sulla macchina locale (da \textit{host
@@ -588,32 +582,28 @@ cosiddetta notazione \textit{dotted-decimal}, (cio
 \texttt{192.160.0.1}) al formato binario (direttamente in \textit{network
   order}) e viceversa; in questo caso si usa la lettera $a$ come mnemonico per
 indicare la stringa. Dette funzioni sono:
-\begin{itemize}
-\item \texttt{int inet\_aton(const char *src, struct in\_addr *dest)}
-  
+\begin{prototype}{int inet\_aton(const char *src, struct in\_addr *dest)}
   Converte la stringa puntata da \texttt{src} nell'indirizzo binario da
   memorizzare all'indirizzo puntato da \texttt{dest}, restituendo 0 in caso
   di successo e 1 in caso di fallimento (è espressa in questa forma in modo da
   poterla usare direttamente con il puntatore usato per passare la struttura
   degli indirizzi). Se usata con \texttt{dest} inizializzato a
   \texttt{NULL} effettua la validazione dell'indirizzo.
-  
-\item \texttt{in\_addr\_t inet\_addr(const char *strptr)}
-  
+\end{prototype}  
+\begin{prototype}{in\_addr\_t inet\_addr(const char *strptr)}
   Restituisce l'indirizzo a 32 bit in network order a partire dalla stringa
   passata come parametro, in caso di errore restituisce il valore
   \texttt{INADDR\_NONE} che tipicamente sono trentadue bit a uno; questo
   comporta che la stringa \texttt{255.255.255.255}, che pure è un indirizzo
   valido, non può essere usata con questa funzione; per questo motivo essa è
   generalmente deprecata in favore della precedente.
-  
-\item \texttt{char *inet\_ntoa(struct in\_addr addrptr)}
-  
+\end{prototype}  
+\begin{prototype}{char *inet\_ntoa(struct in\_addr addrptr)}
   Converte il valore a 32 bit dell'indirizzo (espresso in 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.
-\end{itemize}
+\end{prototype}
 
 
 \subsection{Le funzioni \texttt{inet\_pton} e \texttt{inet\_ntop}}
@@ -640,16 +630,13 @@ di indirizzo e pu
 famiglia indicata non è valida entrambe le funzioni ritornano un valore
 negativo e settano la variabile \texttt{errno} al valore
 \texttt{EAFNOSUPPORT}. I prototipi delle suddette funzioni sono i seguenti:
-\begin{itemize}
-\item \texttt{int inet\_pton(int family, const char *src, void *dest)} 
-  
+\begin{prototype}{int inet\_pton(int family, const char *src, void *dest)}   
   Converte la stringa puntata da \texttt{src} nell'indirizzo binario da
   memorizzare all'indirizzo puntato da \texttt{dest}, restituendo 0 in caso di
   successo e 1 in caso di fallimento. 
-  
-\item \texttt{char *inet\_ntop(int family, const void *src, char *dest,
+\end{prototype}
+\begin{prototype}{char *inet\_ntop(int family, const void *src, char *dest,
     size\_t len)}
-  
   Converte la struttura dell'indirizzo puntata da \texttt{src} in una stringa
   che viene copiata nel buffer puntato dall'indirizzo \texttt{dest}; questo
   deve essere preallocato dall'utente e la lunghezza deve essere almeno
@@ -662,8 +649,7 @@ negativo e settano la variabile \texttt{errno} al valore
   viene settata la variabile \texttt{errno} con il valore \texttt{ENOSPC} in
   caso le dimensioni dell'indirizzo eccedano la lunghezza specificata da
   \texttt{len}.
-
-\end{itemize}
+\end{prototype}
 
 
 \section{Il comportamento delle funzioni di I/O}