complessità) di \texttt{make} connesse alla presenza di quelle regole
implicite a cui avevamo accennato.
-Anzitutto una una peculiarità di \texttt{make} è che si possono anche usare
-più bersagli per una stessa regola (nell'esempio quelli contenuti nella
-variabile \texttt{OBJ} che viene espansa in una lista); in questo caso la
-regola di costruzione sarà applicata a ciascuno che si potrà citare nella
-regola stessa facendo riferimento con la variabile automatica: \texttt{\$@}.
-L'esempio usato per la nostra costruzione però sembra non avere neanche la
-regola di costruzione.
+Anzitutto una peculiarità di \texttt{make} è che si possono anche usare più
+bersagli per una stessa regola (nell'esempio quelli contenuti nella variabile
+\texttt{OBJ} che viene espansa in una lista); in questo caso la regola di
+costruzione sarà applicata a ciascuno che si potrà citare nella regola stessa
+facendo riferimento con la variabile automatica: \texttt{\$@}. L'esempio
+usato per la nostra costruzione però sembra non avere neanche la regola di
+costruzione.
Questa mancanza sia di regola che di dipendenze (ad esempio dai vari sorgenti)
illustra le capacità di funzionamento automatico di \texttt{make}.
sotto controllo. L'argomento viene ignorato con l'operazione
\const{EPOLL\_CTL\_DEL}.\footnote{fino al kernel 2.6.9 era comunque richiesto
che questo fosse un puntatore valido, anche se poi veniva ignorato, a
- partire dal 2.6.9 si può specificare anche anche un valore \texttt{NULL}.}
+ partire dal 2.6.9 si può specificare anche un valore \texttt{NULL}.}
meccanismi della memoria virtuale per eseguire i trasferimenti di dati (in
maniera analoga a \func{mmap}), qualora le pagine non possano essere
spostate dalla pipe o il buffer non corrisponda a pagine intere esse saranno
- comunque comunque copiate.}
+ comunque copiate.}
\footnotetext{questa opzione consente di utilizzare delle opzioni di gestione
dei socket che permettono di ottimizzare le trasmissioni via rete, si veda
\textbf{Valore} & \textbf{Tipo di file} \\
\hline
\hline
- \const{DT\_UNKNOWN} & tipo sconosciuto\\
- \const{DT\_REG} & file normale\\
- \const{DT\_DIR} & directory\\
- \const{DT\_FIFO} & fifo\\
- \const{DT\_SOCK} & socket\\
- \const{DT\_CHR} & dispositivo a caratteri\\
- \const{DT\_BLK} & dispositivo a blocchi\\
+ \const{DT\_UNKNOWN} & Tipo sconosciuto.\\
+ \const{DT\_REG} & File normale.\\
+ \const{DT\_DIR} & Directory.\\
+ \const{DT\_FIFO} & Fifo.\\
+ \const{DT\_SOCK} & Socket.\\
+ \const{DT\_CHR} & Dispositivo a caratteri.\\
+ \const{DT\_BLK} & Dispositivo a blocchi.\\
\hline
\end{tabular}
\caption{Costanti che indicano i vari tipi di file nel campo \var{d\_type}
\textbf{Macro} & \textbf{Tipo del file} \\
\hline
\hline
- \macro{S\_ISREG(m)} & file regolare \\
- \macro{S\_ISDIR(m)} & directory \\
- \macro{S\_ISCHR(m)} & dispositivo a caratteri \\
- \macro{S\_ISBLK(m)} & dispositivo a blocchi\\
- \macro{S\_ISFIFO(m)} & fifo \\
- \macro{S\_ISLNK(m)} & link simbolico \\
- \macro{S\_ISSOCK(m)} & socket \\
+ \macro{S\_ISREG(m)} & File normale.\\
+ \macro{S\_ISDIR(m)} & Directory.\\
+ \macro{S\_ISCHR(m)} & Dispositivo a caratteri.\\
+ \macro{S\_ISBLK(m)} & Dispositivo a blocchi.\\
+ \macro{S\_ISFIFO(m)} & Fifo.\\
+ \macro{S\_ISLNK(m)} & Link simbolico.\\
+ \macro{S\_ISSOCK(m)} & Socket.\\
\hline
\end{tabular}
\caption{Macro per i tipi di file (definite in \texttt{sys/stat.h}).}
\textbf{Flag} & \textbf{Valore} & \textbf{Significato} \\
\hline
\hline
- \const{S\_IFMT} & 0170000 & maschera per i bit del tipo di file \\
- \const{S\_IFSOCK} & 0140000 & socket \\
- \const{S\_IFLNK} & 0120000 & link simbolico \\
- \const{S\_IFREG} & 0100000 & file regolare \\
- \const{S\_IFBLK} & 0060000 & dispositivo a blocchi \\
- \const{S\_IFDIR} & 0040000 & directory \\
- \const{S\_IFCHR} & 0020000 & dispositivo a caratteri \\
- \const{S\_IFIFO} & 0010000 & fifo \\
+ \const{S\_IFMT} & 0170000 & Maschera per i bit del tipo di file.\\
+ \const{S\_IFSOCK} & 0140000 & Socket.\\
+ \const{S\_IFLNK} & 0120000 & Link simbolico.\\
+ \const{S\_IFREG} & 0100000 & File regolare.\\
+ \const{S\_IFBLK} & 0060000 & Dispositivo a blocchi.\\
+ \const{S\_IFDIR} & 0040000 & Directory.\\
+ \const{S\_IFCHR} & 0020000 & Dispositivo a caratteri.\\
+ \const{S\_IFIFO} & 0010000 & Fifo.\\
\hline
- \const{S\_ISUID} & 0004000 & set UID bit \itindex{suid~bit} \\
- \const{S\_ISGID} & 0002000 & set GID bit \itindex{sgid~bit} \\
- \const{S\_ISVTX} & 0001000 & sticky bit \itindex{sticky~bit}\\
+ \const{S\_ISUID} & 0004000 & Set UID bit \itindex{suid~bit}.\\
+ \const{S\_ISGID} & 0002000 & Set GID bit \itindex{sgid~bit}.\\
+ \const{S\_ISVTX} & 0001000 & Sticky bit \itindex{sticky~bit}.\\
\hline
-% \const{S\_IRWXU} & 00700 & bitmask per i permessi del proprietario \\
- \const{S\_IRUSR} & 00400 & il proprietario ha permesso di lettura \\
- \const{S\_IWUSR} & 00200 & il proprietario ha permesso di scrittura \\
- \const{S\_IXUSR} & 00100 & il proprietario ha permesso di esecuzione\\
+% \const{S\_IRWXU} & 00700 & Bitmask per i permessi del proprietario.\\
+ \const{S\_IRUSR} & 00400 & Il proprietario ha permesso di lettura.\\
+ \const{S\_IWUSR} & 00200 & Il proprietario ha permesso di scrittura.\\
+ \const{S\_IXUSR} & 00100 & Il proprietario ha permesso di esecuzione.\\
\hline
-% \const{S\_IRWXG} & 00070 & bitmask per i permessi del gruppo \\
- \const{S\_IRGRP} & 00040 & il gruppo ha permesso di lettura \\
- \const{S\_IWGRP} & 00020 & il gruppo ha permesso di scrittura \\
- \const{S\_IXGRP} & 00010 & il gruppo ha permesso di esecuzione \\
+% \const{S\_IRWXG} & 00070 & Bitmask per i permessi del gruppo.\\
+ \const{S\_IRGRP} & 00040 & Il gruppo ha permesso di lettura.\\
+ \const{S\_IWGRP} & 00020 & Il gruppo ha permesso di scrittura.\\
+ \const{S\_IXGRP} & 00010 & Il gruppo ha permesso di esecuzione.\\
\hline
-% \const{S\_IRWXO} & 00007 & bitmask per i permessi di tutti gli altri\\
- \const{S\_IROTH} & 00004 & gli altri hanno permesso di lettura \\
- \const{S\_IWOTH} & 00002 & gli altri hanno permesso di esecuzione \\
- \const{S\_IXOTH} & 00001 & gli altri hanno permesso di esecuzione \\
+% \const{S\_IRWXO} & 00007 & Bitmask per i permessi di tutti gli altri\\
+ \const{S\_IROTH} & 00004 & Gli altri hanno permesso di lettura.\\
+ \const{S\_IWOTH} & 00002 & Gli altri hanno permesso di esecuzione.\\
+ \const{S\_IXOTH} & 00001 & Gli altri hanno permesso di esecuzione.\\
\hline
\end{tabular}
\caption{Costanti per l'identificazione dei vari bit che compongono il campo
& \textbf{Opzione di \cmd{ls}} \\
\hline
\hline
- \var{st\_atime}& ultimo accesso ai dati del file &\func{read},
- \func{utime} & \cmd{-u}\\
- \var{st\_mtime}& ultima modifica ai dati del file &\func{write},
- \func{utime} & default\\
- \var{st\_ctime}& ultima modifica ai dati dell'inode&\func{chmod},
- \func{utime} & \cmd{-c} \\
+ \var{st\_atime}& ultimo accesso ai dati del file &
+ \func{read}, \func{utime} & \cmd{-u}\\
+ \var{st\_mtime}& ultima modifica ai dati del file &
+ \func{write}, \func{utime} & default\\
+ \var{st\_ctime}& ultima modifica ai dati dell'inode &
+ \func{chmod}, \func{utime} & \cmd{-c}\\
\hline
\end{tabular}
\caption{I tre tempi associati a ciascun file.}
\hline
\hline
\func{chmod}, \func{fchmod}
- & -- & -- &$\bullet$& -- & -- & -- & \\
+ & -- & -- &$\bullet$& -- & -- & -- &\\
\func{chown}, \func{fchown}
- & -- & -- &$\bullet$& -- & -- & -- & \\
+ & -- & -- &$\bullet$& -- & -- & -- &\\
\func{creat}
- &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& con
- \const{O\_CREATE} \\ \func{creat}
- & -- &$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&
- con \const{O\_TRUNC} \\ \func{exec}
- &$\bullet$& -- & -- & -- & -- & -- & \\
+ &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&
+ con \const{O\_CREATE} \\
+ \func{creat}
+ & -- &$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&
+ con \const{O\_TRUNC} \\
+ \func{exec}
+ &$\bullet$& -- & -- & -- & -- & -- &\\
\func{lchown}
- & -- & -- &$\bullet$& -- & -- & -- & \\
+ & -- & -- &$\bullet$& -- & -- & -- &\\
\func{link}
- & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& \\
+ & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$&\\
\func{mkdir}
- &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& \\
+ &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&\\
\func{mkfifo}
- &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& \\
+ &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&\\
+ \func{open}
+ &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&
+ con \const{O\_CREATE} \\
\func{open}
- &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& con
- \const{O\_CREATE} \\ \func{open}
- & -- &$\bullet$&$\bullet$& -- & -- & -- & con
- \const{O\_TRUNC} \\ \func{pipe}
- &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- & \\
+ & -- &$\bullet$&$\bullet$& -- & -- & -- &
+ con \const{O\_TRUNC} \\
+ \func{pipe}
+ &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- &\\
\func{read}
- &$\bullet$& -- & -- & -- & -- & -- & \\
+ &$\bullet$& -- & -- & -- & -- & -- &\\
+ \func{remove}
+ & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$&
+ se esegue \func{unlink}\\
\func{remove}
- & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& se esegue
- \func{unlink}\\ \func{remove}
- & -- & -- & -- & -- &$\bullet$&$\bullet$& se esegue
- \func{rmdir}\\ \func{rename}
- & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& per entrambi
- gli argomenti\\ \func{rmdir}
- & -- & -- & -- & -- &$\bullet$&$\bullet$& \\
+ & -- & -- & -- & -- &$\bullet$&$\bullet$&
+ se esegue \func{rmdir}\\
+ \func{rename}
+ & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$&
+ per entrambi gli argomenti\\
+ \func{rmdir}
+ & -- & -- & -- & -- &$\bullet$&$\bullet$&\\
\func{truncate}, \func{ftruncate}
- & -- &$\bullet$&$\bullet$& -- & -- & -- & \\
+ & -- &$\bullet$&$\bullet$& -- & -- & -- &\\
\func{unlink}
- & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& \\
+ & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$&\\
\func{utime}
- &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- & \\
+ &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- &\\
\func{write}
- & -- &$\bullet$&$\bullet$& -- & -- & -- & \\
+ & -- &$\bullet$&$\bullet$& -- & -- & -- &\\
\hline
\end{tabular}
\caption{Prospetto dei cambiamenti effettuati sui tempi di ultimo
\textbf{\var{st\_mode}} bit & \textbf{Significato} \\
\hline
\hline
- \const{S\_IRUSR} & \textit{user-read}, l'utente può leggere \\
- \const{S\_IWUSR} & \textit{user-write}, l'utente può scrivere \\
- \const{S\_IXUSR} & \textit{user-execute}, l'utente può eseguire \\
- \hline
- \const{S\_IRGRP} & \textit{group-read}, il gruppo può leggere \\
- \const{S\_IWGRP} & \textit{group-write}, il gruppo può scrivere \\
- \const{S\_IXGRP} & \textit{group-execute}, il gruppo può eseguire\\
- \hline
- \const{S\_IROTH} & \textit{other-read}, tutti possono leggere \\
- \const{S\_IWOTH} & \textit{other-write}, tutti possono scrivere \\
- \const{S\_IXOTH} & \textit{other-execute}, tutti possono eseguire\\
+ \const{S\_IRUSR} & \textit{user-read}, l'utente può leggere.\\
+ \const{S\_IWUSR} & \textit{user-write}, l'utente può scrivere.\\
+ \const{S\_IXUSR} & \textit{user-execute}, l'utente può eseguire.\\
+ \hline
+ \const{S\_IRGRP} & \textit{group-read}, il gruppo può leggere.\\
+ \const{S\_IWGRP} & \textit{group-write}, il gruppo può scrivere.\\
+ \const{S\_IXGRP} & \textit{group-execute}, il gruppo può eseguire.\\
+ \hline
+ \const{S\_IROTH} & \textit{other-read}, tutti possono leggere.\\
+ \const{S\_IWOTH} & \textit{other-write}, tutti possono scrivere.\\
+ \const{S\_IXOTH} & \textit{other-execute}, tutti possono eseguire.\\
\hline
\end{tabular}
\caption{I bit dei permessi di accesso ai file, come definiti in
\textbf{\param{mode}} & \textbf{Significato} \\
\hline
\hline
- \const{R\_OK} & verifica il permesso di lettura \\
- \const{W\_OK} & verifica il permesso di scritture \\
- \const{X\_OK} & verifica il permesso di esecuzione \\
- \const{F\_OK} & verifica l'esistenza del file \\
+ \const{R\_OK} & Verifica il permesso di lettura. \\
+ \const{W\_OK} & Verifica il permesso di scrittura. \\
+ \const{X\_OK} & Verifica il permesso di esecuzione. \\
+ \const{F\_OK} & Verifica l'esistenza del file. \\
\hline
\end{tabular}
\caption{Valori possibile per l'argomento \param{mode} della funzione
\textbf{\param{mode}} & \textbf{Valore} & \textbf{Significato} \\
\hline
\hline
- \const{S\_ISUID} & 04000 & set user ID \itindex{suid~bit} \\
- \const{S\_ISGID} & 02000 & set group ID \itindex{sgid~bit}\\
- \const{S\_ISVTX} & 01000 & sticky bit \itindex{sticky~bit}\\
+ \const{S\_ISUID} & 04000 & Set user ID \itindex{suid~bit}.\\
+ \const{S\_ISGID} & 02000 & Set group ID \itindex{sgid~bit}.\\
+ \const{S\_ISVTX} & 01000 & Sticky bit \itindex{sticky~bit}.\\
\hline
- \const{S\_IRWXU} & 00700 & l'utente ha tutti i permessi \\
- \const{S\_IRUSR} & 00400 & l'utente ha il permesso di lettura \\
- \const{S\_IWUSR} & 00200 & l'utente ha il permesso di scrittura \\
- \const{S\_IXUSR} & 00100 & l'utente ha il permesso di esecuzione \\
+ \const{S\_IRWXU} & 00700 & L'utente ha tutti i permessi.\\
+ \const{S\_IRUSR} & 00400 & L'utente ha il permesso di lettura.\\
+ \const{S\_IWUSR} & 00200 & L'utente ha il permesso di scrittura.\\
+ \const{S\_IXUSR} & 00100 & L'utente ha il permesso di esecuzione.\\
\hline
- \const{S\_IRWXG} & 00070 & il gruppo ha tutti i permessi \\
- \const{S\_IRGRP} & 00040 & il gruppo ha il permesso di lettura \\
- \const{S\_IWGRP} & 00020 & il gruppo ha il permesso di scrittura \\
- \const{S\_IXGRP} & 00010 & il gruppo ha il permesso di esecuzione \\
+ \const{S\_IRWXG} & 00070 & Il gruppo ha tutti i permessi.\\
+ \const{S\_IRGRP} & 00040 & Il gruppo ha il permesso di lettura.\\
+ \const{S\_IWGRP} & 00020 & Il gruppo ha il permesso di scrittura.\\
+ \const{S\_IXGRP} & 00010 & Il gruppo ha il permesso di esecuzione.\\
\hline
- \const{S\_IRWXO} & 00007 & gli altri hanno tutti i permessi \\
- \const{S\_IROTH} & 00004 & gli altri hanno il permesso di lettura \\
- \const{S\_IWOTH} & 00002 & gli altri hanno il permesso di scrittura \\
- \const{S\_IXOTH} & 00001 & gli altri hanno il permesso di esecuzione \\
+ \const{S\_IRWXO} & 00007 & Gli altri hanno tutti i permessi.\\
+ \const{S\_IROTH} & 00004 & Gli altri hanno il permesso di lettura.\\
+ \const{S\_IWOTH} & 00002 & Gli altri hanno il permesso di scrittura.\\
+ \const{S\_IXOTH} & 00001 & Gli altri hanno il permesso di esecuzione.\\
\hline
\end{tabular}
\caption{Valori delle costanti usate per indicare i vari bit di
\file{malloc.h}&$\bullet$& & Allocazione della memoria.\\
\file{setjmp.h}&$\bullet$& & Salti non locali.\\
\file{signal.h}& &$\bullet$& Gestione dei segnali.\\
- \file{stdarg.h}&$\bullet$& & .\\
+ \file{stdarg.h}&$\bullet$& & Gestione di funzioni a argomenti
+ variabili.\\
\file{stdio.h} &$\bullet$& & I/O bufferizzato in standard ANSI C.\\
- \file{stdlib.h}&$\bullet$& & definizioni della libreria standard.\\
+ \file{stdlib.h}&$\bullet$& & Definizioni della libreria standard.\\
\file{string.h}&$\bullet$& & Manipolazione delle stringhe.\\
\file{time.h} & &$\bullet$& Gestione dei tempi.\\
\file{times.h} &$\bullet$& & Gestione dei tempi.\\
\textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
\hline
\hline
- \textit{version} & 4& numero di \textsl{versione}, nel caso
+ \textit{version} & 4& Numero di \textsl{versione}, nel caso
specifico vale sempre 4.\\
- \textit{head length} & 4& lunghezza dell'intestazione,
+ \textit{head length} & 4& Lunghezza dell'intestazione,
in multipli di 32 bit.\\
- \textit{type of service}&8& \textsl{tipo di servizio}, è suddiviso in:
- 3 bit di precedenza, che nelle attuali
+ \textit{type of service}&8& Il ``\textsl{tipo di servizio}'', è suddiviso
+ in: 3 bit di precedenza, che nelle attuali
implementazioni del protocollo non vengono
comunque utilizzati; un bit riservato che
deve essere mantenuto a 0; 4 bit che
identificano il tipo di servizio
richiesto, uno solo dei quali può essere
attivo.\\
- \textit{total length} &16& \textsl{lunghezza totale}, indica
+ \textit{total length} &16& La \textsl{lunghezza totale}, indica
la dimensione del carico di dati del
pacchetto IP in byte.\\
- \textit{identification}&16& \textsl{identificazione}, assegnato alla
+ \textit{identification}&16& L'\textsl{identificazione}, assegnato alla
creazione, è aumentato di uno all'origine
della trasmissione di ciascun pacchetto, ma
resta lo stesso per i pacchetti
frammentati, consentendo così di
identificare quelli che derivano dallo
stesso pacchetto originario.\\
- \textit{flag} & 3& \textsl{flag}, sono nell'ordine: il primo è
- riservato e sempre nullo, il secondo indica
- se il pacchetto non può essere frammentato,
- il terzo se ci sono ulteriori frammenti.\\
- \textit{fragmentation offset}&13& \textsl{offset di frammento}, indica
+ \textit{flag} & 3& I \textsl{flag} di controllo nell'ordine: il
+ primo è riservato e sempre nullo, il secondo
+ indica se il pacchetto non può essere
+ frammentato, il terzo se ci sono ulteriori
+ frammenti.\\
+ \textit{fragmentation offset}&13& L'\textsl{offset di frammento}, indica
la posizione del frammento rispetto al
pacchetto originale.\\
- \textit{time to live} &16& \textsl{tempo di vita}, è decrementato di
+ \textit{time to live} &16& Il \textsl{tempo di vita}, è decrementato di
uno ogni volta che un router ritrasmette il
pacchetto, se arriva a zero il pacchetto
viene scartato.\\
- \textit{protocol} & 8& \textsl{protocollo}, identifica il tipo di
+ \textit{protocol} & 8& Il \textsl{protocollo}, identifica il tipo di
pacchetto che segue l'intestazione di IPv4.\\
- \textit{header checksum}&16&\textsl{checksum di intestazione}, somma di
- controllo per l'intestazione.\\
- \textit{source IP} &32& \textsl{indirizzo di origine}.\\
- \textit{destination IP}&32& \textsl{indirizzo di destinazione}.\\
+ \textit{header checksum}&16&La \textsl{checksum di intestazione}, somma
+ di controllo per l'intestazione.\\
+ \textit{source IP} &32& L'\textsl{indirizzo di origine}.\\
+ \textit{destination IP}&32& L'\textsl{indirizzo di destinazione}.\\
\hline
\end{tabular}
\caption{Legenda per il significato dei campi dell'intestazione di IPv4}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{IPTOS\_LOWDELAY} & minimizza i ritardi per il traffico
+ \const{IPTOS\_LOWDELAY} & Minimizza i ritardi per il traffico
interattivo. \\
- \const{IPTOS\_THROUGHPUT} & ottimizza la trasmissione per il massimo
+ \const{IPTOS\_THROUGHPUT} & Ottimizza la trasmissione per il massimo
flusso di dati.\\
- \const{IPTOS\_RELIABILITY}& ottimizza per l'affidabilità della
+ \const{IPTOS\_RELIABILITY}& Ottimizza per l'affidabilità della
trasmissione. \\
- \const{IPTOS\_MINCOST} & usato per dati di riempimento, dove non
+ \const{IPTOS\_MINCOST} & Usato per dati di riempimento, dove non
interessa se c'è una bassa velocità di
trasmissione.\\
\hline
\textbf{Nome} & \textbf{Bit} & \textbf{Significato} \\
\hline
\hline
- \textit{version} & 4& \textsl{versione}, nel caso specifico vale
+ \textit{version} & 4& La \textsl{versione}, nel caso specifico vale
sempre 6.\\
- \textit{priority} & 4& \textsl{priorità}, vedi
+ \textit{priority} & 4& La \textsl{priorità}, vedi
sez.~\ref{sec:IPv6_prio}.\\
- \textit{flow label} &24& \textsl{etichetta di flusso}, vedi
+ \textit{flow label} &24& L'\textsl{etichetta di flusso}, vedi
sez.~\ref{sec:IP_ipv6_flow}.\\
- \textit{payload length}&16& \textsl{lunghezza del carico}, cioè del
+ \textit{payload length}&16& La \textsl{lunghezza del carico}, cioè del
corpo dei dati che segue l'intestazione, in
byte. \\
- \textit{next header} & 8& \textsl{intestazione successiva}, identifica
- il tipo di pacchetto che segue
- l'intestazione di IPv6, usa gli stessi
+ \textit{next header} & 8& L'\textsl{intestazione successiva},
+ identifica il tipo di pacchetto che segue
+ l'intestazione di IPv6, ed usa gli stessi
valori del campo protocollo
nell'intestazione di IPv4.\\
- \textit{hop limit} & 8& \textsl{limite di salti}, stesso significato
- del \textit{time to live} nell'intestazione
- di IPv4.\\
- \textit{source IP} &128&\textsl{indirizzo di origine}.\\
- \textit{destination IP}&128&\textsl{indirizzo di destinazione}.\\
+ \textit{hop limit} & 8& Il \textsl{limite di salti}, ha lo stesso
+ significato del \textit{time to live}
+ nell'intestazione di IPv4.\\
+ \textit{source IP} &128&L'\textsl{indirizzo di origine}.\\
+ \textit{destination IP}&128&L'\textsl{indirizzo di destinazione}.\\
\hline
\end{tabular}
\caption{Legenda per il significato dei campi dell'intestazione di IPv6}
\textbf{Valore} & \textbf{Keyword} & \textbf{Tipo di protocollo} \\
\hline
\hline
- 0 & & riservato\\
- & HBH & Hop by Hop \\
- 1 & ICMP & Internet Control Message (IPv4 o IPv6) \\
- 2 & ICMP & Internet Group Management (IPv4) \\
- 3 & GGP & Gateway-to-Gateway \\
- 4 & IP & IP in IP (IPv4 encapsulation) \\
- 5 & ST & Stream \\
- 6 & TCP & Trasmission Control \\
- 17 & UDP & User Datagram \\
- 43 & RH & Routing Header (IPv6) \\
- 44 & FH & Fragment Header (IPv6) \\
- 45 & IDRP & Inter Domain Routing \\
- 51 & AH & Authentication Header (IPv6) \\
- 52 & ESP & Encrypted Security Payload (IPv6) \\
- 59 & Null & No next header (IPv6) \\
- 88 & IGRP & Internet Group Routing \\
- 89 & OSPF & Open Short Path First \\
- 255& & riservato \\
+ 0 & & Riservato.\\
+ & HBH & Hop by Hop.\\
+ 1 & ICMP & Internet Control Message (IPv4 o IPv6).\\
+ 2 & ICMP & Internet Group Management (IPv4).\\
+ 3 & GGP & Gateway-to-Gateway.\\
+ 4 & IP & IP in IP (IPv4 encapsulation).\\
+ 5 & ST & Stream.\\
+ 6 & TCP & Trasmission Control.\\
+ 17 & UDP & User Datagram.\\
+ 43 & RH & Routing Header (IPv6).\\
+ 44 & FH & Fragment Header (IPv6).\\
+ 45 & IDRP & Inter Domain Routing.\\
+ 51 & AH & Authentication Header (IPv6).\\
+ 52 & ESP & Encrypted Security Payload (IPv6).\\
+ 59 & Null & No next header (IPv6).\\
+ 88 & IGRP & Internet Group Routing.\\
+ 89 & OSPF & Open Short Path First.\\
+ 255& & Riservato.\\
\hline
\end{tabular}
\caption{Tipi di protocolli e intestazioni di estensione}
\textbf{Valore} & \textbf{Tipo di traffico} \\
\hline
\hline
- 0 & traffico generico \\
- 1 & traffico di riempimento (es. news) \\
- 2 & trasferimento dati non interattivo (es. e-mail)\\
- 3 & riservato \\
- 4 & trasferimento dati interattivo (es. FTP, HTTP, NFS) \\
- 5 & riservato \\
+ 0 & Traffico generico.\\
+ 1 & Traffico di riempimento (es. news).\\
+ 2 & Trasferimento dati non interattivo (es. e-mail).\\
+ 3 & Riservato.\\
+ 4 & Trasferimento dati interattivo (es. FTP, HTTP, NFS).\\
+ 5 & Riservato.\\
\hline
\end{tabular}
\caption{Formato di un indirizzo \textit{site-local}.}
\hline
\texttt{any} & -- & Seleziona tutti i possibili valori \\
\hline
- \texttt{echo-reply} &0& inviato in risposta ad un ICMP
- \textit{echo-request} \\
- \texttt{destination-unreachable}&3& segnala una destinazione
+ \texttt{echo-reply} &0& Inviato in risposta ad un ICMP
+ \textit{echo-request}.\\
+ \texttt{destination-unreachable}&3& Segnala una destinazione
irraggiungibile, viene
inviato all'IP sorgente di un
pacchetto quando un router realizza
che questo non può essere inviato a
- destinazione. \\
- \texttt{source-quench} &4& inviato in caso di congestione della
+ destinazione.\\
+ \texttt{source-quench} &4& Inviato in caso di congestione della
rete per indicare all'IP sorgente di
diminuire il traffico inviato.\\
- \texttt{redirect} &5& inviato per segnalare un errore di
+ \texttt{redirect} &5& Inviato per segnalare un errore di
routing, richiede che la macchina
sorgente rediriga il traffico ad un
- altro router da esso specificato. \\
- \texttt{echo-request} &8& richiede l'invio in risposta di un
- \texttt{echo-reply}. \\
+ altro router da esso specificato.\\
+ \texttt{echo-request} &8& Richiede l'invio in risposta di un
+ \texttt{echo-reply}.\\
% \texttt{router-advertisement} & & \\
% \texttt{router-solicitation} & & \\
- \texttt{time-exceeded} &11& inviato quando il TTL di un pacchetto
+ \texttt{time-exceeded} &11& Inviato quando il TTL di un pacchetto
viene azzerato.\\
- \texttt{parameter-problem} &12& inviato da un router che rileva dei
+ \texttt{parameter-problem} &12& Inviato da un router che rileva dei
problemi con l'intestazione di un
- pacchetto. \\
- \texttt{timestamp-request} &13& richiede l'invio in risposta di un
+ pacchetto.\\
+ \texttt{timestamp-request} &13& Richiede l'invio in risposta di un
\texttt{timestamp-reply}.\\
- \texttt{timestamp-reply} &14& inviato in risposta di un
- \texttt{timestamp-request}. \\
- \texttt{info-request} &15& richiede l'invio in risposta di un
+ \texttt{timestamp-reply} &14& Inviato in risposta di un
+ \texttt{timestamp-request}.\\
+ \texttt{info-request} &15& Richiede l'invio in risposta di un
\texttt{info-reply}.\\
- \texttt{info-reply} &16& inviato in risposta di un
+ \texttt{info-reply} &16& Inviato in risposta di un
\texttt{info-request}.\\
- \texttt{address-mask-request} &17& richiede l'invio in risposta di un
- \texttt{address-mask-reply}. \\
- \texttt{address-mask-reply} &18& inviato in risposta di un
- \texttt{address-mask-request}. \\
+ \texttt{address-mask-request} &17& Richiede l'invio in risposta di un
+ \texttt{address-mask-reply}.\\
+ \texttt{address-mask-reply} &18& Inviato in risposta di un
+ \texttt{address-mask-request}.\\
\hline
\end{tabular}
\caption{I valori del \textsl{tipo} per i pacchetti ICMP.}
\textbf{Livello} & \multicolumn{2}{|c|}{\textbf{Nome}} & \textbf{Esempi} \\
\hline
\hline
- Livello 4&\textit{Application} &\textsl{Applicazione}&
- Telnet, FTP, ecc. \\
- Livello 3&\textit{Transport} &\textsl{Trasporto}& TCP, UDP \\
- Livello 2&\textit{Network} &\textsl{Rete}& IP, (ICMP, IGMP) \\
- Livello 1&\textit{Link} &\textsl{Collegamento}&
- device driver \& scheda di interfaccia \\
+ Livello 4 & \textit{Application} & \textsl{Applicazione}&
+ Telnet, FTP, ecc. \\
+ Livello 3 & \textit{Transport} & \textsl{Trasporto} & TCP, UDP\\
+ Livello 2 & \textit{Network} & \textsl{Rete} & IP, (ICMP, IGMP)\\
+ Livello 1 & \textit{Link} & \textsl{Collegamento}&
+ Device driver \& scheda di interfaccia\\
\hline
\end{tabular}
\caption{I quattro livelli del protocollo TCP/IP.}
\textbf{Macro} & \textbf{Descrizione}\\
\hline
\hline
- \const{WEXITED} & Ritorna quando un processo figlio è terminato. \\
+ \const{WEXITED} & Ritorna quando un processo figlio è terminato.\\
\const{WNOHANG} & Ritorna immediatamente anche se non c'è niente da
- notificare. \\
- \const{WSTOPPED} & Ritorna quando un processo figlio è stato fermato. \\
- \const{WCONTINUED}& ritorna quando un processo figlio che era stato
- fermato ha ripreso l'esecuzione. \\
+ notificare.\\
+ \const{WSTOPPED} & Ritorna quando un processo figlio è stato fermato.\\
+ \const{WCONTINUED}& Ritorna quando un processo figlio che era stato
+ fermato ha ripreso l'esecuzione.\\
\const{WNOWAIT} & Lascia il processo ancora in attesa di ricezione, così
che una successiva chiamata possa di nuovo riceverne
- lo stato. \\
+ lo stato.\\
\hline
\end{tabular}
\caption{Costanti che identificano i bit dell'argomento \param{options}
\hline
\hline
\acr{uid} & \textit{real} & \textsl{user-ID reale}
- & indica l'utente che ha lanciato il programma\\
+ & Indica l'utente che ha lanciato il programma.\\
\acr{gid} & '' &\textsl{group-ID reale}
- & indica il gruppo principale dell'utente che ha lanciato
- il programma \\
+ & Indica il gruppo principale dell'utente che ha lanciato
+ il programma.\\
\hline
\acr{euid} & \textit{effective} &\textsl{user-ID effettivo}
- & indica l'utente usato nel controllo di accesso \\
+ & Indica l'utente usato nel controllo di accesso.\\
\acr{egid} & '' & \textsl{group-ID effettivo}
- & indica il gruppo usato nel controllo di accesso \\
+ & Indica il gruppo usato nel controllo di accesso.\\
-- & -- & \textsl{group-ID supplementari}
- & indicano gli ulteriori gruppi cui l'utente appartiene \\
+ & Indicano gli ulteriori gruppi cui l'utente appartiene.\\
\hline
-- & \textit{saved} & \textsl{user-ID salvato}
- & è una copia dell'\acr{euid} iniziale\\
+ & È una copia dell'\acr{euid} iniziale.\\
-- & '' & \textsl{group-ID salvato}
- & è una copia dell'\acr{egid} iniziale \\
+ & È una copia dell'\acr{egid} iniziale.\\
\hline
\acr{fsuid} & \textit{filesystem} &\textsl{user-ID di filesystem}
- & indica l'utente effettivo per l'accesso al filesystem \\
+ & Indica l'utente effettivo per l'accesso al filesystem. \\
\acr{fsgid} & '' & \textsl{group-ID di filesystem}
- & indica il gruppo effettivo per l'accesso al filesystem \\
+ & Indica il gruppo effettivo per l'accesso al filesystem.\\
\hline
\end{tabular}
\caption{Identificatori di utente e gruppo associati a ciascun processo con
(limitatamente a quelle che il processo
chiamante ha nel suo insieme di capacità
permesse) da qualunque processo.\\
- \const{CAP\_LINUX\_IMMUTABLE}& la capacità di impostare gli attributi
+ \const{CAP\_LINUX\_IMMUTABLE}& La capacità di impostare gli attributi
\textit{immutable} e \itindex{append~mode}
\textit{append only} per i file su un
filesystem che supporta questi
\const{CAP\_NET\_BROADCAST}& La capacità di consentire l'uso di socket in
\itindex{broadcast} \textit{broadcast} e
\itindex{multicast} \textit{multicast}.\\
- \const{CAP\_NET\_ADMIN} & la capacità di eseguire alcune operazioni
+ \const{CAP\_NET\_ADMIN} & La capacità di eseguire alcune operazioni
privilegiate sulla rete (impostare le opzioni
privilegiate dei socket, abilitare il
\itindex{multicast} \textit{multicasting},
sistema.\\
\const{CAP\_SYS\_NICE} & La capacità di modificare le priorità dei
processi (vedi sez.~\ref{sec:proc_priority}). \\
- \const{CAP\_SYS\_RESOURCE}& la capacità di superare le limitazioni sulle
+ \const{CAP\_SYS\_RESOURCE}& La capacità di superare le limitazioni sulle
risorse, aumentare le quote disco, usare lo
spazio disco riservato all'amministratore.\\
\const{CAP\_SYS\_TIME} & La capacità di modificare il tempo di sistema
(vedi sez.~\ref{sec:sys_time}).\\
- \const{CAP\_SYS\_TTY\_CONFIG}& la capacità di simulare un \textit{hangup}
+ \const{CAP\_SYS\_TTY\_CONFIG}& La capacità di simulare un \textit{hangup}
della console, con la funzione
\func{vhangup}.\\
\const{CAP\_MKNOD} & La capacità di creare file di dispositivo con la
Questo è il tipico esempio di caso, già citato in
sez.~\ref{sec:proc_race_cond}, in cui si genera una \itindex{race~condition}
\textit{race condition}; infatti, in una situazione in cui un segnale è già
-arrivato (e \var{flag} è già ad 1) se un altro segnale segnale arriva
-immediatamente dopo l'esecuzione del controllo (\texttt{\small 6}) ma prima
-della cancellazione del flag (\texttt{\small 7}), la sua occorrenza sarà
-perduta.
+arrivato (e \var{flag} è già ad 1) se un altro segnale arriva immediatamente
+dopo l'esecuzione del controllo (\texttt{\small 6}) ma prima della
+cancellazione del flag (\texttt{\small 7}), la sua occorrenza sarà perduta.
Questi esempi ci mostrano che per una gestione effettiva dei segnali occorrono
delle funzioni più sofisticate di quelle finora illustrate, queste hanno la
\textbf{Classe} & \textbf{Tipo di corrispondenza}\\
\hline
\hline
- \texttt{shadow} & corrispondenze fra username e proprietà dell'utente
- (\acr{uid}, ecc.).\\
- \texttt{group} & corrispondenze fra nome del gruppo e proprietà dello
+ \texttt{shadow} & Corrispondenze fra username e proprietà dell'utente
+ (\acr{uid}, ecc.).\\
+ \texttt{group} & Corrispondenze fra nome del gruppo e proprietà dello
stesso.\\
- \texttt{aliases} & alias per la posta elettronica.\\
- \texttt{ethers} & corrispondenze fra numero IP e MAC address della
+ \texttt{aliases} & Alias per la posta elettronica.\\
+ \texttt{ethers} & Corrispondenze fra numero IP e MAC address della
scheda di rete.\\
- \texttt{hosts} & corrispondenze fra nome a dominio e numero IP.\\
- \texttt{netgroup} & corrispondenze gruppo di rete e macchine che lo
+ \texttt{hosts} & Corrispondenze fra nome a dominio e numero IP.\\
+ \texttt{netgroup} & Corrispondenze gruppo di rete e macchine che lo
compongono.\\
- \texttt{networks} & corrispondenze fra nome di una rete e suo indirizzo
+ \texttt{networks} & Corrispondenze fra nome di una rete e suo indirizzo
IP.\\
- \texttt{protocols}& corrispondenze fra nome di un protocollo e relativo
+ \texttt{protocols}& Corrispondenze fra nome di un protocollo e relativo
numero identificativo.\\
- \texttt{rpc} & corrispondenze fra nome di un servizio RPC e relativo
+ \texttt{rpc} & Corrispondenze fra nome di un servizio RPC e relativo
numero identificativo.\\
- \texttt{services} & corrispondenze fra nome di un servizio e numero di
+ \texttt{services} & Corrispondenze fra nome di un servizio e numero di
porta. \\
\hline
\end{tabular}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{RES\_INIT} & viene attivato se è stata chiamata
+ \const{RES\_INIT} & Viene attivato se è stata chiamata
\func{res\_init}. \\
- \const{RES\_DEBUG} & stampa dei messaggi di debug.\\
- \const{RES\_AAONLY} & accetta solo risposte autoritative.\\
- \const{RES\_USEVC} & usa connessioni TCP per contattare i server
+ \const{RES\_DEBUG} & Stampa dei messaggi di debug.\\
+ \const{RES\_AAONLY} & Accetta solo risposte autoritative.\\
+ \const{RES\_USEVC} & Usa connessioni TCP per contattare i server
invece che l'usuale UDP.\\
- \const{RES\_PRIMARY} & interroga soltanto server DNS primari.
+ \const{RES\_PRIMARY} & Interroga soltanto server DNS primari.
\\
- \const{RES\_IGNTC} & ignora gli errori di troncamento, non ritenta la
+ \const{RES\_IGNTC} & Ignora gli errori di troncamento, non ritenta la
richiesta con una connessione TCP.\\
- \const{RES\_RECURSE} & imposta il bit che indica che si desidera
+ \const{RES\_RECURSE} & Imposta il bit che indica che si desidera
eseguire una interrogazione ricorsiva.\\
- \const{RES\_DEFNAMES} & se attivo \func{res\_search} aggiunge il nome
+ \const{RES\_DEFNAMES} & Se attivo \func{res\_search} aggiunge il nome
del dominio di default ai nomi singoli (che non
contengono cioè un ``\texttt{.}'').\\
- \const{RES\_STAYOPEN} & usato con \const{RES\_USEVC} per mantenere
+ \const{RES\_STAYOPEN} & Usato con \const{RES\_USEVC} per mantenere
aperte le connessioni TCP fra interrogazioni
diverse. \\
- \const{RES\_DNSRCH} & se attivo \func{res\_search} esegue le ricerche
+ \const{RES\_DNSRCH} & Se attivo \func{res\_search} esegue le ricerche
di nomi di macchine nel dominio corrente o nei
domini ad esso sovrastanti.\\
- \const{RES\_INSECURE1} & blocca i controlli di sicurezza di tipo 1.\\
- \const{RES\_INSECURE2} & blocca i controlli di sicurezza di tipo 2.\\
- \const{RES\_NOALIASES} & blocca l'uso della variabile di ambiente
+ \const{RES\_INSECURE1} & Blocca i controlli di sicurezza di tipo 1.\\
+ \const{RES\_INSECURE2} & Blocca i controlli di sicurezza di tipo 2.\\
+ \const{RES\_NOALIASES} & Blocca l'uso della variabile di ambiente
\texttt{HOSTALIASES}.\\
- \const{RES\_USE\_INET6} & restituisce indirizzi IPv6 con
+ \const{RES\_USE\_INET6} & Restituisce indirizzi IPv6 con
\func{gethostbyname}. \\
- \const{RES\_ROTATE} & ruota la lista dei server DNS dopo ogni
+ \const{RES\_ROTATE} & Ruota la lista dei server DNS dopo ogni
interrogazione.\\
- \const{RES\_NOCHECKNAME}& non controlla i nomi per verificarne la
+ \const{RES\_NOCHECKNAME}& Non controlla i nomi per verificarne la
correttezza sintattica. \\
- \const{RES\_KEEPTSIG} & non elimina i record di tipo \texttt{TSIG}.\\
+ \const{RES\_KEEPTSIG} & Non elimina i record di tipo \texttt{TSIG}.\\
\const{RES\_BLAST} & \\
- \const{RES\_DEFAULT} & è l'insieme di \const{RES\_RECURSE},
+ \const{RES\_DEFAULT} & Combinazione di \const{RES\_RECURSE},
\const{RES\_DEFNAMES} e \const{RES\_DNSRCH}.\\
\hline
\end{tabular}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{C\_IN} & indirizzi internet, in pratica i soli utilizzati oggi.\\
- \const{C\_HS} & indirizzi \textit{Hesiod}, utilizzati solo al MIT, oggi
+ \const{C\_IN} & Indirizzi internet, in pratica i soli utilizzati oggi.\\
+ \const{C\_HS} & Indirizzi \textit{Hesiod}, utilizzati solo al MIT, oggi
completamente estinti. \\
- \const{C\_CHAOS}& indirizzi per la rete \textit{Chaosnet}, un'altra rete
+ \const{C\_CHAOS}& Indirizzi per la rete \textit{Chaosnet}, un'altra rete
sperimentale nata al MIT. \\
- \const{C\_ANY} & indica un indirizzo di classe qualunque.\\
+ \const{C\_ANY} & Indica un indirizzo di classe qualunque.\\
\hline
\end{tabular}
\caption{Costanti identificative delle classi di indirizzi per l'argomento
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{T\_A} & indirizzo di una stazione.\\
- \const{T\_NS} & server DNS autoritativo per il dominio richiesto.\\
- \const{T\_MD} & destinazione per la posta elettronica.\\
- \const{T\_MF} & redistributore per la posta elettronica.\\
- \const{T\_CNAME} & nome canonico.\\
- \const{T\_SOA} & inizio di una zona di autorità.\\
- \const{T\_MB} & nome a dominio di una casella di posta.\\
- \const{T\_MG} & nome di un membro di un gruppo di posta.\\
- \const{T\_MR} & nome di un cambiamento di nome per la posta.\\
- \const{T\_NULL} & record nullo.\\
- \const{T\_WKS} & servizio noto.\\
- \const{T\_PTR} & risoluzione inversa di un indirizzo numerico.\\
- \const{T\_HINFO} & informazione sulla stazione.\\
- \const{T\_MINFO} & informazione sulla casella di posta.\\
- \const{T\_MX} & server cui instradare la posta per il dominio.\\
- \const{T\_TXT} & stringhe di testo (libere).\\
- \const{T\_RP} & nome di un responsabile (\textit{responsible person}).\\
- \const{T\_AFSDB} & database per una cella AFS.\\
- \const{T\_X25} & indirizzo di chiamata per X.25.\\
- \const{T\_ISDN} & indirizzo di chiamata per ISDN.\\
- \const{T\_RT} & router.\\
- \const{T\_NSAP} & indirizzo NSAP.\\
- \const{T\_NSAP\_PTR}& risoluzione inversa per NSAP (deprecato).\\
- \const{T\_SIG} & firma digitale di sicurezza.\\
- \const{T\_KEY} & chiave per firma.\\
- \const{T\_PX} & corrispondenza per la posta X.400.\\
- \const{T\_GPOS} & posizione geografica.\\
- \const{T\_AAAA} & indirizzo IPv6.\\
- \const{T\_LOC} & informazione di collocazione.\\
- \const{T\_NXT} & dominio successivo.\\
- \const{T\_EID} & identificatore di punto conclusivo.\\
- \const{T\_NIMLOC}& posizionatore \textit{nimrod}.\\
- \const{T\_SRV} & servizio.\\
- \const{T\_ATMA} & indirizzo ATM.\\
- \const{T\_NAPTR} & puntatore ad una \textit{naming authority} .\\
- \const{T\_TSIG} & firma di transazione.\\
- \const{T\_IXFR} & trasferimento di zona incrementale.\\
- \const{T\_AXFR} & trasferimento di zona di autorità.\\
- \const{T\_MAILB} & trasferimento di record di caselle di posta.\\
- \const{T\_MAILA} & trasferimento di record di server di posta.\\
- \const{T\_ANY} & valore generico.\\
+ \const{T\_A} & Indirizzo di una stazione.\\
+ \const{T\_NS} & Server DNS autoritativo per il dominio richiesto.\\
+ \const{T\_MD} & Destinazione per la posta elettronica.\\
+ \const{T\_MF} & Redistributore per la posta elettronica.\\
+ \const{T\_CNAME} & Nome canonico.\\
+ \const{T\_SOA} & Inizio di una zona di autorità.\\
+ \const{T\_MB} & Nome a dominio di una casella di posta.\\
+ \const{T\_MG} & Nome di un membro di un gruppo di posta.\\
+ \const{T\_MR} & Nome di un cambiamento di nome per la posta.\\
+ \const{T\_NULL} & Record nullo.\\
+ \const{T\_WKS} & Servizio noto.\\
+ \const{T\_PTR} & Risoluzione inversa di un indirizzo numerico.\\
+ \const{T\_HINFO} & Informazione sulla stazione.\\
+ \const{T\_MINFO} & Informazione sulla casella di posta.\\
+ \const{T\_MX} & Server cui instradare la posta per il dominio.\\
+ \const{T\_TXT} & Stringhe di testo (libere).\\
+ \const{T\_RP} & Nome di un responsabile (\textit{responsible person}).\\
+ \const{T\_AFSDB} & Database per una cella AFS.\\
+ \const{T\_X25} & Indirizzo di chiamata per X.25.\\
+ \const{T\_ISDN} & Indirizzo di chiamata per ISDN.\\
+ \const{T\_RT} & Router.\\
+ \const{T\_NSAP} & Indirizzo NSAP.\\
+ \const{T\_NSAP\_PTR}& Risoluzione inversa per NSAP (deprecato).\\
+ \const{T\_SIG} & Firma digitale di sicurezza.\\
+ \const{T\_KEY} & Chiave per firma.\\
+ \const{T\_PX} & Corrispondenza per la posta X.400.\\
+ \const{T\_GPOS} & Posizione geografica.\\
+ \const{T\_AAAA} & Indirizzo IPv6.\\
+ \const{T\_LOC} & Informazione di collocazione.\\
+ \const{T\_NXT} & Dominio successivo.\\
+ \const{T\_EID} & Identificatore di punto conclusivo.\\
+ \const{T\_NIMLOC}& Posizionatore \textit{nimrod}.\\
+ \const{T\_SRV} & Servizio.\\
+ \const{T\_ATMA} & Indirizzo ATM.\\
+ \const{T\_NAPTR} & Puntatore ad una \textit{naming authority}.\\
+ \const{T\_TSIG} & Firma di transazione.\\
+ \const{T\_IXFR} & Trasferimento di zona incrementale.\\
+ \const{T\_AXFR} & Trasferimento di zona di autorità.\\
+ \const{T\_MAILB} & Trasferimento di record di caselle di posta.\\
+ \const{T\_MAILA} & Trasferimento di record di server di posta.\\
+ \const{T\_ANY} & Valore generico.\\
\hline
\end{tabular}
\caption{Costanti identificative del tipo di record per l'argomento
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{HOST\_NOT\_FOUND} & l'indirizzo richiesto non è valido e la
- macchina indicata è sconosciuta. \\
- \const{NO\_ADDRESS} & il nome a dominio richiesto è valido, ma non ha
+ \const{HOST\_NOT\_FOUND} & L'indirizzo richiesto non è valido e la
+ macchina indicata è sconosciuta.\\
+ \const{NO\_ADDRESS} & Il nome a dominio richiesto è valido, ma non ha
un indirizzo associato ad esso
(alternativamente può essere indicato come
- \const{NO\_DATA}). \\
- \const{NO\_RECOVERY} & si è avuto un errore non recuperabile
- nell'interrogazione di un server DNS. \\
- \const{TRY\_AGAIN} & si è avuto un errore temporaneo
+ \const{NO\_DATA}).\\
+ \const{NO\_RECOVERY} & Si è avuto un errore non recuperabile
+ nell'interrogazione di un server DNS.\\
+ \const{TRY\_AGAIN} & Si è avuto un errore temporaneo
nell'interrogazione di un server DNS, si può
ritentare l'interrogazione in un secondo
- tempo. \\
+ tempo.\\
\hline
\end{tabular}
\caption{Valori possibili della variabile \var{h\_errno}.}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{AI\_V4MAPPED} & usato con \const{AF\_INET6} per richiedere una
+ \const{AI\_V4MAPPED} & Usato con \const{AF\_INET6} per richiedere una
ricerca su un indirizzo IPv4 invece che IPv6; gli
eventuali risultati saranno rimappati su indirizzi
IPv6.\\
- \const{AI\_ALL} & usato con \const{AI\_V4MAPPED}; richiede sia
+ \const{AI\_ALL} & Usato con \const{AI\_V4MAPPED}; richiede sia
indirizzi IPv4 che IPv6, e gli indirizzi IPv4
saranno rimappati in IPv6.\\
- \const{AI\_ADDRCONFIG}& richiede che una richiesta IPv4 o IPv6 venga
+ \const{AI\_ADDRCONFIG}& Richiede che una richiesta IPv4 o IPv6 venga
eseguita solo se almeno una interfaccia del
sistema è associata ad un indirizzo di tale tipo.\\
- \const{AI\_DEFAULT} & il valore di default, è equivalente alla
+ \const{AI\_DEFAULT} & Il valore di default, è equivalente alla
combinazione di \const{AI\_ADDRCONFIG} e di
\const{AI\_V4MAPPED}.\\
\hline
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{AI\_PASSIVE} & viene utilizzato per ottenere un indirizzo in
+ \const{AI\_PASSIVE} & Viene utilizzato per ottenere un indirizzo in
formato adatto per una successiva chiamata a
\func{bind}. Se specificato quando si è usato
\const{NULL} come valore per \param{node} gli
\textit{loopback}. Se invece non è impostato gli
indirizzi verranno restituiti in formato adatto ad
una chiamata a \func{connect} o \func{sendto}.\\
- \const{AI\_CANONNAME} & richiede la restituzione del nome canonico della
+ \const{AI\_CANONNAME} & Richiede la restituzione del nome canonico della
macchina, che verrà salvato in una stringa il cui
indirizzo sarà restituito nel campo
\var{ai\_canonname} della prima struttura
\struct{addrinfo} dei risultati. Se il nome
canonico non è disponibile al suo posto
viene restituita una copia di \param{node}. \\
- \const{AI\_NUMERICHOST}& se impostato il nome della macchina specificato
+ \const{AI\_NUMERICHOST}& Se impostato il nome della macchina specificato
con \param{node} deve essere espresso in forma
numerica, altrimenti sarà restituito un errore
\const{EAI\_NONAME} (vedi
tab.~\ref{tab:addrinfo_error_code}), in questo
modo si evita ogni chiamata alle funzioni di
risoluzione.\\
- \const{AI\_V4MAPPED} & stesso significato dell'analoga di
+ \const{AI\_V4MAPPED} & Stesso significato dell'analoga di
tab.~\ref{tab:sock_getipnodebyname_flags}.\\
- \const{AI\_ALL} & stesso significato dell'analoga di
+ \const{AI\_ALL} & Stesso significato dell'analoga di
tab.~\ref{tab:sock_getipnodebyname_flags}.\\
- \const{AI\_ADDRCONFIG} & stesso significato dell'analoga di
+ \const{AI\_ADDRCONFIG} & Stesso significato dell'analoga di
tab.~\ref{tab:sock_getipnodebyname_flags}.\\
\hline
\end{tabular}
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{EAI\_FAMILY} & la famiglia di indirizzi richiesta non è
+ \const{EAI\_FAMILY} & La famiglia di indirizzi richiesta non è
supportata. \\
- \const{EAI\_SOCKTYPE}& il tipo di socket richiesto non è supportato. \\
- \const{EAI\_BADFLAGS}& il campo \var{ai\_flags} contiene dei valori non
+ \const{EAI\_SOCKTYPE}& Il tipo di socket richiesto non è supportato. \\
+ \const{EAI\_BADFLAGS}& Il campo \var{ai\_flags} contiene dei valori non
validi. \\
- \const{EAI\_NONAME} & il nome a dominio o il servizio non sono noti,
+ \const{EAI\_NONAME} & Il nome a dominio o il servizio non sono noti,
viene usato questo errore anche quando si specifica
il valore \const{NULL} per entrambi gli argomenti
\param{node} e \param{service}. \\
- \const{EAI\_SERVICE} & il servizio richiesto non è disponibile per il tipo
+ \const{EAI\_SERVICE} & Il servizio richiesto non è disponibile per il tipo
di socket richiesto, anche se può esistere per
altri tipi di socket. \\
- \const{EAI\_ADDRFAMILY}& la rete richiesta non ha nessun indirizzo di rete
+ \const{EAI\_ADDRFAMILY}& La rete richiesta non ha nessun indirizzo di rete
per la famiglia di indirizzi specificata. \\
- \const{EAI\_NODATA} & la macchina specificata esiste, ma non ha nessun
+ \const{EAI\_NODATA} & La macchina specificata esiste, ma non ha nessun
indirizzo di rete definito. \\
- \const{EAI\_MEMORY} & è stato impossibile allocare la memoria necessaria
+ \const{EAI\_MEMORY} & È stato impossibile allocare la memoria necessaria
alle operazioni. \\
- \const{EAI\_FAIL} & il DNS ha restituito un errore di risoluzione
+ \const{EAI\_FAIL} & Il DNS ha restituito un errore di risoluzione
permanente. \\
- \const{EAI\_AGAIN} & il DNS ha restituito un errore di risoluzione
+ \const{EAI\_AGAIN} & Il DNS ha restituito un errore di risoluzione
temporaneo, si può ritentare in seguito. \\
- \const{EAI\_SYSTEM} & c'è stato un errore di sistema, si può controllare
+ \const{EAI\_SYSTEM} & C'è stato un errore di sistema, si può controllare
\var{errno} per i dettagli. \\
% \hline
% TODO estensioni GNU, trovarne la documentazione
-% \const{EAI\_INPROGRESS}& richiesta in corso. \\
-% \const{EAI\_CANCELED}& la richiesta è stata cancellata.\\
-% \const{EAI\_NOTCANCELED}& la richiesta non è stata cancellata. \\
-% \const{EAI\_ALLDONE} & tutte le richieste sono complete. \\
-% \const{EAI\_INTR} & richiesta interrotta. \\
+% \const{EAI\_INPROGRESS}& Richiesta in corso. \\
+% \const{EAI\_CANCELED}& La richiesta è stata cancellata.\\
+% \const{EAI\_NOTCANCELED}& La richiesta non è stata cancellata. \\
+% \const{EAI\_ALLDONE} & Tutte le richieste sono complete. \\
+% \const{EAI\_INTR} & Richiesta interrotta. \\
\hline
\end{tabular}
\caption{Costanti associate ai valori dei codici di errore della funzione
\textbf{Costante} & \textbf{Significato} \\
\hline
\hline
- \const{NI\_NOFQDN} & richiede che venga restituita solo il nome della
+ \const{NI\_NOFQDN} & Richiede che venga restituita solo il nome della
macchina all'interno del dominio al posto del
nome completo (FQDN).\\
- \const{NI\_NUMERICHOST}& richiede che venga restituita la forma numerica
+ \const{NI\_NUMERICHOST}& Richiede che venga restituita la forma numerica
dell'indirizzo (questo succede sempre se il nome
non può essere ottenuto).\\
- \const{NI\_NAMEREQD} & richiede la restituzione di un errore se il nome
+ \const{NI\_NAMEREQD} & Richiede la restituzione di un errore se il nome
non può essere risolto.\\
- \const{NI\_NUMERICSERV}& richiede che il servizio venga restituito in
+ \const{NI\_NUMERICSERV}& Richiede che il servizio venga restituito in
forma numerica (attraverso il numero di porta).\\
- \const{NI\_DGRAM} & richiede che venga restituito il nome del
+ \const{NI\_DGRAM} & Richiede che venga restituito il nome del
servizio su UDP invece che quello su TCP per quei
pichi servizi (porte 512-214) che soni diversi
nei due protocolli.\\
\textbf{Livello} & \textbf{Significato} \\
\hline
\hline
- \const{SOL\_SOCKET}& opzioni generiche dei socket.\\
- \const{SOL\_IP} & opzioni specifiche per i socket che usano IPv4.\\
- \const{SOL\_TCP} & opzioni per i socket che usano TCP.\\
- \const{SOL\_IPV6} & opzioni specifiche per i socket che usano IPv6.\\
- \const{SOL\_ICMPV6}& opzioni specifiche per i socket che usano ICMPv6.\\
+ \const{SOL\_SOCKET}& Opzioni generiche dei socket.\\
+ \const{SOL\_IP} & Opzioni specifiche per i socket che usano IPv4.\\
+ \const{SOL\_TCP} & Opzioni per i socket che usano TCP.\\
+ \const{SOL\_IPV6} & Opzioni specifiche per i socket che usano IPv6.\\
+ \const{SOL\_ICMPV6}& Opzioni specifiche per i socket che usano ICMPv6.\\
\hline
\end{tabular}
\caption{Possibili valori dell'argomento \param{level} delle
\hline
\hline
\const{SO\_KEEPALIVE}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- controlla l'attività della connessione.\\
+ Controlla l'attività della connessione.\\
\const{SO\_OOBINLINE}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- lascia in linea i dati \itindex{out-of-band}
+ Lascia in linea i dati \itindex{out-of-band}
\textit{out-of-band}.\\
\const{SO\_RCVLOWAT} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- basso livello sul buffer di ricezione.\\
+ Basso livello sul buffer di ricezione.\\
\const{SO\_SNDLOWAT} &$\bullet$&$\bullet$& &\texttt{int}&
- basso livello sul buffer di trasmissione.\\
+ Basso livello sul buffer di trasmissione.\\
\const{SO\_RCVTIMEO} &$\bullet$&$\bullet$& &\texttt{timeval}&
- timeout in ricezione.\\
+ Timeout in ricezione.\\
\const{SO\_SNDTIMEO} &$\bullet$&$\bullet$& &\texttt{timeval}&
- timeout in trasmissione.\\
+ Timeout in trasmissione.\\
\const{SO\_BSDCOMPAT}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la compatibilità con BSD.\\
+ Abilita la compatibilità con BSD.\\
\const{SO\_PASSCRED} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la ricezione di credenziali.\\
+ Abilita la ricezione di credenziali.\\
\const{SO\_PEERCRED} &$\bullet$& & &\texttt{ucred}&
- restituisce le credenziali del processo remoto.\\
+ Restituisce le credenziali del processo remoto.\\
\const{SO\_BINDTODEVICE}&$\bullet$&$\bullet$& &\texttt{char *}&
- lega il socket ad un dispositivo.\\
+ Lega il socket ad un dispositivo.\\
\const{SO\_DEBUG} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita il debugging sul socket.\\
+ Abilita il debugging sul socket.\\
\const{SO\_REUSEADDR}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- consente il riutilizzo di un indirizzo locale.\\
+ Consente il riutilizzo di un indirizzo locale.\\
\const{SO\_TYPE} &$\bullet$& & &\texttt{int}&
- restituisce il tipo di socket.\\
+ Restituisce il tipo di socket.\\
\const{SO\_ACCEPTCONN}&$\bullet$& & &\texttt{int}&
- indica se il socket è in ascolto.\\
+ Indica se il socket è in ascolto.\\
\const{SO\_DONTROUTE}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- non invia attraverso un gateway.\\
+ Non invia attraverso un gateway.\\
\const{SO\_BROADCAST}&$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- attiva o disattiva il \itindex{broadcast}
+ Attiva o disattiva il \itindex{broadcast}
\textit{broadcast}.\\
\const{SO\_SNDBUF} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta dimensione del buffer di trasmissione.\\
+ Imposta dimensione del buffer di trasmissione.\\
\const{SO\_RCVBUF} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta dimensione del buffer di ricezione.\\
+ Imposta dimensione del buffer di ricezione.\\
\const{SO\_LINGER} &$\bullet$&$\bullet$& &\texttt{linger}&
- indugia nella chiusura con dati da spedire.\\
+ Indugia nella chiusura con dati da spedire.\\
\const{SO\_PRIORITY} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta la priorità del socket.\\
+ Imposta la priorità del socket.\\
\const{SO\_ERROR} &$\bullet$& & &\texttt{int}&
- riceve e cancella gli errori pendenti.\\
+ Riceve e cancella gli errori pendenti.\\
\hline
\end{tabular}
\caption{Le opzioni disponibili al livello \const{SOL\_SOCKET}.}
\hline
\hline
\const{IP\_OPTIONS} &$\bullet$&$\bullet$&&\texttt{void *}& %???
- imposta o riceve le opzioni di IP.\\
+ Imposta o riceve le opzioni di IP.\\
\const{IP\_PKTINFO} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio di informazione.\\
+ Passa un messaggio di informazione.\\
\const{IP\_RECVTOS} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio col campo TOS.\\
+ Passa un messaggio col campo TOS.\\
\const{IP\_RECVTTL} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio col campo TTL.\\
+ Passa un messaggio col campo TTL.\\
\const{IP\_RECVOPTS} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio con le opzioni IP.\\
+ Passa un messaggio con le opzioni IP.\\
\const{IP\_RETOPTS} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa un messaggio con le opzioni IP non trattate.\\
+ Passa un messaggio con le opzioni IP non trattate.\\
\const{IP\_TOS} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il valore del campo TOS.\\
+ Imposta il valore del campo TOS.\\
\const{IP\_TTL} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il valore del campo TTL.\\
+ Imposta il valore del campo TTL.\\
\const{IP\_HDRINCL} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- passa l'intestazione di IP nei dati.\\
+ Passa l'intestazione di IP nei dati.\\
\const{IP\_RECVERR} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la gestione degli errori.\\
+ Abilita la gestione degli errori.\\
\const{IP\_MTU\_DISCOVER} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il Path MTU \itindex{Maximum~Transfer~Unit} Discovery.\\
+ Imposta il Path MTU \itindex{Maximum~Transfer~Unit} Discovery.\\
\const{IP\_MTU} &$\bullet$& & &\texttt{int}&
- legge il valore attuale della \itindex{Maximum~Transfer~Unit} MTU.\\
+ Legge il valore attuale della \itindex{Maximum~Transfer~Unit} MTU.\\
\const{IP\_ROUTER\_ALERT} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- imposta l'opzione \textit{IP router alert} sui pacchetti.\\
+ Imposta l'opzione \textit{IP router alert} sui pacchetti.\\
\const{IP\_MULTICAST\_TTL} &$\bullet$&$\bullet$& &\texttt{int}&
- imposta il TTL per i pacchetti \itindex{multicast} \textit{multicast}.\\
+ Imposta il TTL per i pacchetti \itindex{multicast} \textit{multicast}.\\
\const{IP\_MULTICAST\_LOOP} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- controlla il reinvio a se stessi dei dati di \itindex{multicast}
+ Controlla il reinvio a se stessi dei dati di \itindex{multicast}
\textit{multicast}.\\
\const{IP\_ADD\_MEMBERSHIP} & &$\bullet$& &\struct{ip\_mreqn}&
- si unisce a un gruppo di \itindex{multicast} \textit{multicast}.\\
+ Si unisce a un gruppo di \itindex{multicast} \textit{multicast}.\\
\const{IP\_DROP\_MEMBERSHIP}& &$\bullet$& &\struct{ip\_mreqn}&
- si sgancia da un gruppo di \textit{multicast}.\\
+ Si sgancia da un gruppo di \textit{multicast}.\\
\const{IP\_MULTICAST\_IF} & &$\bullet$& &\struct{ip\_mreqn}&
- imposta l'interfaccia locale di un socket \itindex{multicast}
+ Omposta l'interfaccia locale di un socket \itindex{multicast}
\textit{multicast}.\\
\hline
\end{tabular}
\hline
\hline
\const{TCP\_NODELAY} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- spedisce immediatamente i dati in segmenti singoli.\\
+ Spedisce immediatamente i dati in segmenti singoli.\\
\const{TCP\_MAXSEG} &$\bullet$&$\bullet$& &\texttt{int}&
- valore della \itindex{Maximum~Segment~Size} MSS per i segmenti in
+ Valore della \itindex{Maximum~Segment~Size} MSS per i segmenti in
uscita.\\
\const{TCP\_CORK} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- accumula i dati in un unico segmento.\\
+ Accumula i dati in un unico segmento.\\
\const{TCP\_KEEPIDLE} &$\bullet$&$\bullet$& &\texttt{int}&
- tempo in secondi prima di inviare un \textit{keepalive}.\\
+ Tempo in secondi prima di inviare un \textit{keepalive}.\\
\const{TCP\_KEEPINTVL} &$\bullet$&$\bullet$& &\texttt{int}&
- tempo in secondi prima fra \textit{keepalive} successivi.\\
+ Tempo in secondi prima fra \textit{keepalive} successivi.\\
\const{TCP\_KEEPCNT} &$\bullet$&$\bullet$& &\texttt{int}&
- numero massimo di \textit{keepalive} inviati.\\
+ Numero massimo di \textit{keepalive} inviati.\\
\const{TCP\_SYNCNT} &$\bullet$&$\bullet$& &\texttt{int}&
- numero massimo di ritrasmissioni di un SYN.\\
+ Numero massimo di ritrasmissioni di un SYN.\\
\const{TCP\_LINGER2} &$\bullet$&$\bullet$& &\texttt{int}&
- tempo di vita in stato \texttt{FIN\_WAIT2}.\\
+ Tempo di vita in stato \texttt{FIN\_WAIT2}.\\
\const{TCP\_DEFER\_ACCEPT}&$\bullet$&$\bullet$& &\texttt{int}&
- ritorna da \func{accept} solo in presenza di dati.\\
+ Ritorna da \func{accept} solo in presenza di dati.\\
\const{TCP\_WINDOW\_CLAMP}&$\bullet$&$\bullet$& &\texttt{int}&
- valore della \itindex{advertised~window} \textit{advertised window}.\\
+ Valore della \itindex{advertised~window} \textit{advertised window}.\\
\const{TCP\_INFO} &$\bullet$& & &\struct{tcp\_info}&
- restituisce informazioni sul socket.\\
+ Restituisce informazioni sul socket.\\
\const{TCP\_QUICKACK} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}&
- abilita la modalità \textit{quickack}.\\
+ Abilita la modalità \textit{quickack}.\\
\const{TCP\_CONGESTION} &$\bullet$&$\bullet$& &\texttt{char *}&
- imposta l'algoritmo per il controllo della congestione.\\
+ Imposta l'algoritmo per il controllo della congestione.\\
\hline
\end{tabular}
\caption{Le opzioni per i socket TCP disponibili al livello
\textbf{Nome}&\textbf{Configurazione}&\textbf{Riferimento} \\
\hline
\hline
- reno& -- &algoritmo tradizionale, usato in caso di assenza degli altri.\\
+ reno& -- &Algoritmo tradizionale, usato in caso di assenza degli altri.\\
\texttt{bic} &\texttt{TCP\_CONG\_BIC} &
\href{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/index.htm}
{\texttt{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/index.htm}}.\\
\hline
\hline
\const{UDP\_CORK} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& %???
- accumula tutti i dati su un unico pacchetto.\\
+ Accumula tutti i dati su un unico pacchetto.\\
\const{UDP\_ENCAP} &$\bullet$&$\bullet$&$\bullet$&\texttt{int}& %???
- non documentata.\\
+ Non documentata.\\
\hline
\end{tabular}
\caption{Le opzioni per i socket UDP disponibili al livello
\label{tab:sock_opt_udplevel}
\end{table}
+% TODO documentare \const{UDP\_ENCAP}
+
Ancora una volta le descrizioni contenute tab.~\ref{tab:sock_opt_udplevel}
sono un semplice riferimento, una maggiore quantità di dettagli sulle
caratteristiche delle opzioni citate è quello dell'elenco seguente:
\textbf{Flag} & \textbf{Significato} \\
\hline
\hline
- \const{IFF\_UP} & l'interfaccia è attiva.\\
- \const{IFF\_BROADCAST} & l'interfaccia ha impostato un indirizzo di
+ \const{IFF\_UP} & L'interfaccia è attiva.\\
+ \const{IFF\_BROADCAST} & L'interfaccia ha impostato un indirizzo di
\itindex{broadcast} \textit{broadcast} valido.\\
- \const{IFF\_DEBUG} & è attivo il flag interno di debug.\\
- \const{IFF\_LOOPBACK} & l'interfaccia è una interfaccia di
+ \const{IFF\_DEBUG} & È attivo il flag interno di debug.\\
+ \const{IFF\_LOOPBACK} & L'interfaccia è una interfaccia di
\textit{loopback}.\\
- \const{IFF\_POINTOPOINT}& l'interfaccia è associata ad un collegamento
+ \const{IFF\_POINTOPOINT}&L'interfaccia è associata ad un collegamento
\textsl{punto-punto}.\\
- \const{IFF\_RUNNING} & l'interfaccia ha delle risorse allocate (non può
+ \const{IFF\_RUNNING} & L'interfaccia ha delle risorse allocate (non può
quindi essere disattivata).\\
- \const{IFF\_NOARP} & l'interfaccia ha il protocollo ARP disabilitato o
+ \const{IFF\_NOARP} & L'interfaccia ha il protocollo ARP disabilitato o
l'indirizzo del livello di rete non è impostato.\\
- \const{IFF\_PROMISC} & l'interfaccia è in \index{modo~promiscuo}
+ \const{IFF\_PROMISC} & L'interfaccia è in \index{modo~promiscuo}
\textsl{modo promiscuo} (riceve cioè tutti i
pacchetti che vede passare, compresi quelli non
direttamente indirizzati a lei).\\
- \const{IFF\_NOTRAILERS}& evita l'uso di \textit{trailer} nei pacchetti.\\
- \const{IFF\_ALLMULTI} & riceve tutti i pacchetti di \itindex{multicast}
+ \const{IFF\_NOTRAILERS}& Evita l'uso di \textit{trailer} nei pacchetti.\\
+ \const{IFF\_ALLMULTI} & Riceve tutti i pacchetti di \itindex{multicast}
\textit{multicast}.\\
- \const{IFF\_MASTER} & l'interfaccia è il master di un bundle per il
+ \const{IFF\_MASTER} & L'interfaccia è il master di un bundle per il
bilanciamento di carico.\\
- \const{IFF\_SLAVE} & l'interfaccia è uno slave di un bundle per il
+ \const{IFF\_SLAVE} & L'interfaccia è uno slave di un bundle per il
bilanciamento di carico.\\
- \const{IFF\_MULTICAST} & l'interfaccia ha il supporto per il
+ \const{IFF\_MULTICAST} & L'interfaccia ha il supporto per il
\textit{multicast} \itindex{multicast} attivo.\\
- \const{IFF\_PORTSEL} & l'interfaccia può impostare i suoi parametri
- hardware (con l'uso di \struct{ifmap})..\\
- \const{IFF\_AUTOMEDIA} & l'interfaccia è in grado di selezionare
+ \const{IFF\_PORTSEL} & L'interfaccia può impostare i suoi parametri
+ hardware (con l'uso di \struct{ifmap}).\\
+ \const{IFF\_AUTOMEDIA} & L'interfaccia è in grado di selezionare
automaticamente il tipo di collegamento.\\
- \const{IFF\_DYNAMIC} & gli indirizzi assegnati all'interfaccia vengono
+ \const{IFF\_DYNAMIC} & Gli indirizzi assegnati all'interfaccia vengono
persi quando questa viene disattivata.\\
% \const{IFF\_} & .\\
\hline
moderata.
\item[\procrelfile{/proc/sys/net/core}{no\_cong}] valore per l'occupazione
- della coda di ricezione sotto la quale si si considera di non avere
+ della coda di ricezione sotto la quale si considera di non avere
congestione.
\item[\procrelfile{/proc/sys/net/core}{no\_cong\_thresh}] valore minimo
\textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
\hline
\hline
- \const{MB\_LEN\_MAX}& 16 & massima dimensione di un
- carattere esteso\\
- \const{CHAR\_BIT} & 8 & bit di \ctyp{char}\\
- \const{UCHAR\_MAX}& 255 & massimo di \ctyp{unsigned char}\\
- \const{SCHAR\_MIN}& -128 & minimo di \ctyp{signed char}\\
- \const{SCHAR\_MAX}& 127 & massimo di \ctyp{signed char}\\
- \const{CHAR\_MIN} &\footnotemark& minimo di \ctyp{char}\\
- \const{CHAR\_MAX} &\footnotemark& massimo di \ctyp{char}\\
- \const{SHRT\_MIN} & -32768 & minimo di \ctyp{short}\\
- \const{SHRT\_MAX} & 32767 & massimo di \ctyp{short}\\
- \const{USHRT\_MAX}& 65535 & massimo di \ctyp{unsigned short}\\
- \const{INT\_MAX} & 2147483647 & minimo di \ctyp{int}\\
- \const{INT\_MIN} &-2147483648 & minimo di \ctyp{int}\\
- \const{UINT\_MAX} & 4294967295 & massimo di \ctyp{unsigned int}\\
- \const{LONG\_MAX} & 2147483647 & massimo di \ctyp{long}\\
- \const{LONG\_MIN} &-2147483648 & minimo di \ctyp{long}\\
- \const{ULONG\_MAX}& 4294967295 & massimo di \ctyp{unsigned long}\\
+ \const{MB\_LEN\_MAX}& 16 & Massima dimensione di un
+ carattere esteso.\\
+ \const{CHAR\_BIT} & 8 & Numero di bit di \ctyp{char}.\\
+ \const{UCHAR\_MAX}& 255 & Massimo di \ctyp{unsigned char}.\\
+ \const{SCHAR\_MIN}& -128 & Minimo di \ctyp{signed char}.\\
+ \const{SCHAR\_MAX}& 127 & Massimo di \ctyp{signed char}.\\
+ \const{CHAR\_MIN} &\footnotemark& Minimo di \ctyp{char}.\\
+ \const{CHAR\_MAX} &\footnotemark& Massimo di \ctyp{char}.\\
+ \const{SHRT\_MIN} & -32768 & Minimo di \ctyp{short}.\\
+ \const{SHRT\_MAX} & 32767 & Massimo di \ctyp{short}.\\
+ \const{USHRT\_MAX}& 65535 & Massimo di \ctyp{unsigned short}.\\
+ \const{INT\_MAX} & 2147483647 & Minimo di \ctyp{int}.\\
+ \const{INT\_MIN} &-2147483648 & Minimo di \ctyp{int}.\\
+ \const{UINT\_MAX} & 4294967295 & Massimo di \ctyp{unsigned int}.\\
+ \const{LONG\_MAX} & 2147483647 & Massimo di \ctyp{long}.\\
+ \const{LONG\_MIN} &-2147483648 & Minimo di \ctyp{long}.\\
+ \const{ULONG\_MAX}& 4294967295 & Massimo di \ctyp{unsigned long}.\\
\hline
\end{tabular}
\caption{Costanti definite in \file{limits.h} in conformità allo standard
\textbf{Costante}&\textbf{Valore}&\textbf{Significato}\\
\hline
\hline
- \const{LLONG\_MAX}& 9223372036854775807& massimo di \ctyp{long long}\\
- \const{LLONG\_MIN}&-9223372036854775808& minimo di \ctyp{long long}\\
+ \const{LLONG\_MAX}& 9223372036854775807& Massimo di \ctyp{long long}.\\
+ \const{LLONG\_MIN}&-9223372036854775808& Minimo di \ctyp{long long}.\\
\const{ULLONG\_MAX}&18446744073709551615&
- massimo di \ctyp{unsigned long long}\\
+ Massimo di \ctyp{unsigned long long}.\\
\hline
\end{tabular}
\caption{Macro definite in \file{limits.h} in conformità allo standard