X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=socket.tex;h=58a18a5c6f0155be05bff70faf23f035ec09159a;hp=dfcfd323b2db773a0e9f0457d5886c5a4a4d6419;hb=ffb12837c5ed8ccc095bc9c88349cd19b5e6b472;hpb=a896c0a874a06d086369f5cc3c7e6cf347671835 diff --git a/socket.tex b/socket.tex index dfcfd32..58a18a5 100644 --- a/socket.tex +++ b/socket.tex @@ -238,8 +238,8 @@ valori numerici.\footnote{in Linux, come si può verificare andando a guardare lo stesso nome.} I domini (e i relativi nomi simbolici), così come i nomi delle famiglie di -indirizzi, sono definiti dall'header \texttt{socket.h}. Un elenco delle -famiglie di protocolli disponibili in Linux è riportato in +indirizzi, sono definiti dall'\textit{header file} \headfile{socket.h}. Un +elenco delle famiglie di protocolli disponibili in Linux è riportato in tab.~\ref{tab:net_pf_names}.\footnote{l'elenco indica tutti i protocolli definiti; fra questi però saranno utilizzabili solo quelli per i quali si è compilato il supporto nel kernel (o si sono caricati gli opportuni moduli), @@ -394,7 +394,7 @@ occorrerà eseguire una conversione del relativo puntatore. I tipi di dati che compongono la struttura sono stabiliti dallo standard POSIX.1g e li abbiamo riassunti in tab.~\ref{tab:sock_data_types} con i rispettivi file di include in cui sono definiti; la struttura è invece -definita nell'include file \file{sys/socket.h}. +definita nell'include file \headfile{sys/socket.h}. \begin{table}[!htb] \centering @@ -406,21 +406,21 @@ definita nell'include file \file{sys/socket.h}. \multicolumn{1}{|c|}{\textbf{Header}} \\ \hline \hline - \type{int8\_t} & intero a 8 bit con segno & \file{sys/types.h}\\ - \type{uint8\_t} & intero a 8 bit senza segno & \file{sys/types.h}\\ - \type{int16\_t} & intero a 16 bit con segno & \file{sys/types.h}\\ - \type{uint16\_t} & intero a 16 bit senza segno& \file{sys/types.h}\\ - \type{int32\_t} & intero a 32 bit con segno & \file{sys/types.h}\\ - \type{uint32\_t} & intero a 32 bit senza segno& \file{sys/types.h}\\ + \type{int8\_t} & intero a 8 bit con segno & \headfile{sys/types.h}\\ + \type{uint8\_t} & intero a 8 bit senza segno & \headfile{sys/types.h}\\ + \type{int16\_t} & intero a 16 bit con segno & \headfile{sys/types.h}\\ + \type{uint16\_t} & intero a 16 bit senza segno& \headfile{sys/types.h}\\ + \type{int32\_t} & intero a 32 bit con segno & \headfile{sys/types.h}\\ + \type{uint32\_t} & intero a 32 bit senza segno& \headfile{sys/types.h}\\ \hline - \type{sa\_family\_t} & famiglia degli indirizzi& \file{sys/socket.h}\\ + \type{sa\_family\_t} & famiglia degli indirizzi&\headfile{sys/socket.h}\\ \type{socklen\_t} & lunghezza (\type{uint32\_t}) dell'indirizzo di - un socket& \file{sys/socket.h}\\ + un socket& \headfile{sys/socket.h}\\ \hline \type{in\_addr\_t} & indirizzo IPv4 (\type{uint32\_t}) & - \file{netinet/in.h}\\ + \headfile{netinet/in.h}\\ \type{in\_port\_t} & porta TCP o UDP (\type{uint16\_t})& - \file{netinet/in.h}\\ + \headfile{netinet/in.h}\\ \hline \end{tabular} \caption{Tipi di dati usati nelle strutture degli indirizzi, secondo quanto @@ -449,7 +449,7 @@ sarebbe più immediato per l'utente (che non dovrebbe più eseguire il casting), I socket di tipo \const{PF\_INET} vengono usati per la comunicazione attraverso internet; la struttura per gli indirizzi per un socket internet (se si usa IPv4) è definita come \struct{sockaddr\_in} nell'header file -\file{netinet/in.h} ed ha la forma mostrata in +\headfile{netinet/in.h} ed ha la forma mostrata in fig.~\ref{fig:sock_sa_ipv4_struct}, conforme allo standard POSIX.1g. \begin{figure}[!htb] @@ -482,8 +482,8 @@ vedremo in sez.~\ref{sec:TCP_func_bind}) su queste porte. Il membro \var{sin\_addr} contiene un indirizzo internet, e viene acceduto sia come struttura (un resto di una implementazione precedente in cui questa era una \direct{union} usata per accedere alle diverse classi di indirizzi) che -direttamente come intero. In \file{netinet/in.h} vengono definite anche alcune -costanti che identificano alcuni indirizzi speciali, riportati in +direttamente come intero. In \headfile{netinet/in.h} vengono definite anche +alcune costanti che identificano alcuni indirizzi speciali, riportati in tab.~\ref{tab:TCP_ipv4_addr}, che rincontreremo più avanti. Infine occorre sottolineare che sia gli indirizzi che i numeri di porta devono @@ -501,8 +501,8 @@ soluzioni). Essendo IPv6 un'estensione di IPv4, i socket di tipo \const{PF\_INET6} sono sostanzialmente identici ai precedenti; la parte in cui si trovano praticamente tutte le differenze fra i due socket è quella della struttura -degli indirizzi; la sua definizione, presa da \file{netinet/in.h}, è riportata -in fig.~\ref{fig:sock_sa_ipv6_struct}. +degli indirizzi; la sua definizione, presa da \headfile{netinet/in.h}, è +riportata in fig.~\ref{fig:sock_sa_ipv6_struct}. \begin{figure}[!htb] \footnotesize \centering @@ -551,7 +551,8 @@ fig.~\ref{fig:sock_sa_local_struct}. \includestruct{listati/sockaddr_un.h} \end{minipage} \caption{La struttura \structd{sockaddr\_un} degli indirizzi dei socket - locali (detti anche \textit{unix domain}) definita in \file{sys/un.h}.} + locali (detti anche \textit{unix domain}) definita in + \headfile{sys/un.h}.} \label{fig:sock_sa_local_struct} \end{figure} @@ -586,7 +587,7 @@ per \param{protocol} è \const{ATPROTO\_DDP}. Gli indirizzi AppleTalk devono essere specificati tramite una struttura \struct{sockaddr\_atalk}, la cui definizione è riportata in fig.~\ref{fig:sock_sa_atalk_struct}; la struttura viene dichiarata includendo -il file \file{netatalk/at.h}. +il file \headfile{netatalk/at.h}. \begin{figure}[!htb] \footnotesize \centering