Ancora reindicizzazioni
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 28 Oct 2015 22:28:57 +0000 (22:28 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 28 Oct 2015 22:28:57 +0000 (22:28 +0000)
fileadv.tex
filedir.tex
fileio.tex
ipc.tex
macro.tex
prochand.tex
session.tex
signal.tex
sockctrl.tex
system.tex
tcpsock.tex

index 2e9e781..9794840 100644 (file)
@@ -1587,7 +1587,7 @@ i cui prototipi sono:
     positivo o non valido per \param{flags}.
   \item[\errcode{EMFILE}] si è raggiunto il limite sul numero massimo di
     istanze di \textit{epoll} per utente stabilito da
-    \sysctlfile{fs/epoll/max\_user\_instances}.
+    \sysctlfiled{fs/epoll/max\_user\_instances}.
   \item[\errcode{ENFILE}] si è raggiunto il massimo di file descriptor aperti
     nel sistema.
   \item[\errcode{ENOMEM}] non c'è sufficiente memoria nel kernel per creare
@@ -1654,7 +1654,7 @@ dell'interfaccia, \funcd{epoll\_ctl}, il cui prototipo è:
     l'operazione richiesta.
   \item[\errcode{ENOSPC}] si è raggiunto il limite massimo di registrazioni
     per utente di file descriptor da osservare imposto da
-    \sysctlfile{fs/epoll/max\_user\_watches}.
+    \sysctlfiled{fs/epoll/max\_user\_watches}.
   \item[\errcode{EPERM}] il file associato a \param{fd} non supporta l'uso di
     \textit{epoll}.
   \end{errlist}
@@ -2718,7 +2718,7 @@ avvenga è di impostare la lunghezza della coda dei segnali \textit{real-time}
 ad una dimensione identica al valore massimo del numero di file descriptor
 utilizzabili, vale a dire impostare il contenuto di
 \sysctlfile{kernel/rtsig-max} allo stesso valore del contenuto di
-\sysctlfilem{fs/file-max}.
+\sysctlfile{fs/file-max}.
 
 % TODO fare esempio che usa O_ASYNC
 
@@ -2870,7 +2870,7 @@ operazione di lettura, declassando il \textit{lease} a lettura con
 
 Se il \textit{lease holder} non provvede a rilasciare il \textit{lease} entro
 il numero di secondi specificato dal parametro di sistema mantenuto in
-\sysctlfile{fs/lease-break-time} sarà il kernel stesso a rimuoverlo o
+\sysctlfiled{fs/lease-break-time} sarà il kernel stesso a rimuoverlo o
 declassarlo automaticamente (questa è una misura di sicurezza per evitare che
 un processo blocchi indefinitamente l'accesso ad un file acquisendo un
 \textit{lease}). Una volta che un \textit{lease} è stato rilasciato o
@@ -3020,7 +3020,7 @@ notificare gli eventi che sono stati posti in osservazione. Per evitare abusi
 delle risorse di sistema è previsto che un utente possa utilizzare un numero
 limitato di istanze di \textit{inotify}; il valore di default del limite è di
 128, ma questo valore può essere cambiato con \func{sysctl} o usando il file
-\sysctlfile{fs/inotify/max\_user\_instances}.
+\sysctlfiled{fs/inotify/max\_user\_instances}.
 
 Dato che questo file descriptor non è associato a nessun file o directory
 reale, l'inconveniente di non poter smontare un filesystem i cui file sono
@@ -3082,7 +3082,7 @@ modalità della stessa.  L'operazione può essere ripetuta per tutti i file e le
 directory che si vogliono tenere sotto osservazione,\footnote{anche in questo
   caso c'è un limite massimo che di default è pari a 8192, ed anche questo
   valore può essere cambiato con \func{sysctl} o usando il file
-  \sysctlfile{fs/inotify/max\_user\_watches}.} e si utilizzerà sempre un solo
+  \sysctlfiled{fs/inotify/max\_user\_watches}.} e si utilizzerà sempre un solo
 file descriptor.
 
 Il tipo di evento che si vuole osservare deve essere specificato
@@ -3319,7 +3319,7 @@ registrazione dell'osservatore).
 
 \footnotetext{la coda di notifica ha una dimensione massima che viene
   controllata dal parametro di sistema
-  \sysctlfile{fs/inotify/max\_queued\_events}, che indica il numero massimo di
+  \sysctlfiled{fs/inotify/max\_queued\_events}, che indica il numero massimo di
   eventi che possono essere mantenuti sulla stessa; quando detto valore viene
   ecceduto gli ulteriori eventi vengono scartati, ma viene comunque generato
   un evento di tipo \const{IN\_Q\_OVERFLOW}.}
index 55ccf9a..4c70860 100644 (file)
@@ -3921,17 +3921,17 @@ in tab.~\ref{tab:file_bit_perm}.
     \textbf{\var{st\_mode}} bit & \textbf{Significato} \\
     \hline 
     \hline 
-    \constd{S\_IRUSR} & \textit{user-read}, l'utente può leggere.\\
-    \constd{S\_IWUSR} & \textit{user-write}, l'utente può scrivere.\\
-    \constd{S\_IXUSR} & \textit{user-execute}, l'utente può 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            
-    \constd{S\_IRGRP} & \textit{group-read}, il gruppo può leggere.\\
-    \constd{S\_IWGRP} & \textit{group-write}, il gruppo può scrivere.\\
-    \constd{S\_IXGRP} & \textit{group-execute}, il gruppo può eseguire.\\
+    \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            
-    \constd{S\_IROTH} & \textit{other-read}, tutti possono leggere.\\
-    \constd{S\_IWOTH} & \textit{other-write}, tutti possono scrivere.\\
-    \constd{S\_IXOTH} & \textit{other-execute}, tutti possono eseguire.\\
+    \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 
@@ -4358,24 +4358,24 @@ sui file.
     \textbf{\param{mode}} & \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \constd{S\_ISUID} & 04000 & Set user ID  bit.\\
-    \constd{S\_ISGID} & 02000 & Set group ID bit.\\
-    \constd{S\_ISVTX} & 01000 & Sticky bit.\\
+    \const{S\_ISUID} & 04000 & Set user ID  bit.\\
+    \const{S\_ISGID} & 02000 & Set group ID bit.\\
+    \const{S\_ISVTX} & 01000 & Sticky bit.\\
     \hline
-    \constd{S\_IRWXU} & 00700 & L'utente ha tutti i permessi.\\
-    \constd{S\_IRUSR} & 00400 & L'utente ha il permesso di lettura.\\
-    \constd{S\_IWUSR} & 00200 & L'utente ha il permesso di scrittura.\\
-    \constd{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
-    \constd{S\_IRWXG} & 00070 & Il gruppo ha tutti i permessi.\\
-    \constd{S\_IRGRP} & 00040 & Il gruppo ha il permesso di lettura.\\
-    \constd{S\_IWGRP} & 00020 & Il gruppo ha il permesso di scrittura.\\
-    \constd{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
-    \constd{S\_IRWXO} & 00007 & Gli altri hanno tutti i permessi.\\
-    \constd{S\_IROTH} & 00004 & Gli altri hanno il permesso di lettura.\\
-    \constd{S\_IWOTH} & 00002 & Gli altri hanno il permesso di scrittura.\\
-    \constd{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
@@ -6509,7 +6509,7 @@ casistica assai complessa.
 Per i kernel fino al 2.6.25, o se non si attiva il supporto per le
 \textit{file capabilities}, il \textit{capabilities bounding set} è un
 parametro generale di sistema, il cui valore viene riportato nel file
-\sysctlfile{kernel/cap-bound}. Il suo valore iniziale è definito in sede di
+\sysctlfiled{kernel/cap-bound}. Il suo valore iniziale è definito in sede di
 compilazione del kernel, e da sempre ha previsto come default la presenza di
 tutte le \textit{capabilities} eccetto \const{CAP\_SETPCAP}. In questa
 situazione solo il primo processo eseguito nel sistema (quello con
@@ -6534,7 +6534,7 @@ tutti, compreso l'amministratore.\footnote{la qual cosa, visto il default
 Con il kernel 2.6.25 e le \textit{file capabilities} il \textit{bounding set}
 è diventato una proprietà di ciascun processo, che viene propagata invariata
 sia attraverso una \func{fork} che una \func{exec}. In questo caso il file
-\sysctlfilem{kernel/cap-bound} non esiste e \texttt{init} non ha nessun
+\sysctlfile{kernel/cap-bound} non esiste e \texttt{init} non ha nessun
 ruolo speciale, inoltre in questo caso all'avvio il valore iniziale prevede la
 presenza di tutte le capacità (compresa \const{CAP\_SETPCAP}). 
 
@@ -6976,7 +6976,7 @@ sez.~\ref{sec:socket_credential_xxx}), assegnare classi privilegiate
 (\const{IOPRIO\_CLASS\_RT} e prima del kernel 2.6.25 anche
 \const{IOPRIO\_CLASS\_IDLE}) per lo scheduling dell'I/O (vedi
 sez.~\ref{sec:io_priority}), superare il limite di sistema sul numero massimo
-di file aperti,\footnote{quello indicato da \sysctlfile{fs/file-max}.}
+di file aperti,\footnote{quello indicato da \sysctlfiled{fs/file-max}.}
 effettuare operazioni privilegiate sulle chiavi mantenute dal kernel (vedi
 sez.~\ref{sec:keyctl_management}), usare la funzione \func{lookup\_dcookie},
 usare \const{CLONE\_NEWNS} con \func{unshare} e \func{clone}, (vedi
index be0ef23..4a2ed34 100644 (file)
@@ -1468,7 +1468,7 @@ scarico dei dati ad intervalli di tempo fissi.  Con le nuove versioni del
 kernel queste operazioni vengono gestite direttamente dal sistema della
 memoria virtuale, attraverso opportuni \textit{task} interni al kernel il cui
 comportamento può essere controllato attraverso il file
-\sysctlfile{vm/bdflush}.\footnote{per il significato dei valori che si possono
+\sysctlfiled{vm/bdflush}.\footnote{per il significato dei valori che si possono
   scrivere in questo file si consulti la documentazione allegata ai sorgenti
   del kernel nel file \file{Documentation/sysctl/vm.txt}, trattandosi di
   argomenti di natura sistemistica non li prenderemo in esame.} Si tenga
@@ -2216,7 +2216,7 @@ il nome indicato nel precedente prototipo), è riportata di seguito:
   \const{F\_GETPIPE\_SZ}. I processi non privilegiati\footnote{per la
     precisione occorre la capacità \const{CAP\_SYS\_RESOURCE}.} non possono
   impostare un valore valore superiore a quello indicato da
-  \sysctlfile{fs/pipe-size-max}.  Il comando è specifico di Linux, è
+  \sysctlfiled{fs/pipe-size-max}.  Il comando è specifico di Linux, è
   disponibile solo a partire dal kernel 2.6.35, ed è utilizzabile solo se si è
   definita la macro \macro{\_GNU\_SOURCE}.
 
diff --git a/ipc.tex b/ipc.tex
index 91d38fe..d32422c 100644 (file)
--- a/ipc.tex
+++ b/ipc.tex
@@ -1127,8 +1127,8 @@ Il sistema dispone sempre di un numero fisso di oggetti di IPC, fino al kernel
 \const{SHMMNI}, e potevano essere cambiati (come tutti gli altri limiti
 relativi al \textit{SysV-IPC}) solo con una ricompilazione del kernel.  A
 partire dal kernel 2.4.x è possibile cambiare questi valori a sistema attivo
-scrivendo sui file \sysctlrelfile{kernel}{shmmni},
-\sysctlrelfile{kernel}{msgmni} e \sysctlrelfile{kernel}{sem} di
+scrivendo sui file \sysctlrelfiled{kernel}{shmmni},
+\sysctlrelfiled{kernel}{msgmni} e \sysctlrelfiled{kernel}{sem} di
 \file{/proc/sys/kernel} o con l'uso di \func{sysctl}.
 
 \begin{figure}[!htb]
@@ -1308,8 +1308,8 @@ Le code di messaggi sono caratterizzate da tre limiti fondamentali, un tempo
 definiti staticamente e corrispondenti alle prime tre costanti riportate in
 tab.~\ref{tab:ipc_msg_limits}.  Come accennato però con tutte le versioni più
 recenti del kernel con Linux è possibile modificare questi limiti attraverso
-l'uso di \func{sysctl} o scrivendo nei file \sysctlrelfile{kernel}{msgmax},
-\sysctlrelfile{kernel}{msgmnb} e \sysctlrelfile{kernel}{msgmni} di
+l'uso di \func{sysctl} o scrivendo nei file \sysctlrelfiled{kernel}{msgmax},
+\sysctlrelfiled{kernel}{msgmnb} e \sysctlrelfiled{kernel}{msgmni} di
 \file{/proc/sys/kernel/}.
 
 \itindbeg{linked~list}
@@ -3784,7 +3784,7 @@ I suddetti limiti di sistema sono impostati attraverso altrettanti file in
 \texttt{/proc/sys/fs/mqueue}, in particolare i file che controllano i valori
 dei limiti sono:
 \begin{basedescript}{\desclabelwidth{1.5cm}\desclabelstyle{\nextlinelabel}}
-\item[\sysctlfile{fs/mqueue/msg\_max}] Indica il valore massimo del numero di
+\item[\sysctlfiled{fs/mqueue/msg\_max}] Indica il valore massimo del numero di
   messaggi in una coda e agisce come limite superiore per il valore di
   \var{attr->mq\_maxmsg} in \func{mq\_open}. Il suo valore di default è 10. Il
   valore massimo è \const{HARD\_MAX} che vale \code{(131072/sizeof(void *))},
@@ -3793,7 +3793,7 @@ dei limiti sono:
   precisamente con la \textit{capability} \const{CAP\_SYS\_RESOURCE}) ma
   \const{HARD\_MAX} resta comunque non superabile.
 
-\item[\sysctlfile{fs/mqueue/msgsize\_max}] Indica il valore massimo della
+\item[\sysctlfiled{fs/mqueue/msgsize\_max}] Indica il valore massimo della
   dimensione in byte di un messaggio sulla coda ed agisce come limite
   superiore per il valore di \var{attr->mq\_msgsize} in \func{mq\_open}. Il
   suo valore di default è 8192.  Il valore massimo è 1048576 ed il valore
@@ -3802,7 +3802,7 @@ dei limiti sono:
   processi con privilegi amministrativi (con la \textit{capability}
   \const{CAP\_SYS\_RESOURCE}).
 
-\item[\sysctlfile{fs/mqueue/queues\_max}] Indica il numero massimo di code di
+\item[\sysctlfiled{fs/mqueue/queues\_max}] Indica il numero massimo di code di
   messaggi creabili in totale sul sistema, il valore di default è 256 ma si
   può usare un valore qualunque fra $0$ e \const{INT\_MAX}. Il limite non
   viene applicato ai processi con privilegi amministrativi (cioè con la
index 38b2f07..9e0fa9e 100644 (file)
--- a/macro.tex
+++ b/macro.tex
 \newcommand{\ctyp}[1]{\texttt{#1}}    % C standard type
 
 \newcommand{\headfile}[1]{%
-%\index{file!include!menzione{#1}@{{\tt {#1}}}}\texttt{#1}%
 \texttt{#1}%
 }                                     % header file name
-
 \newcommand{\headfiled}[1]{%
 \index{file!include!{#1}@{{\tt {#1}}}}\texttt{#1}%
 }                                     % header file name
 
 \newcommand{\procfile}[1]{%
 \index{file!filesystem~\texttt{/proc}!{#1}@{{\tt {#1}}}}\texttt{#1}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % /proc file name
 \newcommand{\procfilem}[1]{%
 \texttt{#1}%
 %\index{file!filesystem~\texttt{/proc}!{#1}@{{\tt {#1}}}}\texttt{#1}%
 %\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % /proc file name
+
 \newcommand{\sysfile}[1]{%
+\texttt{#1}%
+%\index{file!di~sistema!{#1}@{{\tt {#1}}}}\texttt{#1}%
+}                                     % system file name
+\newcommand{\sysfiled}[1]{%
 \index{file!di~sistema!{#1}@{{\tt {#1}}}}\texttt{#1}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % system file name
+
 \newcommand{\conffile}[1]{%
 \texttt{#1}%
 %\index{file!di~configurazione!{#1}@{{\tt {#1}}}}\texttt{#1}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % configuration file name
 \newcommand{\conffiled}[1]{%
 \index{file!di~configurazione!{#1}@{{\tt {#1}}}}\texttt{#1}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % configuration file name
 \newcommand{\conffilebeg}[1]{%
 \index{file!di~configurazione!{#1}@{{\tt {#1}}}}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % configuration file name
 \newcommand{\conffileend}[1]{%
 \index{file!di~configurazione!{#1}@{{\tt {#1}}}}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }                                     % configuration file name
+
 \newcommand{\procrelfile}[2]{%
 \index{file!filesystem~\texttt{/proc}!{#1/#2}@{{\tt {#1/#2}}}}\texttt{#2}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
 }   
 
-\newcommand{\sysctlfile}[1]{%
+\newcommand{\sysctlfiled}[1]{%
 \index{file!file di controllo (sotto \texttt{/proc/sys})!{#1}@{{\tt {#1}}}}\texttt{/proc/sys/#1}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
-}                                     % /proc/sys file name
+}                                     % /proc/sys file 
 
-\newcommand{\sysctlfilem}[1]{%
+\newcommand{\sysctlfile}[1]{%
 \texttt{/proc/sys/#1}%
 %\index{file!file di controllo (sotto \texttt{/proc/sys})!{#1}@{{\tt {#1}}}}\texttt{/proc/sys/#1}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
-}                                     % /proc/sys file name
+}                                     % /proc/sys file 
 
 \newcommand{\sysctlrelfile}[2]{%
-\index{file!file di controllo (sotto \texttt{/proc/sys})!{#1/#2}@{{\tt {#1/#2}}}}\texttt{#2}%
-%\index{#1@{{\tt {#1}} (direttiva)}}\texttt{#1}%
+\texttt{#2}%
+%\index{file!file di controllo (sotto \texttt{/proc/sys})!{#1/#2}@{{\tt {#1/#2}}}}\texttt{#2}%
 }                                     % /proc/sys file name
 
+\newcommand{\sysctlrelfiled}[2]{%
+\index{file!file di controllo (sotto \texttt{/proc/sys})!{#1/#2}@{{\tt {#1/#2}}}}\texttt{#2}%
+}                                     % /proc/sys file name
 
 \newcommand{\kstruct}[1]{%
 \texttt{#1}%
 %\index{struttura dati del kernel!{#1}@{{\tt {#1}}}}\texttt{#1}%
-%\index{#1@{{\tt {#1}} (struttura dati)}}\texttt{#1}%
-}                                     % struttura dati
+}                                     % struttura dati del kernel
 \newcommand{\kstructd}[1]{%
 \index{struttura dati del kernel!{#1}@{{\tt {#1}}}}\texttt{#1}%
 %\index{struttura dati del kernel!{#1}@{{\tt {#1}}}!definizione di}\texttt{#1}%
-%\index{#1@{{\tt {#1}} (struttura dati)}!definizione di}\texttt{#1}%
 }                                     % struttura dati
+
 \newcommand{\typed}[1]{%
 \index{tipo di dato!{#1}@{{\tt {#1}}}}\texttt{#1}%
 %\index{#1@{{\tt {#1}} (tipo)}}\texttt{#1}%
index 62a7ea5..1a51f3c 100644 (file)
@@ -210,7 +210,7 @@ riparte dal numero più basso disponibile a partire da un minimo di
   \constd{PID\_MAX} nei file \file{threads.h} e \file{fork.c} dei sorgenti del
   kernel, con il 2.6.x e la nuova interfaccia per i \textit{thread} anche il
   meccanismo di allocazione dei \ids{PID} è stato modificato ed il valore
-  massimo è impostabile attraverso il file \sysctlfile{kernel/pid\_max} e di
+  massimo è impostabile attraverso il file \sysctlfiled{kernel/pid\_max} e di
   default vale 32768.} che serve a riservare i \ids{PID} più bassi ai processi
 eseguiti direttamente dal kernel.  Per questo motivo, come visto in
 sez.~\ref{sec:proc_hierarchy}, il processo di avvio (\cmd{init}) ha sempre il
@@ -1298,8 +1298,8 @@ nuovo riceverne lo stato.
     \constd{WEXITED}   & Ritorna quando un processo figlio è terminato.\\
     \constd{WNOHANG}   & Ritorna immediatamente anche se non c'è niente da
                          notificare.\\ 
-    \constd{WSTOPPED}  Ritorna quando un processo figlio è stato fermato.\\
-    \constd{WCONTINUED}& Ritorna quando un processo figlio che era stato
+    \constd{WSTOPPED}  & Ritorna quando un processo figlio è stato fermato.\\
+    \const{WCONTINUED} & Ritorna quando un processo figlio che era stato
                          fermato ha ripreso l'esecuzione.\\
     \constd{WNOWAIT}   & Lascia il processo ancora in attesa di ricezione, così
                          che una successiva chiamata possa di nuovo riceverne
@@ -1674,8 +1674,8 @@ dell'eseguibile; il formato è ormai in completo disuso, per cui è molto
 probabile che non il relativo supporto non sia disponibile. Se il programma è
 in formato ELF per caricare le librerie dinamiche viene usato l'interprete
 indicato nel segmento \constd{PT\_INTERP} previsto dal formato stesso, in
-genere questo è \sysfile{/lib/ld-linux.so.1} per programmi collegati con la
-\acr{libc5}, e \sysfile{/lib/ld-linux.so.2} per programmi collegati con la
+genere questo è \sysfiled{/lib/ld-linux.so.1} per programmi collegati con la
+\acr{libc5}, e \sysfiled{/lib/ld-linux.so.2} per programmi collegati con la
 \acr{glibc}.
 
 Infine nel caso il programma che si vuole eseguire sia uno script e non un
@@ -1931,11 +1931,11 @@ dell'utente che ha lanciato il programma, effettuare il lavoro che non
 necessita di privilegi aggiuntivi, ed eventualmente tornare indietro.
 
 Come esempio per chiarire l'uso di queste funzioni prendiamo quello con cui
-viene gestito l'accesso al file \sysfile{/var/run/utmp}.  In questo file viene
+viene gestito l'accesso al file \sysfiled{/var/run/utmp}.  In questo file viene
 registrato chi sta usando il sistema al momento corrente; chiaramente non può
 essere lasciato aperto in scrittura a qualunque utente, che potrebbe
 falsificare la registrazione. Per questo motivo questo file (e l'analogo
-\sysfile{/var/log/wtmp} su cui vengono registrati login e logout) appartengono
+\sysfiled{/var/log/wtmp} su cui vengono registrati login e logout) appartengono
 ad un gruppo dedicato (in genere \acr{utmp}) ed i programmi che devono
 accedervi (ad esempio tutti i programmi di terminale in X, o il programma
 \cmd{screen} che crea terminali multipli su una console) appartengono a questo
@@ -3057,7 +3057,7 @@ l'introduzione del \textit{Completely Fair Scheduler} questo comportamento è
 cambiato ed un processo che chiama la funzione viene inserito nella lista dei
 processi inattivo, con un tempo molto maggiore.\footnote{è comunque possibile
   ripristinare un comportamento analogo al precedente scrivendo il valore 1
-  nel file \sysctlfile{kernel/sched\_compat\_yield}.}
+  nel file \sysctlfiled{kernel/sched\_compat\_yield}.}
 
 L'uso delle funzione nella programmazione ordinaria può essere utile e
 migliorare le prestazioni generali del sistema quando si è appena rilasciata
@@ -3894,7 +3894,7 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC.
 
   Il comportamento di default prevede che per tutti i processi si applichi la
   politica generale di sistema definita nel file
-  \sysctlfile{vm/memory\_failure\_early\_kill}, ma specificando
+  \sysctlfiled{vm/memory\_failure\_early\_kill}, ma specificando
   per \param{arg2} il valore \constd{PR\_MCE\_KILL\_SET} è possibile impostare
   con il contenuto di \param{arg3} una politica specifica del processo
   chiamante. Si può tornare alla politica di default del sistema utilizzando
index 5a96413..bec30f9 100644 (file)
@@ -98,21 +98,21 @@ dei compiti specifici.
 Per questo l'esecuzione di una riga di comando può originare più di un
 processo, quindi nella gestione del \textit{job control} non si può far
 riferimento ai singoli processi.  Per questo il kernel prevede la possibilità
-di raggruppare più processi in un cosiddetto \itindex{process~group}
-\textit{process group} (detto anche \textsl{raggruppamento di processi}, vedi
+di raggruppare più processi in un cosiddetto \textit{process group} (detto
+anche \textsl{raggruppamento di processi}, vedi
 sez.~\ref{sec:sess_proc_group}). Deve essere cura della shell far sì che tutti
 i processi che originano da una stessa riga di comando appartengano allo
 stesso raggruppamento di processi, in modo che le varie funzioni di controllo,
 ed i segnali inviati dal terminale, possano fare riferimento ad esso.
 
 In generale all'interno di una sessione avremo un eventuale (può non esserci)
-\itindex{process~group} \textit{process group} in \textit{foreground}, che
-riunisce i processi che possono accedere al terminale, e più
-\itindex{process~group} \textit{process group} in \textit{background}, che non
-possono accedervi. Il \textit{job control} prevede che quando un processo
-appartenente ad un raggruppamento in \textit{background} cerca di accedere al
-terminale, venga inviato un segnale a tutti i processi del raggruppamento, in
-modo da bloccarli (vedi sez.~\ref{sec:sess_ctrl_term}).
+\textit{process group} in \textit{foreground}, che riunisce i processi che
+possono accedere al terminale, e più \textit{process group} in
+\textit{background}, che non possono accedervi. Il \textit{job control}
+prevede che quando un processo appartenente ad un raggruppamento in
+\textit{background} cerca di accedere al terminale, venga inviato un segnale a
+tutti i processi del raggruppamento, in modo da bloccarli (vedi
+sez.~\ref{sec:sess_ctrl_term}).
 
 Un comportamento analogo si ha anche per i segnali generati dai comandi di
 tastiera inviati dal terminale, che vengono inviati a tutti i processi del
@@ -237,10 +237,9 @@ prototipo è:
 \end{funcproto}
 
 La funzione assegna al \ids{PGID} il valore del \ids{PID} del processo
-corrente, rendendolo in tal modo \itindex{process~group~leader} \textit{group
-  leader} di un nuovo raggruppamento. Tutti i successivi processi da esso
-creati apparterranno (a meno di non cambiare di nuovo il \ids{PGID}) al nuovo
-raggruppamento. 
+corrente, rendendolo in tal modo \textit{group leader} di un nuovo
+raggruppamento. Tutti i successivi processi da esso creati apparterranno (a
+meno di non cambiare di nuovo il \ids{PGID}) al nuovo raggruppamento.
 
 La versione illustrata è quella usata nella definizione di POSIX.1, in BSD
 viene usata una funzione con questo nome, che però è identica a
@@ -328,12 +327,11 @@ uguale al suo \ids{PID}) ed unico componente.\footnote{in Linux la proprietà è
 terminale di controllo (torneremo sull'argomento in
 sez.~\ref{sec:sess_ctrl_term}) cui fosse in precedenza associato.
 
-La funzione ha successo soltanto se il processo non è già
-\itindex{process~group~leader} leader di un \textit{process group}, per cui
-per usarla di norma si esegue una \func{fork} e si esce, per poi chiamare
-\func{setsid} nel processo figlio, in modo che, avendo questo lo stesso
-\ids{PGID} del padre ma un \ids{PID} diverso, non ci siano possibilità di
-errore. 
+La funzione ha successo soltanto se il processo non è già leader di un
+\textit{process group}, per cui per usarla di norma si esegue una \func{fork}
+e si esce, per poi chiamare \func{setsid} nel processo figlio, in modo che,
+avendo questo lo stesso \ids{PGID} del padre ma un \ids{PID} diverso, non ci
+siano possibilità di errore.
 
 Potrebbe sorgere il dubbio che, per il riutilizzo dei valori dei \ids{PID}
 fatto nella creazione dei nuovi processi (vedi sez.~\ref{sec:proc_pid}), il
@@ -384,7 +382,7 @@ automaticamente a meno di non avere richiesto esplicitamente il contrario
 aprendo il terminale di controllo con il flag \const{O\_NOCTTY} (vedi
 sez.~\ref{sec:file_open_close}). In questo Linux segue la semantica di SVr4;
 BSD invece richiede che il terminale venga allocato esplicitamente con una
-\func{ioctl} con il comando \const{TIOCSCTTY}.
+\func{ioctl} con il comando \constd{TIOCSCTTY}.
 
 In genere, a meno di redirezioni, nelle sessioni di lavoro il terminale di
 controllo è associato ai file standard (input, output ed error) dei processi
@@ -423,16 +421,15 @@ Come accennato in sez.~\ref{sec:sess_job_control_overview}, tutti i processi
 (e relativi raggruppamenti) che non fanno parte del gruppo di
 \textit{foreground} sono detti in \textit{background}; se uno si essi cerca di
 accedere al terminale di controllo provocherà l'invio da parte del kernel di
-uno dei due segnali \signal{SIGTTIN} o \signal{SIGTTOU} (a seconda che l'accesso
-sia stato in lettura o scrittura) a tutto il suo \itindex{process~group}
-\textit{process group}; dato che il comportamento di default di questi segnali
-(si riveda quanto esposto in sez.~\ref{sec:sig_job_control}) è di fermare il
-processo, di norma questo comporta che tutti i membri del gruppo verranno
-fermati, ma non si avranno condizioni di errore.\footnote{la shell in genere
-  notifica comunque un avvertimento, avvertendo la presenza di processi
-  bloccati grazie all'uso di \func{waitpid}.} Se però si bloccano o ignorano i
-due segnali citati, le funzioni di lettura e scrittura falliranno con un
-errore di \errcode{EIO}.
+uno dei due segnali \signal{SIGTTIN} o \signal{SIGTTOU} (a seconda che
+l'accesso sia stato in lettura o scrittura) a tutto il suo \textit{process
+  group}; dato che il comportamento di default di questi segnali (si riveda
+quanto esposto in sez.~\ref{sec:sig_job_control}) è di fermare il processo, di
+norma questo comporta che tutti i membri del gruppo verranno fermati, ma non
+si avranno condizioni di errore.\footnote{la shell in genere notifica comunque
+  un avvertimento, avvertendo la presenza di processi bloccati grazie all'uso
+  di \func{waitpid}.} Se però si bloccano o ignorano i due segnali citati, le
+funzioni di lettura e scrittura falliranno con un errore di \errcode{EIO}.
 
 In genere la funzione viene chiamata da un processo che è gruppo di
 \textit{foreground} per passare l'accesso al terminale ad altri processi,
@@ -465,15 +462,15 @@ La funzione legge il \textit{process group} di \textit{foreground} associato
 al file descriptor \param{fd}, che deve essere un terminale, restituendolo
 come risultato. Sia questa funzione che la precedente sono state introdotte
 con lo standard POSIX.1-2001, ma su Linux sono realizzate utilizzando le
-operazioni di \func{ioctl} con i comandi \const{TIOCGPGRP} e
-\const{TIOCSPGRP}.
+operazioni di \func{ioctl} con i comandi \constd{TIOCGPGRP} e
+\constd{TIOCSPGRP}.
 
 Si noti come entrambe le funzioni usino come argomento il valore di un file
 descriptor, il risultato comunque non dipende dal file descriptor che si usa
 ma solo dal terminale cui fa riferimento. Il kernel inoltre permette a ciascun
 processo di accedere direttamente al suo terminale di controllo attraverso il
 file speciale \file{/dev/tty}, che per ogni processo è un sinonimo per il
-proprio terminale di controllo.  Questo consente anche a processi che possono
+proprio terminale di controllo. Questo consente anche a processi che possono
 aver rediretto l'output di accedere al terminale di controllo, pur non
 disponendo più del file descriptor originario; un caso tipico è il programma
 \cmd{crypt} che accetta la redirezione sullo \textit{standard input} di un
@@ -522,27 +519,26 @@ controllo dello stesso.
 
 Questa è la situazione in cui si ha quello che viene chiamato un
 \itindex{process~group~orphaned} \textit{orphaned process group}. Lo standard
-POSIX.1 lo definisce come un \itindex{process~group} \textit{process group} i
-cui processi hanno come padri esclusivamente o altri processi nel
-raggruppamento, o processi fuori della sessione.  Lo standard prevede inoltre
-che se la terminazione di un processo fa sì che un raggruppamento di processi
-diventi orfano e se i suoi membri sono bloccati, ad essi vengano inviati in
-sequenza i segnali di \signal{SIGHUP} e \signal{SIGCONT}.
+POSIX.1 lo definisce come un \textit{process group} i cui processi hanno come
+padri esclusivamente o altri processi nel raggruppamento, o processi fuori
+della sessione.  Lo standard prevede inoltre che se la terminazione di un
+processo fa sì che un raggruppamento di processi diventi orfano e se i suoi
+membri sono bloccati, ad essi vengano inviati in sequenza i segnali di
+\signal{SIGHUP} e \signal{SIGCONT}.
 
 La definizione può sembrare complicata, e a prima vista non è chiaro cosa
 tutto ciò abbia a che fare con il problema della terminazione del processo di
 controllo.  Consideriamo allora cosa avviene di norma nel \textit{job
   control}: una sessione viene creata con \func{setsid} che crea anche un
-nuovo \itindex{process~group} \textit{process group}. Per definizione
-quest'ultimo è sempre \itindex{process~group~orphaned} \textsl{orfano}, dato
-che il padre del leader di sessione è fuori dalla stessa e il nuovo
-\textit{process group} \itindex{process~group} contiene solo il leader di
-sessione. Questo è un caso limite, e non viene emesso nessun segnale perché
-quanto previsto dallo standard riguarda solo i raggruppamenti che diventano
-orfani in seguito alla terminazione di un processo.\footnote{l'emissione dei
-  segnali infatti avviene solo nella fase di uscita del processo, come una
-  delle operazioni legate all'esecuzione di \func{\_exit}, secondo quanto
-  illustrato in sez.~\ref{sec:proc_termination}.}
+nuovo \textit{process group}. Per definizione quest'ultimo è sempre
+\textsl{orfano}, dato che il padre del leader di sessione è fuori dalla stessa
+e il nuovo \textit{process group} contiene solo il leader di sessione. Questo
+è un caso limite, e non viene emesso nessun segnale perché quanto previsto
+dallo standard riguarda solo i raggruppamenti che diventano orfani in seguito
+alla terminazione di un processo.\footnote{l'emissione dei segnali infatti
+  avviene solo nella fase di uscita del processo, come una delle operazioni
+  legate all'esecuzione di \func{\_exit}, secondo quanto illustrato in
+  sez.~\ref{sec:proc_termination}.}
 
 Il leader di sessione provvederà a creare nuovi raggruppamenti che a questo
 punto non sono orfani in quanto esso resta padre per almeno uno dei processi
@@ -587,7 +583,7 @@ di avvio di System V;\footnote{in realtà negli ultimi tempi questa situazione
   \texttt{systemd}, ma per quanto trattato in questa sezione il risultato
   finale non cambia, si avrà comunque il lancio di un programma che consenta
   l'accesso al terminale.}  questa prevede che \cmd{init} legga dal file di
-configurazione \conffile{/etc/inittab} quali programmi devono essere lanciati,
+configurazione \conffiled{/etc/inittab} quali programmi devono essere lanciati,
 ed in quali modalità, a seconda del cosiddetto \textit{run level}, anch'esso
 definito nello stesso file.
 
@@ -622,18 +618,17 @@ dall'amministratore nel file di configurazione del programma,
 
 Quando viene lanciato da \cmd{init} il programma parte con i privilegi di
 amministratore e con un ambiente vuoto; \cmd{getty} si cura di chiamare
-\func{setsid} per creare una nuova sessione ed un nuovo
-\itindex{process~group} \textit{process group}, e di aprire il terminale (che
-così diventa il terminale di controllo della sessione) in lettura sullo
-\textit{standard input} ed in scrittura sullo \textit{standard output} e sullo
-\textit{standard error}; inoltre effettuerà, qualora servano, ulteriori
-impostazioni.\footnote{ad esempio, come qualcuno si sarà accorto scrivendo un
-  nome di login in maiuscolo, può effettuare la conversione automatica
-  dell'input in minuscolo, ponendosi in una modalità speciale che non
-  distingue fra i due tipi di caratteri (a beneficio di alcuni vecchi
-  terminali che non supportavano le minuscole).}  Alla fine il programma
-stamperà un messaggio di benvenuto per poi porsi in attesa dell'immissione del
-nome di un utente.
+\func{setsid} per creare una nuova sessione ed un nuovo \textit{process
+  group}, e di aprire il terminale (che così diventa il terminale di controllo
+della sessione) in lettura sullo \textit{standard input} ed in scrittura sullo
+\textit{standard output} e sullo \textit{standard error}; inoltre effettuerà,
+qualora servano, ulteriori impostazioni.\footnote{ad esempio, come qualcuno si
+  sarà accorto scrivendo un nome di login in maiuscolo, può effettuare la
+  conversione automatica dell'input in minuscolo, ponendosi in una modalità
+  speciale che non distingue fra i due tipi di caratteri (a beneficio di
+  alcuni vecchi terminali che non supportavano le minuscole).}  Alla fine il
+programma stamperà un messaggio di benvenuto per poi porsi in attesa
+dell'immissione del nome di un utente.
 
 Una volta che si sia immesso il nome di login \cmd{getty} esegue direttamente
 il programma \cmd{login} con una \func{execle}, passando come argomento la
@@ -725,10 +720,10 @@ occorrerà predisporlo in modo che esso compia le seguenti azioni:
 \begin{enumerate*}
 \item Eseguire una \func{fork} e terminare immediatamente il processo padre
   proseguendo l'esecuzione nel figlio.  In questo modo si ha la certezza che
-  il figlio non è un \itindex{process~group~leader} \textit{process group
-    leader}, (avrà il \ids{PGID} del padre, ma un \ids{PID} diverso) e si può
-  chiamare \func{setsid} con successo. Inoltre la shell considererà terminato
-  il comando all'uscita del padre.
+  il figlio non è un \textit{process group leader}, (avrà il \ids{PGID} del
+  padre, ma un \ids{PID} diverso) e si può chiamare \func{setsid} con
+  successo. Inoltre la shell considererà terminato il comando all'uscita del
+  padre.
 \item Eseguire \func{setsid} per creare una nuova sessione ed un nuovo
   raggruppamento di cui il processo diventa automaticamente il leader, che
   però non ha associato nessun terminale di controllo.
@@ -874,25 +869,25 @@ specificato con un OR aritmetico.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{LOG\_AUTH}     & Messaggi relativi ad autenticazione e sicurezza,
-                            obsoleto, è sostituito da \const{LOG\_AUTHPRIV}.\\
-    \const{LOG\_AUTHPRIV} & Sostituisce \const{LOG\_AUTH}.\\
-    \const{LOG\_CRON}     & Messaggi dei demoni di gestione dei comandi
-                            programmati (\cmd{cron} e \cmd{at}).\\
-    \const{LOG\_DAEMON}   & Demoni di sistema.\\
-    \const{LOG\_FTP}      & Servizio FTP.\\
-    \const{LOG\_KERN}     & Messaggi del kernel.\\
-    \const{LOG\_LOCAL0}   & Riservato all'amministratore per uso locale.\\
+    \constd{LOG\_AUTH}     & Messaggi relativi ad autenticazione e sicurezza,
+                             obsoleto, è sostituito da \const{LOG\_AUTHPRIV}.\\
+    \constd{LOG\_AUTHPRIV} & Sostituisce \const{LOG\_AUTH}.\\
+    \constd{LOG\_CRON}     & Messaggi dei demoni di gestione dei comandi
+                             programmati (\cmd{cron} e \cmd{at}).\\
+    \constd{LOG\_DAEMON}   & Demoni di sistema.\\
+    \constd{LOG\_FTP}      & Servizio FTP.\\
+    \constd{LOG\_KERN}     & Messaggi del kernel.\\
+    \constd{LOG\_LOCAL0}   & Riservato all'amministratore per uso locale.\\
     \hspace{.5cm}$\vdots$ &   \hspace{3cm}$\vdots$\\
-    \const{LOG\_LOCAL7}   & Riservato all'amministratore per uso locale.\\
-    \const{LOG\_LPR}      & Messaggi del sistema di gestione delle stampanti.\\
-    \const{LOG\_MAIL}     & Messaggi del sistema di posta elettronica.\\
-    \const{LOG\_NEWS}     & Messaggi del sistema di gestione delle news 
+    \constd{LOG\_LOCAL7}   & Riservato all'amministratore per uso locale.\\
+    \constd{LOG\_LPR}      & Messaggi del sistema di gestione delle stampanti.\\
+    \constd{LOG\_MAIL}     & Messaggi del sistema di posta elettronica.\\
+    \constd{LOG\_NEWS}     & Messaggi del sistema di gestione delle news 
                             (USENET).\\
-    \const{LOG\_SYSLOG}   & Messaggi generati dal demone di gestione del
+    \constd{LOG\_SYSLOG}   & Messaggi generati dal demone di gestione del
                             \textit{syslog}.\\
-    \const{LOG\_USER}     & Messaggi generici a livello utente.\\
-    \const{LOG\_UUCP}     & Messaggi del sistema UUCP (\textit{Unix to Unix
+    \constd{LOG\_USER}     & Messaggi generici a livello utente.\\
+    \constd{LOG\_UUCP}     & Messaggi del sistema UUCP (\textit{Unix to Unix
                              CoPy}), ormai in disuso.\\
 \hline
 \end{tabular}
@@ -914,18 +909,19 @@ tab.~\ref{tab:sess_openlog_option}.
 \textbf{Valore}& \textbf{Significato}\\
 \hline
 \hline
-\const{LOG\_CONS}   & Scrive sulla console in caso di errore nell'invio del
-                      messaggio al sistema del \textit{syslog}. \\
-\const{LOG\_NDELAY} & Apre la connessione al sistema del \textit{syslog}
-                      subito invece di attendere l'invio del primo messaggio.\\
-\const{LOG\_NOWAIT} & Non usato su Linux, su altre piattaforme non attende i
-                      processi figli creati per inviare il messaggio.\\
-\const{LOG\_ODELAY} & Attende il primo messaggio per aprire la connessione al
-                      sistema del \textit{syslog}.\\ 
-\const{LOG\_PERROR} & Stampa anche su \file{stderr} (non previsto in
-                      POSIX.1-2001).\\ 
-\const{LOG\_PID}    & Inserisce nei messaggi il \ids{PID} del processo
-                      chiamante.\\
+  \constd{LOG\_CONS}   & Scrive sulla console in caso di errore nell'invio del
+                         messaggio al sistema del \textit{syslog}. \\
+  \constd{LOG\_NDELAY} & Apre la connessione al sistema del \textit{syslog}
+                         subito invece di attendere l'invio del primo
+                         messaggio.\\ 
+  \constd{LOG\_NOWAIT} & Non usato su Linux, su altre piattaforme non attende i
+                         processi figli creati per inviare il messaggio.\\
+  \constd{LOG\_ODELAY} & Attende il primo messaggio per aprire la connessione al
+                         sistema del \textit{syslog}.\\ 
+  \constd{LOG\_PERROR} & Stampa anche su \file{stderr} (non previsto in
+                         POSIX.1-2001).\\ 
+  \constd{LOG\_PID}    & Inserisce nei messaggi il \ids{PID} del processo
+                         chiamante.\\
 \hline
 \end{tabular}
 \caption{Valori possibili per l'argomento \param{option} di \func{openlog}.}
@@ -964,15 +960,15 @@ forniti secondo quanto richiesto da \param{format}.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{LOG\_EMERG}   & Il sistema è inutilizzabile.\\
-    \const{LOG\_ALERT}   & C'è una emergenza che richiede intervento
-                           immediato.\\
-    \const{LOG\_CRIT}    & Si è in una condizione critica.\\
-    \const{LOG\_ERR}     & Si è in una condizione di errore.\\
-    \const{LOG\_WARNING} & Messaggio di avvertimento.\\
-    \const{LOG\_NOTICE}  & Notizia significativa relativa al comportamento.\\
-    \const{LOG\_INFO}    & Messaggio informativo.\\
-    \const{LOG\_DEBUG}   & Messaggio di debug.\\
+    \constd{LOG\_EMERG}   & Il sistema è inutilizzabile.\\
+    \constd{LOG\_ALERT}   & C'è una emergenza che richiede intervento
+                            immediato.\\
+    \constd{LOG\_CRIT}    & Si è in una condizione critica.\\
+    \constd{LOG\_ERR}     & Si è in una condizione di errore.\\
+    \constd{LOG\_WARNING} & Messaggio di avvertimento.\\
+    \constd{LOG\_NOTICE}  & Notizia significativa relativa al comportamento.\\
+    \constd{LOG\_INFO}    & Messaggio informativo.\\
+    \constd{LOG\_DEBUG}   & Messaggio di debug.\\
     \hline
   \end{tabular}
   \caption{Valori possibili per l'indice di importanza del messaggio da
@@ -1044,9 +1040,9 @@ valore non nullo per \param{mask} la registrazione dei messaggi viene
 disabilitata per tutte quelle priorità che non rientrano nella maschera.
 
 In genere il valore viene impostato usando la macro
-\macro{LOG\_MASK}\texttt{(p)} dove \code{p} è una delle costanti di
+\macrod{LOG\_MASK}\texttt{(p)} dove \code{p} è una delle costanti di
 tab.~\ref{tab:sess_syslog_priority}. É inoltre disponibile anche la macro
-\macro{LOG\_UPTO}\texttt{(p)} che permette di specificare automaticamente
+\macrod{LOG\_UPTO}\texttt{(p)} che permette di specificare automaticamente
 tutte le priorità fino a quella indicata da \code{p}.
 
 Una volta che si sia certi che non si intende registrare più nessun messaggio
@@ -1112,7 +1108,7 @@ come \textit{console} di sistema,\footnote{quello che viene indicato con il
 di blocco totale del sistema (nell'assunzione che la console sia collegata).
 
 In particolare la stampa dei messaggi sulla console è controllata dal
-contenuto del file \sysctlfile{kernel/printk} (o con l'equivalente parametro
+contenuto del file \sysctlfiled{kernel/printk} (o con l'equivalente parametro
 di \func{sysctl}) che prevede quattro valori numerici interi: il primo,
 \textit{console\_loglevel}, indica la priorità corrente oltre la quale vengono
 stampati i messaggi sulla console, il secondo,
@@ -1499,7 +1495,7 @@ come argomento \val{NULL} la funzione restituisce il puntatore ad una stringa
 statica che può essere sovrascritta da chiamate successive, e non è
 rientrante. Indicando invece un puntatore ad una zona di memoria già allocata
 la stringa sarà scritta su di essa, ma in questo caso il buffer preallocato
-deve avere una dimensione di almeno \const{L\_ctermid}
+deve avere una dimensione di almeno \constd{L\_ctermid}
 caratteri.\footnote{\const{L\_ctermid} è una delle varie costanti del sistema,
   non trattata esplicitamente in sez.~\ref{sec:sys_characteristics}, che
   indica la dimensione che deve avere una stringa per poter contenere il nome
@@ -1550,74 +1546,74 @@ modificare i bit su cui non si interviene.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{IGNBRK} & Ignora le condizioni di BREAK sull'input. Una
-                     \textit{condizione di BREAK} è definita nel contesto di
-                     una trasmissione seriale asincrona come una sequenza di
-                     bit nulli più lunga di un byte.\\
-    \const{BRKINT} & Controlla la reazione ad un BREAK quando
-                     \const{IGNBRK} non è impostato. Se \const{BRKINT} è
-                     impostato il BREAK causa lo scarico delle code, 
-                     e se il terminale è il terminale di controllo per un 
-                     gruppo in foreground anche l'invio di \signal{SIGINT} ai
-                     processi di quest'ultimo. Se invece \const{BRKINT} non è
-                     impostato un BREAK viene letto come un carattere
-                     NUL, a meno che non sia impostato \const{PARMRK}
-                     nel qual caso viene letto come la sequenza di caratteri
-                     \texttt{0xFF 0x00 0x00}.\\
-    \const{IGNPAR} & Ignora gli errori di parità, il carattere viene passato
-                     come ricevuto. Ha senso solo se si è impostato 
-                     \const{INPCK}.\\
-    \const{PARMRK} & Controlla come vengono riportati gli errori di parità. Ha 
-                     senso solo se \const{INPCK} è impostato e \const{IGNPAR}
-                     no. Se impostato inserisce una sequenza \texttt{0xFF
-                       0x00} prima di ogni carattere che presenta errori di
-                     parità, se non impostato un carattere con errori di
-                     parità viene letto come uno \texttt{0x00}. Se un
-                     carattere ha il valore \texttt{0xFF} e \const{ISTRIP} 
-                     non è impostato, per evitare ambiguità esso viene sempre
-                     riportato come \texttt{0xFF 0xFF}.\\
-    \const{INPCK}  & Abilita il controllo di parità in ingresso. Se non viene
-                     impostato non viene fatto nessun controllo ed i caratteri
-                     vengono passati in input direttamente.\\
-    \const{ISTRIP} & Se impostato i caratteri in input sono tagliati a sette
-                     bit mettendo a zero il bit più significativo, altrimenti 
-                     vengono passati tutti gli otto bit.\\
-    \const{INLCR}  & Se impostato in ingresso il carattere di a capo
-                     (\verb|'\n'|) viene automaticamente trasformato in un
-                     ritorno carrello (\verb|'\r'|).\\
-    \const{IGNCR}  & Se impostato il carattere di ritorno carrello 
-                     (\textit{carriage return}, \verb|'\r'|) viene scartato 
-                     dall'input. Può essere utile per i terminali che inviano 
-                     entrambi i caratteri di ritorno carrello e a capo 
-                     (\textit{newline}, \verb|'\n'|).\\
-    \const{ICRNL}  & Se impostato un carattere di ritorno carrello  
-                     (\verb|'\r'|) sul terminale viene automaticamente 
-                     trasformato in un a capo (\verb|'\n'|) sulla coda di
-                     input.\\
-    \const{IUCLC}  & Se impostato trasforma i caratteri maiuscoli dal
-                     terminale in minuscoli sull'ingresso (opzione non 
-                     POSIX).\\
-    \const{IXON}   & Se impostato attiva il controllo di flusso in uscita con i
-                     caratteri di START e STOP. se si riceve
-                     uno STOP l'output viene bloccato, e viene fatto
-                     ripartire solo da uno START, e questi due
-                     caratteri non vengono passati alla coda di input. Se non
-                     impostato i due caratteri sono passati alla coda di input
-                     insieme agli altri.\\
-    \const{IXANY}  & Se impostato con il controllo di flusso permette a
-                     qualunque carattere di far ripartire l'output bloccato da
-                     un carattere di STOP.\\
-    \const{IXOFF}  & Se impostato abilita il controllo di flusso in
-                     ingresso. Il computer emette un carattere di STOP per
-                     bloccare l'input dal terminale e lo sblocca con il
-                     carattere START.\\
-    \const{IMAXBEL}& Se impostato fa suonare il cicalino se si riempie la cosa
-                     di ingresso; in Linux non è implementato e il kernel si
-                     comporta cose se fosse sempre impostato (è una estensione
-                     BSD).\\
-    \const{IUTF8}  & Indica che l'input è in UTF-8, cosa che consente di
-                     utilizzare la cancellazione dei caratteri in maniera
-                     corretta (dal kernel 2.6.4 e non previsto in POSIX).\\
+    \constd{IGNBRK} & Ignora le condizioni di BREAK sull'input. Una
+                      \textit{condizione di BREAK} è definita nel contesto di
+                      una trasmissione seriale asincrona come una sequenza di
+                      bit nulli più lunga di un byte.\\
+    \constd{BRKINT} & Controlla la reazione ad un BREAK quando
+                      \const{IGNBRK} non è impostato. Se \const{BRKINT} è
+                      impostato il BREAK causa lo scarico delle code, 
+                      e se il terminale è il terminale di controllo per un 
+                      gruppo in foreground anche l'invio di \signal{SIGINT} ai
+                      processi di quest'ultimo. Se invece \const{BRKINT} non è
+                      impostato un BREAK viene letto come un carattere
+                      NUL, a meno che non sia impostato \const{PARMRK}
+                      nel qual caso viene letto come la sequenza di caratteri
+                      \texttt{0xFF 0x00 0x00}.\\
+    \constd{IGNPAR} & Ignora gli errori di parità, il carattere viene passato
+                      come ricevuto. Ha senso solo se si è impostato 
+                      \const{INPCK}.\\
+    \constd{PARMRK} & Controlla come vengono riportati gli errori di parità. Ha 
+                      senso solo se \const{INPCK} è impostato e \const{IGNPAR}
+                      no. Se impostato inserisce una sequenza \texttt{0xFF
+                      0x00} prima di ogni carattere che presenta errori di
+                      parità, se non impostato un carattere con errori di
+                      parità viene letto come uno \texttt{0x00}. Se un
+                      carattere ha il valore \texttt{0xFF} e \const{ISTRIP} 
+                      non è impostato, per evitare ambiguità esso viene sempre
+                      riportato come \texttt{0xFF 0xFF}.\\
+    \constd{INPCK}  & Abilita il controllo di parità in ingresso. Se non viene
+                      impostato non viene fatto nessun controllo ed i caratteri
+                      vengono passati in input direttamente.\\
+    \constd{ISTRIP} & Se impostato i caratteri in input sono tagliati a sette
+                      bit mettendo a zero il bit più significativo, altrimenti 
+                      vengono passati tutti gli otto bit.\\
+    \constd{INLCR}  & Se impostato in ingresso il carattere di a capo
+                      (\verb|'\n'|) viene automaticamente trasformato in un
+                      ritorno carrello (\verb|'\r'|).\\
+    \constd{IGNCR}  & Se impostato il carattere di ritorno carrello 
+                      (\textit{carriage return}, \verb|'\r'|) viene scartato 
+                      dall'input. Può essere utile per i terminali che inviano 
+                      entrambi i caratteri di ritorno carrello e a capo 
+                      (\textit{newline}, \verb|'\n'|).\\
+    \constd{ICRNL}  & Se impostato un carattere di ritorno carrello  
+                      (\verb|'\r'|) sul terminale viene automaticamente 
+                      trasformato in un a capo (\verb|'\n'|) sulla coda di
+                      input.\\
+    \constd{IUCLC}  & Se impostato trasforma i caratteri maiuscoli dal
+                      terminale in minuscoli sull'ingresso (opzione non 
+                      POSIX).\\
+    \constd{IXON}   & Se impostato attiva il controllo di flusso in uscita con i
+                      caratteri di START e STOP. se si riceve
+                      uno STOP l'output viene bloccato, e viene fatto
+                      ripartire solo da uno START, e questi due
+                      caratteri non vengono passati alla coda di input. Se non
+                      impostato i due caratteri sono passati alla coda di input
+                      insieme agli altri.\\
+    \constd{IXANY}  & Se impostato con il controllo di flusso permette a
+                      qualunque carattere di far ripartire l'output bloccato da
+                      un carattere di STOP.\\
+    \constd{IXOFF}  & Se impostato abilita il controllo di flusso in
+                      ingresso. Il computer emette un carattere di STOP per
+                      bloccare l'input dal terminale e lo sblocca con il
+                      carattere START.\\
+    \constd{IMAXBEL}& Se impostato fa suonare il cicalino se si riempie la cosa
+                      di ingresso; in Linux non è implementato e il kernel si
+                      comporta cose se fosse sempre impostato (è una estensione
+                      BSD).\\
+    \constd{IUTF8}  & Indica che l'input è in UTF-8, cosa che consente di
+                      utilizzare la cancellazione dei caratteri in maniera
+                      corretta (dal kernel 2.6.4 e non previsto in POSIX).\\
     \hline
   \end{tabular}
   \caption{Costanti identificative dei vari bit del flag di controllo
@@ -1655,44 +1651,44 @@ quelli ancora assenti sono stati indicati esplicitamente.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{OPOST} & Se impostato i caratteri vengono convertiti opportunamente
+    \constd{OPOST} & Se impostato i caratteri vengono convertiti opportunamente
                     (in maniera dipendente dall'implementazione) per la 
                     visualizzazione sul terminale, ad esempio al
                     carattere di a capo (NL) può venire aggiunto un ritorno
                     carrello (CR).\\
-    \const{OLCUC} & Se impostato trasforma i caratteri minuscoli in ingresso 
+    \constd{OLCUC} & Se impostato trasforma i caratteri minuscoli in ingresso 
                     in caratteri maiuscoli sull'uscita (non previsto da
                     POSIX).\\
-    \const{ONLCR} & Se impostato converte automaticamente il carattere di a 
+    \constd{ONLCR} & Se impostato converte automaticamente il carattere di a 
                     capo (NL) in un carattere di ritorno carrello (CR).\\
-    \const{OCRNL} & Se impostato converte automaticamente il carattere di a
+    \constd{OCRNL} & Se impostato converte automaticamente il carattere di a
                     capo (NL) nella coppia di caratteri ritorno carrello, a 
                     capo (CR-NL).\\
-    \const{ONOCR} & Se impostato converte il carattere di ritorno carrello
+    \constd{ONOCR} & Se impostato converte il carattere di ritorno carrello
                     (CR) nella coppia di caratteri CR-NL.\\
-    \const{ONLRET}& Se impostato rimuove dall'output il carattere di ritorno
+    \constd{ONLRET}& Se impostato rimuove dall'output il carattere di ritorno
                     carrello (CR).\\
-    \const{OFILL} & Se impostato in caso di ritardo sulla linea invia dei
+    \constd{OFILL} & Se impostato in caso di ritardo sulla linea invia dei
                     caratteri di riempimento invece di attendere.\\
-    \const{OFDEL} & Se impostato il carattere di riempimento è DEL
+    \constd{OFDEL} & Se impostato il carattere di riempimento è DEL
                     (\texttt{0x3F}), invece che NUL (\texttt{0x00}), (non
                     previsto da POSIX e non implementato su Linux).\\
-    \const{NLDLY} & Maschera per i bit che indicano il ritardo per il
+    \constd{NLDLY} & Maschera per i bit che indicano il ritardo per il
                     carattere di a capo (NL), i valori possibili sono 
                     \val{NL0} o \val{NL1}.\\
-    \const{CRDLY} & Maschera per i bit che indicano il ritardo per il
+    \constd{CRDLY} & Maschera per i bit che indicano il ritardo per il
                     carattere ritorno carrello (CR), i valori possibili sono
                     \val{CR0}, \val{CR1}, \val{CR2} o \val{CR3}.\\
-    \const{TABDLY}& Maschera per i bit che indicano il ritardo per il
+    \constd{TABDLY}& Maschera per i bit che indicano il ritardo per il
                     carattere di tabulazione, i valori possibili sono
                     \val{TAB0}, \val{TAB1}, \val{TAB2} o \val{TAB3}.\\
-    \const{BSDLY} & Maschera per i bit che indicano il ritardo per il
+    \constd{BSDLY} & Maschera per i bit che indicano il ritardo per il
                     carattere di ritorno indietro (\textit{backspace}), i
                     valori possibili sono \val{BS0} o \val{BS1}.\\
-    \const{VTDLY} & Maschera per i bit che indicano il ritardo per il
+    \constd{VTDLY} & Maschera per i bit che indicano il ritardo per il
                     carattere di tabulazione verticale, i valori possibili sono
                     \val{VT0} o \val{VT1}.\\
-    \const{FFDLY} & Maschera per i bit che indicano il ritardo per il
+    \constd{FFDLY} & Maschera per i bit che indicano il ritardo per il
                     carattere di pagina nuova (\textit{form feed}), i valori
                     possibili sono \val{FF0} o \val{FF1}.\\
     \hline
@@ -1729,61 +1725,61 @@ il valore.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{CBAUD}  & Maschera dei bit (4+1) usati per impostare della velocità
-                     della linea (il \textit{baud rate}) in ingresso; non è
-                     presente in POSIX ed in Linux non è implementato in
-                     quanto viene usato un apposito campo di
-                     \struct{termios}.\\ 
-    \const{CBAUDEX}& Bit aggiuntivo per l'impostazione della velocità della
-                     linea, non è presente in POSIX e per le stesse
-                     motivazioni del precedente non è implementato in Linux.\\
-    \const{CSIZE}  & Maschera per i bit usati per specificare la dimensione 
-                     del carattere inviato lungo la linea di trasmissione, i
-                     valore ne indica la lunghezza (in bit), ed i valori   
-                     possibili sono \val{CS5}, \val{CS6}, \val{CS7} e \val{CS8}
-                     corrispondenti ad un analogo numero di bit.\\
-    \const{CSTOPB} & Se impostato vengono usati due bit di stop sulla linea
-                     seriale, se non impostato ne viene usato soltanto uno.\\
-    \const{CREAD}  & Se è impostato si può leggere l'input del terminale,
-                     altrimenti i caratteri in ingresso vengono scartati
-                     quando arrivano.\\
-    \const{PARENB} & Se impostato abilita la generazione il controllo di
-                     parità. La reazione in caso di errori dipende dai
-                     relativi valori per \var{c\_iflag}, riportati in 
-                     tab.~\ref{tab:sess_termios_iflag}. Se non è impostato i
-                     bit di parità non vengono generati e i caratteri non
-                     vengono controllati.\\
-    \const{PARODD} & Ha senso solo se è attivo anche \const{PARENB}. Se 
-                     impostato viene usata una parità è dispari, altrimenti 
-                     viene usata una parità pari.\\
-    \const{HUPCL}  & Se è impostato viene distaccata la connessione del
-                     modem quando l'ultimo dei processi che ha ancora un file
-                     aperto sul terminale lo chiude o esce.\\
-    \const{LOBLK}  & Se impostato blocca l'output su un strato di shell non
-                     corrente, non è presente in POSIX e non è implementato
-                     da Linux.\\
-    \const{CLOCAL} & Se impostato indica che il terminale è connesso in locale
-                     e che le linee di controllo del modem devono essere
-                     ignorate. Se non impostato effettuando una chiamata ad
-                     \func{open} senza aver specificato il flag di
-                     \const{O\_NONBLOCK} si bloccherà il processo finché 
-                     non si è stabilita una connessione con il modem; inoltre 
-                     se viene rilevata una disconnessione viene inviato un
-                     segnale di \signal{SIGHUP} al processo di controllo del
-                     terminale. La lettura su un terminale sconnesso comporta
-                     una condizione di \textit{end of file} e la scrittura un
-                     errore di \errcode{EIO}.\\
-    \const{CIBAUD} & Maschera dei bit della velocità della linea in
-                     ingresso; analogo a \const{CBAUD}, non è previsto da
-                     POSIX e non è implementato in Linux dato che è
-                     mantenuto in un apposito campo di \struct{termios}.\\
-    \const{CMSPAR} & imposta un bit di parità costante: se \const{PARODD} è
-                     impostato la parità è sempre 1 (\textit{MARK}) se non è
-                     impostato la parità è sempre 0 (\textit{SPACE}), non è
-                     previsto da POSIX.\\ 
+    \constd{CBAUD}  & Maschera dei bit (4+1) usati per impostare della velocità
+                      della linea (il \textit{baud rate}) in ingresso; non è
+                      presente in POSIX ed in Linux non è implementato in
+                      quanto viene usato un apposito campo di
+                      \struct{termios}.\\ 
+    \constd{CBAUDEX}& Bit aggiuntivo per l'impostazione della velocità della
+                      linea, non è presente in POSIX e per le stesse
+                      motivazioni del precedente non è implementato in Linux.\\
+    \constd{CSIZE}  & Maschera per i bit usati per specificare la dimensione 
+                      del carattere inviato lungo la linea di trasmissione, i
+                      valore ne indica la lunghezza (in bit), ed i valori   
+                      possibili sono \val{CS5}, \val{CS6}, \val{CS7} e \val{CS8}
+                      corrispondenti ad un analogo numero di bit.\\
+    \constd{CSTOPB} & Se impostato vengono usati due bit di stop sulla linea
+                      seriale, se non impostato ne viene usato soltanto uno.\\
+    \constd{CREAD}  & Se è impostato si può leggere l'input del terminale,
+                      altrimenti i caratteri in ingresso vengono scartati
+                      quando arrivano.\\
+    \constd{PARENB} & Se impostato abilita la generazione il controllo di
+                      parità. La reazione in caso di errori dipende dai
+                      relativi valori per \var{c\_iflag}, riportati in 
+                      tab.~\ref{tab:sess_termios_iflag}. Se non è impostato i
+                      bit di parità non vengono generati e i caratteri non
+                      vengono controllati.\\
+    \constd{PARODD} & Ha senso solo se è attivo anche \const{PARENB}. Se 
+                      impostato viene usata una parità è dispari, altrimenti 
+                      viene usata una parità pari.\\
+    \constd{HUPCL}  & Se è impostato viene distaccata la connessione del
+                      modem quando l'ultimo dei processi che ha ancora un file
+                      aperto sul terminale lo chiude o esce.\\
+    \constd{LOBLK}  & Se impostato blocca l'output su un strato di shell non
+                      corrente, non è presente in POSIX e non è implementato
+                      da Linux.\\
+    \constd{CLOCAL} & Se impostato indica che il terminale è connesso in locale
+                      e che le linee di controllo del modem devono essere
+                      ignorate. Se non impostato effettuando una chiamata ad
+                      \func{open} senza aver specificato il flag di
+                      \const{O\_NONBLOCK} si bloccherà il processo finché 
+                      non si è stabilita una connessione con il modem; inoltre 
+                      se viene rilevata una disconnessione viene inviato un
+                      segnale di \signal{SIGHUP} al processo di controllo del
+                      terminale. La lettura su un terminale sconnesso comporta
+                      una condizione di \textit{end of file} e la scrittura un
+                      errore di \errcode{EIO}.\\
+    \constd{CIBAUD} & Maschera dei bit della velocità della linea in
+                      ingresso; analogo a \const{CBAUD}, non è previsto da
+                      POSIX e non è implementato in Linux dato che è
+                      mantenuto in un apposito campo di \struct{termios}.\\
+    \constd{CMSPAR} & imposta un bit di parità costante: se \const{PARODD} è
+                      impostato la parità è sempre 1 (\textit{MARK}) se non è
+                      impostato la parità è sempre 0 (\textit{SPACE}), non è
+                      previsto da POSIX.\\ 
 % vedi: http://www.lothosoft.ch/thomas/libmip/markspaceparity.php
-    \const{CRTSCTS}& Abilita il controllo di flusso hardware sulla seriale,
-                     attraverso l'utilizzo delle dei due fili di RTS e CTS.\\
+    \constd{CRTSCTS}& Abilita il controllo di flusso hardware sulla seriale,
+                      attraverso l'utilizzo delle dei due fili di RTS e CTS.\\
     \hline
   \end{tabular}
   \caption{Costanti identificative dei vari bit del flag di controllo
@@ -1821,72 +1817,72 @@ due campi aggiuntivi, \var{c\_ispeed} e \var{c\_ospeed}, nella struttura
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{ISIG}   & Se impostato abilita il riconoscimento dei caratteri
-                     INTR, QUIT, e SUSP generando il relativo segnale.\\
-    \const{ICANON} & Se impostato il terminale opera in modalità canonica,
-                     altrimenti opera in modalità non canonica.\\
-    \const{XCASE}  & Se impostato il terminale funziona solo con le
-                     maiuscole. L'input è convertito in minuscole tranne per i
-                     caratteri preceduti da una ``\texttt{\bslash}''. In output
-                     le maiuscole sono precedute da una ``\texttt{\bslash}'' e 
-                     le minuscole convertite in maiuscole. Non è presente in
-                     POSIX.\\
-    \const{ECHO}   & Se è impostato viene attivato l'eco dei caratteri in
-                     input sull'output del terminale.\\
-    \const{ECHOE}  & Se è impostato l'eco mostra la cancellazione di un
-                     carattere in input (in reazione al carattere ERASE)
-                     cancellando l'ultimo carattere della riga corrente dallo
-                     schermo; altrimenti il carattere è rimandato in eco per
-                     mostrare quanto accaduto (usato per i terminali con
-                     l'uscita su una stampante).\\
-    \const{ECHOK}  & Se impostato abilita il trattamento della visualizzazione
-                     del carattere KILL, andando a capo dopo aver visualizzato
-                     lo stesso, altrimenti viene solo mostrato il carattere e
-                     sta all'utente ricordare che l'input precedente è stato
-                     cancellato.\\
-    \const{ECHONL} & Se impostato viene effettuato l'eco di un a
-                     capo (\verb|\n|) anche se non è stato impostato
-                     \const{ECHO}.\\
-    \const{ECHOCTL}& Se impostato insieme ad \const{ECHO} i caratteri di
-                     controllo ASCII (tranne TAB, NL, START, e STOP) sono
-                     mostrati nella forma che prepone un ``\texttt{\circonf}'' 
-                     alla lettera ottenuta sommando \texttt{0x40} al valore del
-                     carattere (di solito questi si possono ottenere anche
-                     direttamente premendo il tasto \texttt{ctrl} più la
-                     relativa lettera). Non è presente in POSIX.\\
-    \const{ECHOPRT}& Se impostato abilita la visualizzazione del carattere di
-                     cancellazione in una modalità adatta ai terminali con
-                     l'uscita su stampante; l'invio del carattere di ERASE
-                     comporta la stampa di un ``\texttt{|}'' seguito dal
-                     carattere cancellato, e così via in caso di successive
-                     cancellazioni, quando si riprende ad immettere carattere 
-                     normali prima verrà stampata una ``\texttt{/}''. Non è
-                     presente in POSIX.\\
-    \const{ECHOKE} & Se impostato abilita il trattamento della visualizzazione
-                     del carattere KILL cancellando i caratteri precedenti
-                     nella linea secondo le modalità specificate dai valori di
-                     \const{ECHOE} e \const{ECHOPRT}. Non è presente in
-                     POSIX.\\ 
-    \const{DEFECHO}& Se impostato effettua l'eco solo se c'è un processo in
-                     lettura. Non è presente in POSIX e non è supportato da
-                     Linux.\\
-    \const{FLUSHO} & Effettua la cancellazione della coda di uscita. Viene
-                     attivato dal carattere DISCARD. Non è presente in POSIX e
-                     non è supportato da Linux.\\
-    \const{NOFLSH} & Se impostato disabilita lo scarico delle code di ingresso
-                     e uscita quando vengono emessi i segnali \signal{SIGINT}, 
-                     \signal{SIGQUIT} e \signal{SIGSUSP}.\\
-    \const{TOSTOP} & Se abilitato, con il supporto per il job control presente,
-                     genera il segnale \signal{SIGTTOU} per un processo in
-                     background che cerca di scrivere sul terminale.\\
-    \const{PENDIN} & Indica che la linea deve essere ristampata, viene
-                     attivato dal carattere REPRINT e resta attivo fino alla
-                     fine della ristampa. Non è presente in POSIX e
-                     non è supportato in Linux.\\
-    \const{IEXTEN} & Abilita alcune estensioni previste dalla
-                     implementazione. Deve essere impostato perché caratteri
-                     speciali come EOL2, LNEXT, REPRINT e WERASE possano
-                     essere interpretati.\\
+    \constd{ISIG}   & Se impostato abilita il riconoscimento dei caratteri
+                      INTR, QUIT, e SUSP generando il relativo segnale.\\
+    \constd{ICANON} & Se impostato il terminale opera in modalità canonica,
+                      altrimenti opera in modalità non canonica.\\
+    \constd{XCASE}  & Se impostato il terminale funziona solo con le
+                      maiuscole. L'input è convertito in minuscole tranne per i
+                      caratteri preceduti da una ``\texttt{\bslash}''. In output
+                      le maiuscole sono precedute da una ``\texttt{\bslash}'' e 
+                      le minuscole convertite in maiuscole. Non è presente in
+                      POSIX.\\
+    \constd{ECHO}   & Se è impostato viene attivato l'eco dei caratteri in
+                      input sull'output del terminale.\\
+    \constd{ECHOE}  & Se è impostato l'eco mostra la cancellazione di un
+                      carattere in input (in reazione al carattere ERASE)
+                      cancellando l'ultimo carattere della riga corrente dallo
+                      schermo; altrimenti il carattere è rimandato in eco per
+                      mostrare quanto accaduto (usato per i terminali con
+                      l'uscita su una stampante).\\
+    \constd{ECHOK}  & Se impostato abilita il trattamento della visualizzazione
+                      del carattere KILL, andando a capo dopo aver visualizzato
+                      lo stesso, altrimenti viene solo mostrato il carattere e
+                      sta all'utente ricordare che l'input precedente è stato
+                      cancellato.\\
+    \constd{ECHONL} & Se impostato viene effettuato l'eco di un a
+                      capo (\verb|\n|) anche se non è stato impostato
+                      \const{ECHO}.\\
+    \constd{ECHOCTL}& Se impostato insieme ad \const{ECHO} i caratteri di
+                      controllo ASCII (tranne TAB, NL, START, e STOP) sono
+                      mostrati nella forma che prepone un ``\texttt{\circonf}'' 
+                      alla lettera ottenuta sommando \texttt{0x40} al valore del
+                      carattere (di solito questi si possono ottenere anche
+                      direttamente premendo il tasto \texttt{ctrl} più la
+                      relativa lettera). Non è presente in POSIX.\\
+    \constd{ECHOPRT}& Se impostato abilita la visualizzazione del carattere di
+                      cancellazione in una modalità adatta ai terminali con
+                      l'uscita su stampante; l'invio del carattere di ERASE
+                      comporta la stampa di un ``\texttt{|}'' seguito dal
+                      carattere cancellato, e così via in caso di successive
+                      cancellazioni, quando si riprende ad immettere carattere 
+                      normali prima verrà stampata una ``\texttt{/}''. Non è
+                      presente in POSIX.\\
+    \constd{ECHOKE} & Se impostato abilita il trattamento della visualizzazione
+                      del carattere KILL cancellando i caratteri precedenti
+                      nella linea secondo le modalità specificate dai valori di
+                      \const{ECHOE} e \const{ECHOPRT}. Non è presente in
+                      POSIX.\\ 
+    \constd{DEFECHO}& Se impostato effettua l'eco solo se c'è un processo in
+                      lettura. Non è presente in POSIX e non è supportato da
+                      Linux.\\
+    \constd{FLUSHO} & Effettua la cancellazione della coda di uscita. Viene
+                      attivato dal carattere DISCARD. Non è presente in POSIX e
+                      non è supportato da Linux.\\
+    \constd{NOFLSH} & Se impostato disabilita lo scarico delle code di ingresso
+                      e uscita quando vengono emessi i segnali \signal{SIGINT}, 
+                      \signal{SIGQUIT} e \signal{SIGSUSP}.\\
+    \constd{TOSTOP} & Se abilitato, con il supporto per il job control presente,
+                      genera il segnale \signal{SIGTTOU} per un processo in
+                      background che cerca di scrivere sul terminale.\\
+    \constd{PENDIN} & Indica che la linea deve essere ristampata, viene
+                      attivato dal carattere REPRINT e resta attivo fino alla
+                      fine della ristampa. Non è presente in POSIX e
+                      non è supportato in Linux.\\
+    \constd{IEXTEN} & Abilita alcune estensioni previste dalla
+                      implementazione. Deve essere impostato perché caratteri
+                      speciali come EOL2, LNEXT, REPRINT e WERASE possano
+                      essere interpretati.\\
     \hline
   \end{tabular}
   \caption{Costanti identificative dei vari bit del flag di controllo
@@ -1914,7 +1910,7 @@ non è impostato \const{ICANON}.
 Oltre ai vari flag per gestire le varie caratteristiche dei terminali,
 \struct{termios} contiene pure il campo \var{c\_cc} che viene usato per
 impostare i caratteri speciali associati alle varie funzioni di controllo. Il
-numero di questi caratteri speciali è indicato dalla costante \const{NCCS},
+numero di questi caratteri speciali è indicato dalla costante \constd{NCCS},
 POSIX ne specifica almeno 11, ma molte implementazioni ne definiscono molti
 altri.\footnote{in Linux il valore della costante è 32, anche se i caratteri
   effettivamente definiti sono solo 17.}
@@ -1927,71 +1923,71 @@ altri.\footnote{in Linux il valore della costante è 32, anche se i caratteri
     \textbf{Indice} & \textbf{Valore}&\textbf{Codice} & \textbf{Funzione}\\
     \hline
     \hline
-    \const{VINTR} &\texttt{0x03}&(\texttt{C-c})& Carattere di interrupt, 
-                                                 provoca l'emissione di 
-                                                 \signal{SIGINT}.\\
-    \const{VQUIT} &\texttt{0x1C}&(\texttt{C-\bslash})& Carattere di uscita,  
-                                                 provoca l'emissione di 
-                                                 \signal{SIGQUIT}.\\
-    \const{VERASE}&\texttt{0x7f}&DEL,\texttt{C-?}& Carattere di ERASE, cancella
-                                                 l'ultimo carattere
-                                                 precedente nella linea.\\
-    \const{VKILL} &\texttt{0x15}&(\texttt{C-u})& Carattere di KILL, cancella
-                                                 l'intera riga.\\
-    \const{VEOF}  &\texttt{0x04}&(\texttt{C-d})& Carattere di
-                                                 \textit{end-of-file}. Causa
-                                                 l'invio del contenuto del
-                                                 buffer di ingresso al
-                                                 processo in lettura anche se
-                                                 non è ancora stato ricevuto
-                                                 un a capo. Se è il primo
-                                                 carattere immesso comporta il
-                                                 ritorno di \func{read} con
-                                                 zero caratteri, cioè la
-                                                 condizione di
-                                                 \textit{end-of-file}.\\
-    \const{VMIN}  &     ---     &  ---   & Numero minimo di caratteri per una 
-                                           lettura in modo non canonico.\\
-    \const{VEOL}  &\texttt{0x00}& NUL &    Carattere di fine riga. Agisce come
-                                           un a capo, ma non viene scartato ed
-                                           è letto come l'ultimo carattere
-                                           nella riga.\\
-    \const{VTIME} &     ---     &  ---   & Timeout, in decimi di secondo, per
-                                           una lettura in modo non canonico.\\
-    \const{VEOL2} &\texttt{0x00}&   NUL  & Ulteriore carattere di fine
-                                           riga. Ha lo stesso effetto di
-                                           \const{VEOL} ma può essere un
-                                           carattere diverso. \\
-    \const{VSWTC} &\texttt{0x00}&   NUL  & Carattere di switch. Non supportato
-                                           in Linux.\\
-    \const{VSTART}&\texttt{0x17}&(\texttt{C-q})& Carattere di START. Riavvia un
+    \constd{VINTR} &\texttt{0x03}&(\texttt{C-c})& Carattere di interrupt, 
+                                                  provoca l'emissione di 
+                                                  \signal{SIGINT}.\\
+    \constd{VQUIT} &\texttt{0x1C}&(\texttt{C-\bslash})& Carattere di uscita,  
+                                                        provoca l'emissione di 
+                                                        \signal{SIGQUIT}.\\
+    \constd{VERASE}&\texttt{0x7f}&DEL,\texttt{C-?}& Carattere di ERASE, cancella
+                                                    l'ultimo carattere
+                                                    precedente nella linea.\\
+    \constd{VKILL} &\texttt{0x15}&(\texttt{C-u})& Carattere di KILL, cancella
+                                                  l'intera riga.\\
+    \constd{VEOF}  &\texttt{0x04}&(\texttt{C-d})& Carattere di
+                                                  \textit{end-of-file}. Causa
+                                                  l'invio del contenuto del
+                                                  buffer di ingresso al
+                                                  processo in lettura anche se
+                                                  non è ancora stato ricevuto
+                                                  un a capo. Se è il primo
+                                                  carattere immesso comporta il
+                                                  ritorno di \func{read} con
+                                                  zero caratteri, cioè la
+                                                  condizione di
+                                                  \textit{end-of-file}.\\
+    \constd{VMIN}  &     ---     &  ---   & Numero minimo di caratteri per una 
+                                            lettura in modo non canonico.\\
+    \constd{VEOL}  &\texttt{0x00}& NUL &    Carattere di fine riga. Agisce come
+                                         un a capo, ma non viene scartato ed
+                                         è letto come l'ultimo carattere
+                                         nella riga.\\
+    \constd{VTIME} &     ---     &  ---   & Timeout, in decimi di secondo, per
+                                            una lettura in modo non canonico.\\
+    \constd{VEOL2} &\texttt{0x00}&   NUL  & Ulteriore carattere di fine
+                                            riga. Ha lo stesso effetto di
+                                            \const{VEOL} ma può essere un
+                                            carattere diverso. \\
+    \constd{VSWTC} &\texttt{0x00}&   NUL  & Carattere di switch. Non supportato
+                                            in Linux.\\
+    \constd{VSTART}&\texttt{0x17}&(\texttt{C-q})& Carattere di START. Riavvia un
                                                  output bloccato da uno STOP.\\
-    \const{VSTOP} &\texttt{0x19}&(\texttt{C-s})& Carattere di STOP. Blocca
+    \constd{VSTOP} &\texttt{0x19}&(\texttt{C-s})& Carattere di STOP. Blocca
                                                  l'output fintanto che non
                                                  viene premuto un carattere di
                                                  START.\\
-    \const{VSUSP} &\texttt{0x1A}&(\texttt{C-z})& Carattere di
+    \constd{VSUSP} &\texttt{0x1A}&(\texttt{C-z})& Carattere di
                                                  sospensione. Invia il segnale
                                                  \signal{SIGTSTP}.\\
-    \const{VDSUSP}&\texttt{0x19}&(\texttt{C-y})& Carattere di sospensione
+    \constd{VDSUSP}&\texttt{0x19}&(\texttt{C-y})& Carattere di sospensione
                                                  ritardata. Invia il segnale 
                                                  \signal{SIGTSTP} quando il
                                                  carattere viene letto dal
                                                  programma, (non presente in
                                                  POSIX e non riconosciuto in
                                                  Linux).\\ 
-    \const{VLNEXT}&\texttt{0x16}&(\texttt{C-v})& Carattere di escape, serve a
+    \constd{VLNEXT}&\texttt{0x16}&(\texttt{C-v})& Carattere di escape, serve a
                                                  quotare il carattere
                                                  successivo che non viene
                                                  interpretato ma passato
                                                  direttamente all'output.\\
-    \const{VWERASE}&\texttt{0x17}&(\texttt{C-w})&Cancellazione di una
+    \constd{VWERASE}&\texttt{0x17}&(\texttt{C-w})&Cancellazione di una
                                                  parola.\\
-    \const{VREPRINT}&\texttt{0x12}&(\texttt{C-r})& Ristampa i caratteri non
+    \constd{VREPRINT}&\texttt{0x12}&(\texttt{C-r})& Ristampa i caratteri non
                                                  ancora letti (non presente in
                                                  POSIX).\\
-    \const{VDISCARD}&\texttt{0x0F}&(\texttt{C-o})& Non riconosciuto in Linux.\\
-    \const{VSTATUS} &\texttt{0x13}&(\texttt{C-t})& Non riconosciuto in Linux.\\
+    \constd{VDISCARD}&\texttt{0x0F}&(\texttt{C-o})& Non riconosciuto in Linux.\\
+    \constd{VSTATUS} &\texttt{0x13}&(\texttt{C-t})& Non riconosciuto in Linux.\\
     \hline
   \end{tabular}
   \caption{Valori dei caratteri di controllo mantenuti nel campo \var{c\_cc}
@@ -2086,11 +2082,11 @@ utili qualora si cambino i parametri di output.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{TCSANOW}  & Esegue i cambiamenti in maniera immediata.\\
-    \const{TCSADRAIN}& I cambiamenti vengono eseguiti dopo aver atteso che
-                       tutto l'output presente sulle code è stato scritto.\\
-    \const{TCSAFLUSH}& È identico a \const{TCSADRAIN}, ma in più scarta
-                       tutti i dati presenti sulla coda di input.\\
+    \constd{TCSANOW}  & Esegue i cambiamenti in maniera immediata.\\
+    \constd{TCSADRAIN}& I cambiamenti vengono eseguiti dopo aver atteso che
+                        tutto l'output presente sulle code è stato scritto.\\
+    \constd{TCSAFLUSH}& È identico a \const{TCSADRAIN}, ma in più scarta
+                        tutti i dati presenti sulla coda di input.\\
     \hline
   \end{tabular}
   \caption{Possibili valori per l'argomento \param{optional\_actions} della
@@ -2371,9 +2367,9 @@ di uscita cancellerà i dati scritti ma non ancora trasmessi.
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \const{TCIFLUSH} & Cancella i dati sulla coda di ingresso.\\
-    \const{TCOFLUSH} & Cancella i dati sulla coda di uscita. \\
-    \const{TCIOFLUSH}& Cancella i dati su entrambe le code.\\
+    \constd{TCIFLUSH} & Cancella i dati sulla coda di ingresso.\\
+    \constd{TCOFLUSH} & Cancella i dati sulla coda di uscita. \\
+    \constd{TCIOFLUSH}& Cancella i dati su entrambe le code.\\
     \hline
   \end{tabular}
   \caption{Possibili valori per l'argomento \param{queue} della
@@ -2411,12 +2407,12 @@ riportati in tab.~\ref{tab:sess_tcflow_action}.
     \textbf{Valore}& \textbf{Azione}\\
     \hline
     \hline
-    \const{TCOOFF}& Sospende l'output.\\
-    \const{TCOON} & Riprende un output precedentemente sospeso.\\
-    \const{TCIOFF}& Il sistema trasmette un carattere di STOP, che 
-                    fa interrompere la trasmissione dei dati dal terminale.\\
-    \const{TCION} & Il sistema trasmette un carattere di START, che 
-                    fa riprendere la trasmissione dei dati dal terminale.\\
+    \constd{TCOOFF}& Sospende l'output.\\
+    \constd{TCOON} & Riprende un output precedentemente sospeso.\\
+    \constd{TCIOFF}& Il sistema trasmette un carattere di STOP, che 
+                     fa interrompere la trasmissione dei dati dal terminale.\\
+    \constd{TCION} & Il sistema trasmette un carattere di START, che 
+                     fa riprendere la trasmissione dei dati dal terminale.\\
     \hline
   \end{tabular}
   \caption{Possibili valori per l'argomento \param{action} della
index 2f5516b..3c794a6 100644 (file)
@@ -457,15 +457,15 @@ tab.~\ref{tab:sig_action_leg}).
 \end{table}
 
 
-Si inoltre noti come \const{SIGCONT} sia l'unico segnale a non avere
+Si inoltre noti come \signal{SIGCONT} sia l'unico segnale a non avere
 l'indicazione di una azione predefinita nella terza colonna di
 tab.~\ref{tab:sig_signal_list}, questo perché il suo effetto è sempre quello
 di far ripartire un programma in stato \texttt{T} fermato da un segnale di
-stop. Inoltre i segnali \const{SIGSTOP} e \const{SIGKILL} si distinguono da
+stop. Inoltre i segnali \signal{SIGSTOP} e \signal{SIGKILL} si distinguono da
 tutti gli altri per la specifica caratteristica di non potere essere né
 intercettati, né bloccati, né ignorati.
 
-Il numero totale di segnali presenti è dato dalla macro \const{NSIG} (e tiene
+Il numero totale di segnali presenti è dato dalla macro \macrod{NSIG} (e tiene
 conto anche di quelli \textit{real-time}) e dato che i numeri dei segnali sono
 allocati progressivamente, essa corrisponde anche al successivo del valore
 numerico assegnato all'ultimo segnale definito.  La descrizione dettagliata
@@ -665,9 +665,8 @@ segnali sono:
   avuto successo.
 
 \item[\signald{SIGURG}] Questo segnale è inviato quando arrivano dei dati
-  urgenti o \itindex{out-of-band} \textit{out-of-band} su di un
-  socket; per maggiori dettagli al proposito si veda
-  sez.~\ref{sec:TCP_urgent_data}.
+  urgenti o \textit{out-of-band} su di un socket; per maggiori dettagli al
+  proposito si veda sez.~\ref{sec:TCP_urgent_data}.
 
 \item[\signald{SIGPOLL}] Questo segnale è definito nella standard POSIX.1-2001,
   ed è equivalente a \signal{SIGIO} che invece deriva da BSD. Su Linux è
@@ -906,34 +905,35 @@ figlio dovranno arrivare solo i segnali dovuti alle sue azioni.
 
 Quando si mette in esecuzione un nuovo programma con \func{exec} (si ricordi
 quanto detto in sez.~\ref{sec:proc_exec}) tutti i segnali per i quali è stato
-installato un gestore vengono reimpostati a \const{SIG\_DFL}. Non ha più
+installato un gestore vengono reimpostati a \constd{SIG\_DFL}. Non ha più
 senso infatti fare riferimento a funzioni definite nel programma originario,
 che non sono presenti nello spazio di indirizzi del nuovo programma.
 
 Si noti che questo vale solo per le azioni per le quali è stato installato un
 gestore, viene mantenuto invece ogni eventuale impostazione dell'azione a
-\const{SIG\_IGN}. Questo permette ad esempio alla shell di impostare ad
+\constd{SIG\_IGN}. Questo permette ad esempio alla shell di impostare ad
 \const{SIG\_IGN} le risposte per \signal{SIGINT} e \signal{SIGQUIT} per i
 programmi eseguiti in background, che altrimenti sarebbero interrotti da una
 successiva pressione di \texttt{C-c} o \texttt{C-y}.
 
 Per quanto riguarda il comportamento di tutte le altre \textit{system call} si
-danno sostanzialmente due casi, a seconda che esse siano
-\index{system~call~lente} \textsl{lente} (\textit{slow}) o \textsl{veloci}
-(\textit{fast}). La gran parte di esse appartiene a quest'ultima categoria,
-che non è influenzata dall'arrivo di un segnale. Esse sono dette
-\textsl{veloci} in quanto la loro esecuzione è sostanzialmente immediata. La
-risposta al segnale viene sempre data dopo che la \textit{system call} è stata
-completata, in quanto attendere per eseguire un gestore non comporta nessun
-inconveniente.
+danno sostanzialmente due casi, a seconda che esse siano \textsl{lente}
+(\textit{slow}) o \textsl{veloci} (\textit{fast}). La gran parte di esse
+appartiene a quest'ultima categoria, che non è influenzata dall'arrivo di un
+segnale. Esse sono dette \textsl{veloci} in quanto la loro esecuzione è
+sostanzialmente immediata. La risposta al segnale viene sempre data dopo che
+la \textit{system call} è stata completata, in quanto attendere per eseguire
+un gestore non comporta nessun inconveniente.
+
+\index{system~call~lente|(}
 
 In alcuni casi però alcune \textit{system call} possono bloccarsi
-indefinitamente e per questo motivo vengono chiamate \textsl{lente}
-\index{system~call~lente} o \textsl{bloccanti}. In questo caso non si può
-attendere la conclusione della \textit{system call}, perché questo renderebbe
-impossibile una risposta pronta al segnale, per cui il gestore viene eseguito
-prima che la \textit{system call} sia ritornata.  Un elenco dei casi in cui si
-presenta questa situazione è il seguente:
+indefinitamente e per questo motivo vengono chiamate \textsl{lente} o
+\textsl{bloccanti}. In questo caso non si può attendere la conclusione della
+\textit{system call}, perché questo renderebbe impossibile una risposta pronta
+al segnale, per cui il gestore viene eseguito prima che la \textit{system
+  call} sia ritornata.  Un elenco dei casi in cui si presenta questa
+situazione è il seguente:
 \begin{itemize*}
 \item la lettura da file che possono bloccarsi in attesa di dati non ancora
   presenti (come per certi file di dispositivo, i socket o le \textit{pipe});
@@ -1009,6 +1009,8 @@ possa essere stato richiesto il riavvio automatico, queste funzioni sono:
 \end{itemize*}
 
 
+\index{system~call~lente|)}
+
 
 \subsection{L'installazione di un gestore}
 \label{sec:sig_signal}
@@ -1031,7 +1033,7 @@ comportamento, pur mantenendone immutato il prototipo\footnote{in realtà in
 }
 
 {La funzione ritorna il precedente gestore in caso di successo in caso di
-  successo e \const{SIG\_ERR} per un errore, nel qual caso \var{errno}
+  successo e \constd{SIG\_ERR} per un errore, nel qual caso \var{errno}
   assumerà il valore:
   \begin{errlist}
   \item[\errcode{EINVAL}] il numero di segnale \param{signum} non è valido.
@@ -1186,13 +1188,12 @@ con \param{pid} non esistono.
     \hline
     \hline
     $>0$ & Il segnale è mandato al processo con \ids{PID} uguale
-           a \param{pid}.\\ 
-    0    & Il segnale è mandato ad ogni processo del \itindex{process~group}
-           \textit{process group} del chiamante.\\ 
+           a \param{pid}.\\
+    0    & Il segnale è mandato ad ogni processo del \textit{process group}
+           del chiamante.\\  
     $-1$ & Il segnale è mandato ad ogni processo (eccetto \cmd{init}).\\
     $<-1$& Il segnale è mandato ad ogni processo del \textit{process group} 
-           \itindex{process~group} con \ids{PGID} uguale
-           a $|\param{pid}|$.\\
+           con \ids{PGID} uguale a $|\param{pid}|$.\\
     \hline
   \end{tabular}
   \caption{Valori dell'argomento \param{pid} per la funzione
@@ -1237,7 +1238,7 @@ prototipo è:
 \begin{funcproto}{
 \fhead{signal.h}
 \fdecl{int killpg(pid\_t pidgrp, int signal)}
-\fdesc{Invia un segnale ad un \itindex{process~group} \textit{process group}.} 
+\fdesc{Invia un segnale ad un \textit{process group}.} 
 }
 
 { La funzione ritorna $0$ in caso di successo e $-1$ per un errore, e gli
@@ -1246,11 +1247,11 @@ prototipo è:
 \end{funcproto}
 
 
-La funzione invia il segnale \param{signal} al \itindex{process~group}
-\textit{process group} il cui \acr{PGID} (vedi sez.~\ref{sec:sess_proc_group})
-è indicato dall'argomento \param{pidgrp}, che deve essere un intero
-positivo. Il suo utilizzo è sostanzialmente equivalente all'esecuzione di
-\code{kill(-pidgrp, signal)}.
+La funzione invia il segnale \param{signal} al \textit{process group} il cui
+\acr{PGID} (vedi sez.~\ref{sec:sess_proc_group}) è indicato
+dall'argomento \param{pidgrp}, che deve essere un intero positivo. Il suo
+utilizzo è sostanzialmente equivalente all'esecuzione di \code{kill(-pidgrp,
+  signal)}.
 
 Oltre alle precedenti funzioni di base, vedremo più avanti che esistono altre
 funzioni per inviare segnali generici, come \func{sigqueue} per i segnali
@@ -1379,9 +1380,9 @@ tab.~\ref{tab:sig_setitimer_values}.
     \textbf{Valore} & \textbf{Timer} \\
     \hline
     \hline
-    \const{ITIMER\_REAL}    & \textit{real-time timer}\\
-    \const{ITIMER\_VIRTUAL} & \textit{virtual timer}\\
-    \const{ITIMER\_PROF}    & \textit{profiling timer}\\
+    \constd{ITIMER\_REAL}    & \textit{real-time timer}\\
+    \constd{ITIMER\_VIRTUAL} & \textit{virtual timer}\\
+    \constd{ITIMER\_PROF}    & \textit{profiling timer}\\
     \hline
   \end{tabular}
   \caption{Valori dell'argomento \param{which} per la funzione
@@ -1446,7 +1447,7 @@ eccesso).\footnote{questo in realtà non è del tutto vero a causa di un bug,
 
 L'uso del contatore dei \textit{jiffies}, un intero a 32 bit nella maggior
 parte dei casi, comportava inoltre l'impossibilità di specificare tempi molto
-lunghi. superiori al valore della costante \const{MAX\_SEC\_IN\_JIFFIES},
+lunghi. superiori al valore della costante \constd{MAX\_SEC\_IN\_JIFFIES},
 pari, nel caso di default di un valore di \const{HZ} di 250, a circa 99 giorni
 e mezzo. Con il cambiamento della rappresentazione effettuato nel kernel
 2.6.16 questo problema è scomparso e con l'introduzione dei timer ad alta
@@ -1455,7 +1456,7 @@ precisione è diventata quella fornita dall'hardware disponibile.
 
 Una seconda causa di potenziali ritardi è che il segnale viene generato alla
 scadenza del timer, ma poi deve essere consegnato al processo; se quest'ultimo
-è attivo (questo è sempre vero per \const{ITIMER\_VIRT}) la consegna è
+è attivo (questo è sempre vero per \const{ITIMER\_VIRTUAL}) la consegna è
 immediata, altrimenti può esserci un ulteriore ritardo che può variare a
 seconda del carico del sistema.
 
@@ -1465,8 +1466,8 @@ in cui un timer scade prima che il segnale di una precedente scadenza sia
 stato consegnato. In questo caso, per il comportamento dei segnali descritto
 in sez.~\ref{sec:sig_sigchld}, un solo segnale sarà consegnato. Per questo
 oggi l'uso di questa funzione è deprecato a favore degli
-\textit{high-resolution timer} e della cosiddetta \itindex{POSIX~Timer~API}
-\textit{POSIX Timer API}, che tratteremo in sez.~\ref{sec:sig_timer_adv}.
+\textit{high-resolution timer} e della cosiddetta \textit{POSIX Timer API},
+che tratteremo in sez.~\ref{sec:sig_timer_adv}.
 
 Dato che sia \func{alarm} che \func{setitimer} non consentono di leggere il
 valore corrente di un timer senza modificarlo, è possibile usare la funzione
@@ -2088,44 +2089,44 @@ tab.~\ref{tab:sig_sa_flag}.
     \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \const{SA\_NOCLDSTOP}& Se il segnale è \signal{SIGCHLD} allora non deve
-                           essere notificato quando il processo figlio viene
-                           fermato da uno dei segnali \signal{SIGSTOP},
-                           \signal{SIGTSTP}, \signal{SIGTTIN} o 
-                           \signal{SIGTTOU}, questo flag ha significato solo
-                           quando si imposta un gestore per \signal{SIGCHLD}.\\
-    \const{SA\_NOCLDWAIT}& Se il segnale è \signal{SIGCHLD} e si richiede di
-                           ignorare il segnale con \const{SIG\_IGN} allora i
-                           processi figli non diventano \textit{zombie} quando
-                           terminano; questa funzionalità è stata introdotta
-                           nel kernel 2.6 e va a modificare il comportamento
-                           di \func{waitpid} come illustrato in
-                           sez.~\ref{sec:proc_wait}, se si installa un gestore
-                           con questo flag attivo il segnale \signal{SIGCHLD}
-                           viene comunque generato.\\
-    \const{SA\_NODEFER}  & Evita che il segnale corrente sia bloccato durante
-                           l'esecuzione del gestore.\\
-    \const{SA\_NOMASK}   & Nome obsoleto e sinonimo non standard di
-                           \const{SA\_NODEFER}, non deve essere più
-                           utilizzato.\\ 
-    \const{SA\_ONESHOT}  & Nome obsoleto e sinonimo non standard di
-                           \const{SA\_RESETHAND}, non deve essere più
-                           utilizzato.\\ 
-    \const{SA\_ONSTACK}  & Stabilisce l'uso di uno \textit{stack} alternativo
-                           per l'esecuzione del gestore (vedi
-                           sez.~\ref{sec:sig_specific_features}).\\  
-    \const{SA\_RESETHAND}& Ristabilisce l'azione per il segnale al valore 
-                           predefinito una volta che il gestore è stato
-                           lanciato, riproduce cioè il comportamento della
-                           semantica inaffidabile.\\  
-    \const{SA\_RESTART}  & Riavvia automaticamente le \textit{slow system
-                           call} quando vengono interrotte dal suddetto
-                           segnale, riproduce cioè il comportamento standard
-                           di BSD.\index{system~call~lente}\\ 
-    \const{SA\_SIGINFO}  & Deve essere specificato quando si vuole usare un
-                           gestore in forma estesa usando
-                           \var{sa\_sigaction} al posto di
-                           \var{sa\_handler}.\\
+    \constd{SA\_NOCLDSTOP}& Se il segnale è \signal{SIGCHLD} allora non deve
+                            essere notificato quando il processo figlio viene
+                            fermato da uno dei segnali \signal{SIGSTOP},
+                            \signal{SIGTSTP}, \signal{SIGTTIN} o 
+                            \signal{SIGTTOU}, questo flag ha significato solo
+                            quando si imposta un gestore per \signal{SIGCHLD}.\\
+    \constd{SA\_NOCLDWAIT}& Se il segnale è \signal{SIGCHLD} e si richiede di
+                            ignorare il segnale con \const{SIG\_IGN} allora i
+                            processi figli non diventano \textit{zombie} quando
+                            terminano; questa funzionalità è stata introdotta
+                            nel kernel 2.6 e va a modificare il comportamento
+                            di \func{waitpid} come illustrato in
+                            sez.~\ref{sec:proc_wait}, se si installa un gestore
+                            con questo flag attivo il segnale \signal{SIGCHLD}
+                            viene comunque generato.\\
+    \constd{SA\_NODEFER}  & Evita che il segnale corrente sia bloccato durante
+                            l'esecuzione del gestore.\\
+    \constd{SA\_NOMASK}   & Nome obsoleto e sinonimo non standard di
+                            \const{SA\_NODEFER}, non deve essere più
+                            utilizzato.\\ 
+    \constd{SA\_ONESHOT}  & Nome obsoleto e sinonimo non standard di
+                            \const{SA\_RESETHAND}, non deve essere più
+                            utilizzato.\\ 
+    \constd{SA\_ONSTACK}  & Stabilisce l'uso di uno \textit{stack} alternativo
+                            per l'esecuzione del gestore (vedi
+                            sez.~\ref{sec:sig_specific_features}).\\  
+    \constd{SA\_RESETHAND}& Ristabilisce l'azione per il segnale al valore 
+                            predefinito una volta che il gestore è stato
+                            lanciato, riproduce cioè il comportamento della
+                            semantica inaffidabile.\\  
+    \constd{SA\_RESTART}  & Riavvia automaticamente le \textit{slow system
+                            call} quando vengono interrotte dal suddetto
+                            segnale, riproduce cioè il comportamento standard
+                            di BSD.\\ 
+    \constd{SA\_SIGINFO}  & Deve essere specificato quando si vuole usare un
+                            gestore in forma estesa usando
+                            \var{sa\_sigaction} al posto di
+                            \var{sa\_handler}.\\
     \hline
   \end{tabular}
   \caption{Valori del campo \var{sa\_flag} della struttura \struct{sigaction}.}
@@ -2194,23 +2195,23 @@ altre informazioni specifiche.
     \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \const{SI\_USER}   & Generato da \func{kill} o \func{raise} o affini.\\
-    \const{SI\_KERNEL} & Inviato direttamente dal kernel.\\
-    \const{SI\_QUEUE}  & Inviato con \func{sigqueue} (vedi
-                         sez.~\ref{sec:sig_real_time}).\\ 
-    \const{SI\_TIMER}  & Scadenza di un\itindex{POSIX~Timer~API} \textit{POSIX
-                          timer} (vedi sez.~\ref{sec:sig_timer_adv}).\\
-    \const{SI\_MESGQ}  & Inviato al cambiamento di stato di una coda di
-                         messaggi POSIX (vedi sez.~\ref{sec:ipc_posix_mq}),
-                         introdotto con il kernel 2.6.6.\\ 
-    \const{SI\_ASYNCIO}& Una operazione di I/O asincrono (vedi
-                         sez.~\ref{sec:file_asyncronous_io}) è stata
-                         completata.\\
-    \const{SI\_SIGIO}  & Segnale di \signal{SIGIO} da una coda (vedi
-                         sez.~\ref{sec:file_asyncronous_operation}).\\ 
-    \const{SI\_TKILL}  & Inviato da \func{tkill} o \func{tgkill} (vedi
-                         sez.~\ref{cha:thread_xxx}), introdotto con il kernel
-                         2.4.19.\\ 
+    \constd{SI\_USER}   & Generato da \func{kill} o \func{raise} o affini.\\
+    \constd{SI\_KERNEL} & Inviato direttamente dal kernel.\\
+    \constd{SI\_QUEUE}  & Inviato con \func{sigqueue} (vedi
+                          sez.~\ref{sec:sig_real_time}).\\ 
+    \constd{SI\_TIMER}  & Scadenza di un \textit{POSIX timer} (vedi
+                          sez.~\ref{sec:sig_timer_adv}).\\ 
+    \constd{SI\_MESGQ}  & Inviato al cambiamento di stato di una coda di
+                          messaggi POSIX (vedi sez.~\ref{sec:ipc_posix_mq}),
+                          introdotto con il kernel 2.6.6.\\ 
+    \constd{SI\_ASYNCIO}& Una operazione di I/O asincrono (vedi
+                          sez.~\ref{sec:file_asyncronous_io}) è stata
+                          completata.\\
+    \constd{SI\_SIGIO}  & Segnale di \signal{SIGIO} da una coda (vedi
+                          sez.~\ref{sec:file_asyncronous_operation}).\\ 
+    \constd{SI\_TKILL}  & Inviato da \func{tkill} o \func{tgkill} (vedi
+                          sez.~\ref{cha:thread_xxx}), introdotto con il kernel
+                          2.4.19.\\ 
     \hline
   \end{tabular}
   \caption{Valori del campo \var{si\_code} della struttura \struct{sigaction}
@@ -2239,33 +2240,33 @@ riferimento.
     \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \const{ILL\_ILLOPC}  & Codice di operazione illegale.\\
-    \const{ILL\_ILLOPN}  & Operando illegale.\\
-    \const{ILL\_ILLADR}  & Modo di indirizzamento illegale.\\
-    \const{ILL\_ILLTRP}  & Trappola di processore illegale.\\
-    \const{ILL\_PRVOPC}  & Codice di operazione privilegiato.\\
-    \const{ILL\_PRVREG}  & Registro privilegiato.\\
-    \const{ILL\_COPROC}  & Errore del coprocessore.\\
-    \const{ILL\_BADSTK}  & Errore nello stack interno.\\
+    \constd{ILL\_ILLOPC}  & Codice di operazione illegale.\\
+    \constd{ILL\_ILLOPN}  & Operando illegale.\\
+    \constd{ILL\_ILLADR}  & Modo di indirizzamento illegale.\\
+    \constd{ILL\_ILLTRP}  & Trappola di processore illegale.\\
+    \constd{ILL\_PRVOPC}  & Codice di operazione privilegiato.\\
+    \constd{ILL\_PRVREG}  & Registro privilegiato.\\
+    \constd{ILL\_COPROC}  & Errore del coprocessore.\\
+    \constd{ILL\_BADSTK}  & Errore nello stack interno.\\
     \hline
-    \const{FPE\_INTDIV}  & Divisione per zero intera.\\
-    \const{FPE\_INTOVF}  & Overflow intero.\\
-    \const{FPE\_FLTDIV}  & Divisione per zero in virgola mobile.\\
-    \const{FPE\_FLTOVF}  & Overflow in virgola mobile.\\
-    \const{FPE\_FLTUND}  & Underflow in virgola mobile.\\
-    \const{FPE\_FLTRES}  & Risultato in virgola mobile non esatto.\\
-    \const{FPE\_FLTINV}  & Operazione in virgola mobile non valida.\\
-    \const{FPE\_FLTSUB}  & Mantissa? fuori intervallo.\\
+    \constd{FPE\_INTDIV}  & Divisione per zero intera.\\
+    \constd{FPE\_INTOVF}  & Overflow intero.\\
+    \constd{FPE\_FLTDIV}  & Divisione per zero in virgola mobile.\\
+    \constd{FPE\_FLTOVF}  & Overflow in virgola mobile.\\
+    \constd{FPE\_FLTUND}  & Underflow in virgola mobile.\\
+    \constd{FPE\_FLTRES}  & Risultato in virgola mobile non esatto.\\
+    \constd{FPE\_FLTINV}  & Operazione in virgola mobile non valida.\\
+    \constd{FPE\_FLTSUB}  & Mantissa? fuori intervallo.\\
     \hline
-    \const{SEGV\_MAPERR} & Indirizzo non mappato.\\
-    \const{SEGV\_ACCERR} & Permessi non validi per l'indirizzo.\\
+    \constd{SEGV\_MAPERR} & Indirizzo non mappato.\\
+    \constd{SEGV\_ACCERR} & Permessi non validi per l'indirizzo.\\
     \hline
-    \const{BUS\_ADRALN}  & Allineamento dell'indirizzo non valido.\\
-    \const{BUS\_ADRERR}  & Indirizzo fisico inesistente.\\
-    \const{BUS\_OBJERR}  & Errore hardware sull'indirizzo.\\
+    \constd{BUS\_ADRALN}  & Allineamento dell'indirizzo non valido.\\
+    \constd{BUS\_ADRERR}  & Indirizzo fisico inesistente.\\
+    \constd{BUS\_OBJERR}  & Errore hardware sull'indirizzo.\\
     \hline
-    \const{TRAP\_BRKPT}  & Breakpoint sul processo.\\
-    \const{TRAP\_TRACE}  & Trappola di tracciamento del processo.\\
+    \constd{TRAP\_BRKPT}  & Breakpoint sul processo.\\
+    \constd{TRAP\_TRACE}  & Trappola di tracciamento del processo.\\
     \hline
     \constd{CLD\_EXITED}  & Il figlio è uscito.\\
     \constd{CLD\_KILLED}  & Il figlio è stato terminato.\\
@@ -2274,12 +2275,12 @@ riferimento.
     \constd{CLD\_STOPPED} & Il figlio è stato fermato.\\
     \constd{CLD\_CONTINUED}& Il figlio è ripartito.\\
     \hline
-    \const{POLL\_IN}   & Disponibili dati in ingresso.\\
-    \const{POLL\_OUT}  & Spazio disponibile sul buffer di uscita.\\
-    \const{POLL\_MSG}  & Disponibili messaggi in ingresso.\\
-    \const{POLL\_ERR}  & Errore di I/O.\\
-    \const{POLL\_PRI}  & Disponibili dati di alta priorità in ingresso.\\
-    \const{POLL\_HUP}  & Il dispositivo è stato disconnesso.\\
+    \constd{POLL\_IN}   & Disponibili dati in ingresso.\\
+    \constd{POLL\_OUT}  & Spazio disponibile sul buffer di uscita.\\
+    \constd{POLL\_MSG}  & Disponibili messaggi in ingresso.\\
+    \constd{POLL\_ERR}  & Errore di I/O.\\
+    \constd{POLL\_PRI}  & Disponibili dati di alta priorità in ingresso.\\
+    \constd{POLL\_HUP}  & Il dispositivo è stato disconnesso.\\
     \hline
   \end{tabular}
   \caption{Valori del campo \var{si\_code} della struttura \struct{sigaction}
@@ -2289,9 +2290,9 @@ riferimento.
   \label{tab:sig_si_code_special}
 \end{table}
 
-Il resto della struttura \struct{siginfo\_t} è definito come una
-\dirct{union} ed i valori eventualmente presenti dipendono dal segnale
-ricevuto, così \signal{SIGCHLD} ed i segnali \textit{real-time} (vedi
+Il resto della struttura \struct{siginfo\_t} è definito come una \dirct{union}
+ed i valori eventualmente presenti dipendono dal segnale ricevuto, così
+\signal{SIGCHLD} ed i segnali \textit{real-time} (vedi
 sez.~\ref{sec:sig_real_time}) inviati tramite \func{kill} avvalorano
 \var{si\_pid} e \var{si\_uid} coi valori corrispondenti al processo che ha
 emesso il segnale, \signal{SIGCHLD} avvalora anche i campi \var{si\_status},
@@ -2301,11 +2302,10 @@ sez.~\ref{sec:sys_cpu_times}) usati dal processo; \signal{SIGILL},
 \signal{SIGFPE}, \signal{SIGSEGV} e \signal{SIGBUS} avvalorano \var{si\_addr}
 con l'indirizzo in cui è avvenuto l'errore, \signal{SIGIO} (vedi
 sez.~\ref{sec:file_asyncronous_io}) avvalora \var{si\_fd} con il numero del
-file descriptor e \var{si\_band} per i \itindex{out-of-band} dati urgenti
-(vedi sez.~\ref{sec:TCP_urgent_data}) su un socket, il segnale inviato alla
-scadenza di un \itindex{POSIX~Timer~API} POSIX timer (vedi
-sez.~\ref{sec:sig_timer_adv}) avvalora i campi \var{si\_timerid} e
-\var{si\_overrun}.
+file descriptor e \var{si\_band} per i dati urgenti (vedi
+sez.~\ref{sec:TCP_urgent_data}) su un socket, il segnale inviato alla scadenza
+di un POSIX timer (vedi sez.~\ref{sec:sig_timer_adv}) avvalora i campi
+\var{si\_timerid} e \var{si\_overrun}.
 
 Benché sia possibile usare nello stesso programma sia \func{sigaction} che
 \func{signal} occorre molta attenzione, in quanto le due funzioni possono
@@ -2368,13 +2368,15 @@ di problemi di sintassi nel passaggio degli argomenti (si veda ad esempio
 \label{sec:sig_sigmask}
 
 \index{maschera dei segnali|(}
-Come spiegato in sez.~\ref{sec:sig_semantics} tutti i moderni sistemi unix-like
-permettono di bloccare temporaneamente (o di eliminare completamente,
-impostando come azione \const{SIG\_IGN}) la consegna dei segnali ad un
-processo. Questo è fatto specificando la cosiddetta \textsl{maschera dei
-  segnali} (o \textit{signal mask}) del processo\footnote{nel caso di Linux
-  essa è mantenuta dal campo \var{blocked} della \struct{task\_struct} del
-  processo.} cioè l'insieme dei segnali la cui consegna è bloccata. 
+
+Come spiegato in sez.~\ref{sec:sig_semantics} tutti i moderni sistemi
+unix-like permettono di bloccare temporaneamente (o di eliminare
+completamente, impostando come azione \const{SIG\_IGN}) la consegna dei
+segnali ad un processo. Questo è fatto specificando la cosiddetta
+\textsl{maschera dei segnali} (o \textit{signal mask}) del
+processo\footnote{nel caso di Linux essa è mantenuta dal campo \var{blocked}
+  della \struct{task\_struct} del processo.} cioè l'insieme dei segnali la cui
+consegna è bloccata.
 
 Abbiamo accennato in sez.~\ref{sec:proc_fork} che la maschera dei segnali
 viene ereditata dal padre alla creazione di un processo figlio, e abbiamo
@@ -2432,13 +2434,13 @@ quell'indirizzo.
     \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \const{SIG\_BLOCK}   & L'insieme dei segnali bloccati è l'unione fra
-                           quello specificato e quello corrente.\\
-    \const{SIG\_UNBLOCK} & I segnali specificati in \param{set} sono rimossi
-                           dalla maschera dei segnali, specificare la
-                           cancellazione di un segnale non bloccato è legale.\\
-    \const{SIG\_SETMASK} & La maschera dei segnali è impostata al valore
-                           specificato da \param{set}.\\
+    \constd{SIG\_BLOCK}   & L'insieme dei segnali bloccati è l'unione fra
+                            quello specificato e quello corrente.\\
+    \constd{SIG\_UNBLOCK} & I segnali specificati in \param{set} sono rimossi
+                            dalla maschera dei segnali, specificare la
+                            cancellazione di un segnale non bloccato è legale.\\
+    \constd{SIG\_SETMASK} & La maschera dei segnali è impostata al valore
+                            specificato da \param{set}.\\
     \hline
   \end{tabular}
   \caption{Valori e significato dell'argomento \param{how} della funzione
@@ -2768,10 +2770,10 @@ se usata nella forma \var{sival\_int}, o un puntatore, se usata nella forma
 vari meccanismi di notifica per restituire dati al gestore del segnale in
 \var{si\_value}. Un campo di tipo \type{sigval\_t} è presente anche nella
 struttura \struct{sigevent} (definita in fig.~\ref{fig:struct_sigevent}) che
-viene usata dai meccanismi di notifica come quelli per
-\itindex{POSIX~Timer~API} i timer POSIX (vedi sez.~\ref{sec:sig_timer_adv}),
-l'I/O asincrono (vedi sez.~\ref{sec:file_asyncronous_io}) o le code di
-messaggi POSIX (vedi sez.~\ref{sec:ipc_posix_mq}).
+viene usata dai meccanismi di notifica come quelli per i timer POSIX (vedi
+sez.~\ref{sec:sig_timer_adv}), l'I/O asincrono (vedi
+sez.~\ref{sec:file_asyncronous_io}) o le code di messaggi POSIX (vedi
+sez.~\ref{sec:ipc_posix_mq}).
 
 A causa delle loro caratteristiche, la funzione \func{kill} non è adatta ad
 inviare segnali \textit{real-time}, poiché non è in grado di fornire alcun
@@ -2819,13 +2821,13 @@ classica il segnale sarà generato, ma tutte le caratteristiche tipiche dei
 segnali \textit{real-time} (priorità e coda) saranno perse.
 
 Secondo lo standard POSIX la profondità della coda è indicata dalla costante
-\const{SIGQUEUE\_MAX}, una della tante costanti di sistema definite dallo
+\constd{SIGQUEUE\_MAX}, una della tante costanti di sistema definite dallo
 standard POSIX che non abbiamo riportato esplicitamente in
 sez.~\ref{sec:sys_limits}. Il suo valore minimo secondo lo standard,
-\const{\_POSIX\_SIGQUEUE\_MAX}, è pari a 32. Nel caso di Linux la coda ha una
+\constd{\_POSIX\_SIGQUEUE\_MAX}, è pari a 32. Nel caso di Linux la coda ha una
 dimensione variabile; fino alla versione 2.6.7 c'era un limite massimo globale
 che poteva essere impostato come parametro del kernel in
-\sysctlfile{kernel/rtsig-max} ed il valore predefinito era pari a 1024. A
+\sysctlfiled{kernel/rtsig-max} ed il valore predefinito era pari a 1024. A
 partire dal kernel 2.6.8 il valore globale è stato rimosso e sostituito dalla
 risorsa \const{RLIMIT\_SIGPENDING} associata al singolo utente, che può essere
 modificata con \func{setrlimit} come illustrato in
@@ -2928,8 +2930,6 @@ riceverlo fra due chiamate successive.
 \subsection{La gestione avanzata delle temporizzazioni}
 \label{sec:sig_timer_adv}
 
-% TODO: indicizzare i termini \itindex{POSIX~Timer~API} e HRT
-
 Sia le funzioni per la gestione dei tempi viste in
 sez.~\ref{sec:sys_cpu_times} che quelle per la gestione dei timer di
 sez.~\ref{sec:sig_alarm_abort} sono state a lungo limitate dalla risoluzione
@@ -2997,43 +2997,43 @@ tab.~\ref{tab:sig_timer_clockid_types}.
     \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \const{CLOCK\_REALTIME}     & Orologio \textit{real-time} di sistema, può
+    \constd{CLOCK\_REALTIME}    & Orologio \textit{real-time} di sistema, può
                                   essere impostato solo con privilegi
                                   amministrativi.\\ 
-    \const{CLOCK\_MONOTONIC}    & Orologio che indica un tempo monotono
+    \constd{CLOCK\_MONOTONIC}   & Orologio che indica un tempo monotono
                                   crescente (a partire da un tempo iniziale non
                                   specificato) che non può essere modificato e
                                   non cambia neanche in caso di reimpostazione
                                   dell'orologio di sistema.\\
-    \const{CLOCK\_PROCESS\_CPUTIME\_ID}& Contatore del tempo di CPU usato 
+    \constd{CLOCK\_PROCESS\_CPUTIME\_ID}& Contatore del tempo di CPU usato 
                                   da un processo (il \textit{process time} di
                                   sez.~\ref{sec:sys_cpu_times}, nel totale di
                                   \textit{system time} e \textit{user time})
                                   comprensivo di tutto il tempo di CPU usato
                                   da eventuali \textit{thread}.\\
-    \const{CLOCK\_THREAD\_CPUTIME\_ID}& Contatore del tempo di CPU
+    \constd{CLOCK\_THREAD\_CPUTIME\_ID}& Contatore del tempo di CPU
                                   (\textit{user time} e \textit{system time})
                                   usato da un singolo \textit{thread}.\\
     \hline
-    \const{CLOCK\_MONOTONIC\_RAW}&Simile al precedente, ma non subisce gli
+    \constd{CLOCK\_MONOTONIC\_RAW}&Simile al precedente, ma non subisce gli
                                   aggiustamenti dovuti all'uso di NTP (viene
                                   usato per fare riferimento ad una fonte
                                   hardware). Questo orologio è specifico di
                                   Linux, ed è disponibile a partire dal kernel
                                   2.6.28.\\
-    \const{CLOCK\_BOOTTIME}     & Identico a \const{CLOCK\_MONOTONIC} ma tiene
+    \constd{CLOCK\_BOOTTIME}    & Identico a \const{CLOCK\_MONOTONIC} ma tiene
                                   conto anche del tempo durante il quale il
                                   sistema è stato sospeso (nel caso di
                                   sospensione in RAM o \textsl{ibernazione} su
                                   disco. Questo orologio è specifico di Linux,
                                   ed è disponibile a partire dal kernel
                                   2.6.39.\\
-    \const{CLOCK\_REALTIME\_ALARM}&Identico a \const{CLOCK\_REALTIME}, ma se
+    \constd{CLOCK\_REALTIME\_ALARM}&Identico a \const{CLOCK\_REALTIME}, ma se
                                   usato per un timer il sistema sarà riattivato 
                                   anche se è in sospensione. Questo orologio è
                                   specifico di Linux, ed è disponibile a
                                   partire dal kernel 3.0.\\
-    \const{CLOCK\_BOOTTIME\_ALARM}&Identico a \const{CLOCK\_BOOTTIME}, ma se
+    \constd{CLOCK\_BOOTTIME\_ALARM}&Identico a \const{CLOCK\_BOOTTIME}, ma se
                                   usato per un timer il sistema sarà riattivato 
                                   anche se è in sospensione. Questo orologio è
                                   specifico di Linux, ed è disponibile a
@@ -3058,12 +3058,12 @@ programmi che le usano devono essere collegati con la libreria delle
 estensioni \textit{real-time} usando esplicitamente l'opzione \texttt{-lrt}.
 
 Si tenga presente inoltre che la disponibilità di queste funzionalità avanzate
-può essere controllato dalla definizione della macro \macro{\_POSIX\_TIMERS}
+può essere controllato dalla definizione della macro \macrod{\_POSIX\_TIMERS}
 ad un valore maggiore di 0, e che le ulteriori macro
-\macro{\_POSIX\_MONOTONIC\_CLOCK}, \macro{\_POSIX\_CPUTIME} e
-\macro{\_POSIX\_THREAD\_CPUTIME} indicano la presenza dei rispettivi orologi
+\macrod{\_POSIX\_MONOTONIC\_CLOCK}, \macrod{\_POSIX\_CPUTIME} e
+\macrod{\_POSIX\_THREAD\_CPUTIME} indicano la presenza dei rispettivi orologi
 di tipo \const{CLOCK\_MONOTONIC}, \const{CLOCK\_PROCESS\_CPUTIME\_ID} e
-\const{CLOCK\_PROCESS\_CPUTIME\_ID}; tutte queste macro sono definite in
+\const{CLOCK\_THREAD\_CPUTIME\_ID}; tutte queste macro sono definite in
 \headfile{unistd.h}, che pertanto deve essere incluso per poterle
 controllarle. Infine se il kernel ha il supporto per gli \textit{high
   resolution timer} un elenco degli orologi e dei timer può essere ottenuto
@@ -3332,8 +3332,8 @@ effettuata. Diventa così possibile indicare l'uso di un segnale o l'esecuzione
     \textbf{Valore} & \textbf{Significato} \\
     \hline
     \hline
-    \const{SIGEV\_NONE}    & Non viene inviata nessuna notifica.\\
-    \const{SIGEV\_SIGNAL}  & La notifica viene effettuata inviando al processo
+    \constd{SIGEV\_NONE}   & Non viene inviata nessuna notifica.\\
+    \constd{SIGEV\_SIGNAL} & La notifica viene effettuata inviando al processo
                              chiamante il segnale specificato dal campo
                              \var{sigev\_signo}; se il gestore di questo
                              segnale è stato installato con
@@ -3342,7 +3342,7 @@ effettuata. Diventa così possibile indicare l'uso di un segnale o l'esecuzione
                              \dirct{union} \texttt{sigval}, la cui definizione
                              è in fig.~\ref{fig:sig_sigval}) come valore del
                              campo \var{si\_value} di \struct{siginfo\_t}.\\
-    \const{SIGEV\_THREAD}  & La notifica viene effettuata creando un nuovo
+    \constd{SIGEV\_THREAD} & La notifica viene effettuata creando un nuovo
                              \textit{thread} che esegue la funzione di
                              notifica specificata da 
                              \var{sigev\_notify\_function} con argomento
@@ -3350,7 +3350,7 @@ effettuata. Diventa così possibile indicare l'uso di un segnale o l'esecuzione
                              \val{NULL}, il \textit{thread} viene creato con
                              gli attributi specificati da
                              \var{sigev\_notify\_attribute}.\footnotemark\\
-    \const{SIGEV\_THREAD\_ID}& Invia la notifica come segnale (con le stesse
+    \constd{SIGEV\_THREAD\_ID}& Invia la notifica come segnale (con le stesse
                              modalità di \const{SIGEV\_SIGNAL}) che però viene
                              recapitato al \textit{thread} indicato dal campo
                              \var{sigev\_notify\_thread\_id}. Questa modalità
@@ -3447,7 +3447,7 @@ con una precisione fino al nanosecondo tramite una struttura \struct{timespec}
 valore di \param{flags} è nullo, questo valore viene considerato come un
 intervallo relativo al tempo corrente, il primo allarme scatterà cioè dopo il
 numero di secondi e nanosecondi indicati da questo campo. Se invece si usa
-per \param{flags} il valore \const{TIMER\_ABSTIME}, che al momento è l'unico
+per \param{flags} il valore \constd{TIMER\_ABSTIME}, che al momento è l'unico
 valore valido per \param{flags}, allora \var{it\_value} viene considerato come
 un valore assoluto rispetto al valore usato dall'orologio a cui è associato il
 timer. 
@@ -3632,9 +3632,8 @@ per \param{flags} e si è indicato un tempo assoluto che è già passato la
 funzione ritorna immediatamente senza nessuna sospensione. In caso di
 interruzione da parte di un segnale il tempo rimanente viene restituito
 in \param{remain} soltanto se questo non è un puntatore \val{NULL} e non si è
-specificato \const{TIMER\_ABSTIME} per  \param{flags} .
+specificato \const{TIMER\_ABSTIME} per \param{flags}.
 
-% TODO manca clock_nanosleep, referenziata in sez.~\ref{sec:sig_gen_beha}
 
 \itindend{POSIX~Timer~API}
 
@@ -3690,7 +3689,7 @@ gestori, occorre però seguire una certa procedura:
 
 In genere il primo passo viene effettuato allocando un'opportuna area di
 memoria con \code{malloc}; in \headfile{signal.h} sono definite due costanti,
-\const{SIGSTKSZ} e \const{MINSIGSTKSZ}, che possono essere utilizzate per
+\constd{SIGSTKSZ} e \constd{MINSIGSTKSZ}, che possono essere utilizzate per
 allocare una quantità di spazio opportuna, in modo da evitare overflow. La
 prima delle due è la dimensione canonica per uno \textit{stack} di segnali e
 di norma è sufficiente per tutti gli usi normali.
@@ -3748,12 +3747,12 @@ Il campo \var{ss\_sp} di \struct{stack\_t} indica l'indirizzo base dello
 nuovo \textit{stack} occorre inizializzare \var{ss\_sp} e \var{ss\_size}
 rispettivamente al puntatore e alla dimensione della memoria allocata, mentre
 \var{ss\_flags} deve essere nullo.  Se invece si vuole disabilitare uno
-\textit{stack} occorre indicare \const{SS\_DISABLE} come valore di
+\textit{stack} occorre indicare \constd{SS\_DISABLE} come valore di
 \var{ss\_flags} e gli altri valori saranno ignorati.
 
 Se \param{oss} non è nullo verrà restituito dalla funzione indirizzo e
 dimensione dello \textit{stack} corrente nei relativi campi, mentre
-\var{ss\_flags} potrà assumere il valore \const{SS\_ONSTACK} se il processo è
+\var{ss\_flags} potrà assumere il valore \constd{SS\_ONSTACK} se il processo è
 in esecuzione sullo \textit{stack} alternativo (nel qual caso non è possibile
 cambiarlo) e \const{SS\_DISABLE} se questo non è abilitato.
 
index edf5801..78b2dc1 100644 (file)
@@ -2277,11 +2277,10 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni:
   viene usata come buffer per i dati, mentre il valore letto da
   \func{getsockopt} e quello riportato nei vari parametri di
   \textit{sysctl}\footnote{cioè \sysctlrelfile{net/core}{wmem\_max} e
-    \sysctlrelfile{net/core}{rmem\_max} in \texttt{/proc/sys/net/core}
-    e \sysctlrelfile{net/ipv4}{tcp\_wmem} e
-    \sysctlrelfile{net/ipv4}{tcp\_rmem} in
-    \texttt{/proc/sys/net/ipv4}, vedi sez.~\ref{sec:sock_sysctl}.} indica la
-  memoria effettivamente impiegata.  Si tenga presente inoltre che le
+    \sysctlrelfile{net/core}{rmem\_max} in \texttt{/proc/sys/net/core} e
+    \sysctlrelfile{net/ipv4}{tcp\_wmem} e \sysctlrelfile{net/ipv4}{tcp\_rmem}
+    in \texttt{/proc/sys/net/ipv4}, vedi sez.~\ref{sec:sock_sysctl}.} indica
+  la memoria effettivamente impiegata.  Si tenga presente inoltre che le
   modifiche alle dimensioni dei buffer di ricezione e trasmissione, per poter
   essere effettive, devono essere impostate prima della chiamata alle funzioni
   \func{listen} o \func{connect}.
@@ -3578,24 +3577,22 @@ seguenti:
     \itindex{Round~Trip~Time~(RTT)} \textit{Round Trip Time} cui abbiamo già
     accennato in sez.~\ref{sec:net_tcp}.} dei pacchetti sulla rete.
 
-\item[\const{SIOCSPGRP}] imposta il processo o il \itindex{process~group}
-  \textit{process group} a cui inviare i segnali \signal{SIGIO} e
-  \signal{SIGURG} quando viene completata una operazione di I/O asincrono o
-  arrivano dei dati urgenti \itindex{out-of-band} (\texttt{out-of-band}). Il
-  terzo argomento deve essere un puntatore ad una variabile di tipo
-  \type{pid\_t}; un valore positivo indica direttamente il \ids{PID} del
-  processo, mentre un valore negativo indica (col valore assoluto) il
-  \textit{process group}. Senza privilegi di amministratore o la capability
-  \const{CAP\_KILL} si può impostare solo se stessi o il proprio
-  \textit{process group}.
+\item[\const{SIOCSPGRP}] imposta il processo o il \textit{process group} a cui
+  inviare i segnali \signal{SIGIO} e \signal{SIGURG} quando viene completata
+  una operazione di I/O asincrono o arrivano dei dati urgenti
+  \itindex{out-of-band} (\texttt{out-of-band}). Il terzo argomento deve essere
+  un puntatore ad una variabile di tipo \type{pid\_t}; un valore positivo
+  indica direttamente il \ids{PID} del processo, mentre un valore negativo
+  indica (col valore assoluto) il \textit{process group}. Senza privilegi di
+  amministratore o la capability \const{CAP\_KILL} si può impostare solo se
+  stessi o il proprio \textit{process group}.
 
 \item[\const{SIOCGPGRP}] legge le impostazioni presenti sul socket
-  relativamente all'eventuale processo o \itindex{process~group}
-  \textit{process group} cui devono essere inviati i segnali \signal{SIGIO} e
-  \signal{SIGURG}. Come per \const{SIOCSPGRP} l'argomento passato deve un
-  puntatore ad una variabile di tipo \type{pid\_t}, con lo stesso significato.
-  Qualora non sia presente nessuna impostazione verrà restituito un valore
-  nullo.
+  relativamente all'eventuale processo o \textit{process group} cui devono
+  essere inviati i segnali \signal{SIGIO} e \signal{SIGURG}. Come per
+  \const{SIOCSPGRP} l'argomento passato deve un puntatore ad una variabile di
+  tipo \type{pid\_t}, con lo stesso significato.  Qualora non sia presente
+  nessuna impostazione verrà restituito un valore nullo.
 
 \item[\const{FIOASYNC}] Abilita o disabilita la modalità di I/O asincrono sul
   socket. Questo significa (vedi sez.~\ref{sec:signal_driven_io}) che verrà
@@ -4034,19 +4031,19 @@ socket.  Quelli descritti anche nella pagina di manuale, accessibile con
 \texttt{man 7 socket} sono i seguenti:
 
 \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
-\item[\sysctlrelfile{net/core}{rmem\_default}] imposta la dimensione
+\item[\sysctlrelfiled{net/core}{rmem\_default}] imposta la dimensione
   di default del buffer di ricezione (cioè per i dati in ingresso) dei socket.
-\item[\sysctlrelfile{net/core}{rmem\_max}] imposta la dimensione
+\item[\sysctlrelfiled{net/core}{rmem\_max}] imposta la dimensione
   massima che si può assegnare al buffer di ricezione dei socket attraverso
   l'uso dell'opzione \const{SO\_RCVBUF}.
-\item[\sysctlrelfile{net/core}{wmem\_default}] imposta la dimensione
+\item[\sysctlrelfiled{net/core}{wmem\_default}] imposta la dimensione
   di default del buffer di trasmissione (cioè per i dati in uscita) dei
   socket.
-\item[\sysctlrelfile{net/core}{wmem\_max}] imposta la dimensione
+\item[\sysctlrelfiled{net/core}{wmem\_max}] imposta la dimensione
   massima che si può assegnare al buffer di trasmissione dei socket attraverso
   l'uso dell'opzione \const{SO\_SNDBUF}.
-\item[\sysctlrelfile{net/core}{message\_cost},
-  \sysctlrelfile{net/core}{message\_burst}] contengono le impostazioni
+\item[\sysctlrelfiled{net/core}{message\_cost},
+  \sysctlrelfiled{net/core}{message\_burst}] contengono le impostazioni
   del \itindex{bucket~filter} \textit{bucket filter} che controlla l'emissione
   di messaggi di avviso da parte del kernel per eventi relativi a problemi
   sulla rete, imponendo un limite che consente di prevenire eventuali attacchi
@@ -4076,10 +4073,10 @@ socket.  Quelli descritti anche nella pagina di manuale, accessibile con
   emissione (verranno accettati inizialmente fino ad un massimo di
   \texttt{message\_cost/message\_burst} messaggi).
 
-\item[\sysctlrelfile{net/core}{netdev\_max\_backlog}] numero massimo
+\item[\sysctlrelfiled{net/core}{netdev\_max\_backlog}] numero massimo
   di pacchetti che possono essere contenuti nella coda di ingresso generale.
 
-\item[\sysctlrelfile{net/core}{optmem\_max}] lunghezza massima dei
+\item[\sysctlrelfiled{net/core}{optmem\_max}] lunghezza massima dei
   dati ancillari e di controllo (vedi sez.~\ref{sec:net_ancillary_data}).
 \end{basedescript}
 
@@ -4088,31 +4085,31 @@ file, la cui documentazione dovrebbe essere mantenuta nei sorgenti del kernel,
 nel file \texttt{Documentation/networking/ip-sysctl.txt}; la maggior parte di
 questi però non è documentato:
 \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
-\item[\sysctlrelfile{net/core}{dev\_weight}] blocco di lavoro (\textit{work
+\item[\sysctlrelfiled{net/core}{dev\_weight}] blocco di lavoro (\textit{work
     quantum}) dello \textit{scheduler} di processo dei pacchetti.
 
 % TODO da documentare meglio
 
-\item[\sysctlrelfile{net/core}{lo\_cong}] valore per l'occupazione
+\item[\sysctlrelfiled{net/core}{lo\_cong}] valore per l'occupazione
   della coda di ricezione sotto la quale si considera di avere una bassa
   congestione.
 
-\item[\sysctlrelfile{net/core}{mod\_cong}] valore per l'occupazione
+\item[\sysctlrelfiled{net/core}{mod\_cong}] valore per l'occupazione
   della coda di ricezione sotto la quale si considera di avere una congestione
   moderata.
 
-\item[\sysctlrelfile{net/core}{no\_cong}] valore per l'occupazione
+\item[\sysctlrelfiled{net/core}{no\_cong}] valore per l'occupazione
   della coda di ricezione sotto la quale si considera di non avere
   congestione.
 
-\item[\sysctlrelfile{net/core}{no\_cong\_thresh}] valore minimo
+\item[\sysctlrelfiled{net/core}{no\_cong\_thresh}] valore minimo
   (\textit{low water mark}) per il riavvio dei dispositivi congestionati.
 
-  % \item[\sysctlrelfile{net/core}{netdev\_fastroute}] è presente
+  % \item[\sysctlrelfiled{net/core}{netdev\_fastroute}] è presente
   %   soltanto quando si è compilato il kernel con l'apposita opzione di
   %   ottimizzazione per l'uso come router.
 
-\item[\sysctlrelfile{net/core}{somaxconn}] imposta la dimensione
+\item[\sysctlrelfiled{net/core}{somaxconn}] imposta la dimensione
   massima utilizzabile per il \textit{backlog} della funzione \func{listen}
   (vedi sez.~\ref{sec:TCP_func_listen}), e corrisponde al valore della
   costante \const{SOMAXCONN}; il suo valore di default è 128.
@@ -4134,7 +4131,7 @@ protocollo IP in quanto tale, che sono descritti anche nella relativa pagina
 di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
 \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
 
-\item[\sysctlrelfile{net/ipv4}{ip\_default\_ttl}] imposta il valore di
+\item[\sysctlrelfiled{net/ipv4}{ip\_default\_ttl}] imposta il valore di
   default per il campo TTL (vedi sez.~\ref{sec:IP_header}) di tutti i
   pacchetti uscenti, stabilendo così il numero massimo di router che i
   pacchetti possono attraversare. Il valore può essere modificato anche per il
@@ -4147,12 +4144,12 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   quanto in caso di problemi di routing si allunga inutilmente il numero di
   ritrasmissioni.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_forward}] abilita l'inoltro dei
+\item[\sysctlrelfiled{net/ipv4}{ip\_forward}] abilita l'inoltro dei
   pacchetti da una interfaccia ad un altra, e può essere impostato anche per
   la singola interfaccia. Prende un valore logico (0 disabilita, diverso da
   zero abilita), di default è disabilitato.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_dynaddr}] abilita la riscrittura
+\item[\sysctlrelfiled{net/ipv4}{ip\_dynaddr}] abilita la riscrittura
   automatica degli indirizzi associati ad un socket quando una interfaccia
   cambia indirizzo. Viene usato per le interfacce usate nei collegamenti in
   dial-up, il cui indirizzo IP viene assegnato dinamicamente dal provider, e
@@ -4161,13 +4158,13 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   diverso dai precedenti) la si abilità in modalità \textsl{prolissa}; di
   default la funzionalità è disabilitata.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_autoconfig}] specifica se
+\item[\sysctlrelfiled{net/ipv4}{ip\_autoconfig}] specifica se
   l'indirizzo IP è stato configurato automaticamente dal kernel all'avvio
   attraverso DHCP, BOOTP o RARP. Riporta un valore logico (0 falso, 1 vero)
   accessibile solo in lettura, è inutilizzato nei kernel recenti ed eliminato
   a partire dal kernel 2.6.18.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_local\_port\_range}] imposta
+\item[\sysctlrelfiled{net/ipv4}{ip\_local\_port\_range}] imposta
   l'intervallo dei valori usati per l'assegnazione delle porte effimere,
   permette cioè di modificare i valori illustrati in
   fig.~\ref{fig:TCP_port_alloc}; prende due valori interi separati da spazi,
@@ -4178,7 +4175,7 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   valore iniziale maggiore di 1024 (o meglio ancora di 4096) per evitare
   conflitti con le porte usate dai servizi noti.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_no\_pmtu\_disc}] permette di disabilitare
+\item[\sysctlrelfiled{net/ipv4}{ip\_no\_pmtu\_disc}] permette di disabilitare
   per i socket \const{SOCK\_STREAM} la ricerca automatica della \textit{Path
     MTU} (vedi sez.~\ref{sec:net_lim_dim} e
   sez.~\ref{sec:sock_ipv4_options}). Prende un valore logico, e di default è
@@ -4194,7 +4191,7 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   disabilitare globalmente il procedimento con questo parametro ha pesanti
   ripercussioni in termini di prestazioni di rete.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_always\_defrag}] fa si che tutti i
+\item[\sysctlrelfiled{net/ipv4}{ip\_always\_defrag}] fa si che tutti i
   pacchetti IP frammentati siano riassemblati, anche in caso in successivo
   immediato inoltro.\footnote{introdotto con il kernel 2.2.13, nelle versioni
     precedenti questo comportamento poteva essere solo stabilito un volta per
@@ -4205,17 +4202,17 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti:
   \itindex{netfilter} \textit{netfilter}, e questo parametro non è più
   presente.
 
-\item[\sysctlrelfile{net/ipv4}{ipfrag\_high\_thresh}] indica il limite
+\item[\sysctlrelfiled{net/ipv4}{ipfrag\_high\_thresh}] indica il limite
   massimo (espresso in numero di byte) sui pacchetti IP frammentati presenti
   in coda; quando questo valore viene raggiunta la coda viene ripulita fino al
   valore \texttt{ipfrag\_low\_thresh}. Prende un valore intero.
 
-\item[\sysctlrelfile{net/ipv4}{ipfrag\_low\_thresh}] soglia bassa
+\item[\sysctlrelfiled{net/ipv4}{ipfrag\_low\_thresh}] soglia bassa
   (specificata in byte) a cui viene riportata la coda dei pacchetti IP
   frammentati quando si raggiunge il valore massimo dato da 
   \texttt{ipfrag\_high\_thresh}. Prende un valore intero.
 
-\item[\sysctlrelfile{net/ipv4}{ip\_nonlocal\_bind}] se abilitato rende
+\item[\sysctlrelfiled{net/ipv4}{ip\_nonlocal\_bind}] se abilitato rende
   possibile ad una applicazione eseguire \func{bind} anche su un indirizzo che
   non è presente su nessuna interfaccia locale. Prende un valore logico e di
   default è disabilitato.
@@ -4236,7 +4233,7 @@ caratteristiche specifiche del protocollo TCP, elencati anche nella rispettiva
 pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 \begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_abort\_on\_overflow}] indica al
+\item[\sysctlrelfiled{net/ipv4}{tcp\_abort\_on\_overflow}] indica al
   kernel di azzerare le connessioni quando il programma che le riceve è troppo
   lento ed incapace di accettarle. Prende un valore logico ed è disabilitato
   di default.  Questo consente di recuperare le connessioni se si è avuto un
@@ -4245,7 +4242,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   quando si è sicuri che non è possibile ottimizzare il server in modo che sia
   in grado di accettare connessioni più rapidamente.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_adv\_win\_scale}] indica al kernel quale
+\item[\sysctlrelfiled{net/ipv4}{tcp\_adv\_win\_scale}] indica al kernel quale
   frazione del buffer associato ad un socket\footnote{quello impostato con
     \sysctlrelfile{net/ipv4}{tcp\_rmem}.} deve essere utilizzata per la
   finestra del protocollo TCP\footnote{in sostanza il valore che costituisce
@@ -4258,7 +4255,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   negativo.  Il default è 2 che significa che al buffer dell'applicazione
   viene riservato un quarto del totale.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_app\_win}] indica la frazione della
+\item[\sysctlrelfiled{net/ipv4}{tcp\_app\_win}] indica la frazione della
   finestra TCP che viene riservata per gestire l'overhaed dovuto alla
   bufferizzazione. Prende un valore valore intero che consente di calcolare la
   dimensione in byte come il massimo fra la
@@ -4272,7 +4269,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 % \item[\texttt{tcp\_bic\_low\_window}] 
 % \item[\texttt{tcp\_bic\_fast\_convergence}] 
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_dsack}] abilita il supporto,
+\item[\sysctlrelfiled{net/ipv4}{tcp\_dsack}] abilita il supporto,
   definito nell'\href{http://www.ietf.org/rfc/rfc2884.txt}{RFC~2884}, per il
   cosiddetto \textit{Duplicate SACK}.\footnote{si indica con SACK
     (\textit{Selective Acknowledgement}) un'opzione TCP, definita
@@ -4284,7 +4281,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 % mettere riferimento nelle appendici
 
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_ecn}] abilita il meccanismo della
+\item[\sysctlrelfiled{net/ipv4}{tcp\_ecn}] abilita il meccanismo della
   \textit{Explicit Congestion Notification} (in breve ECN) nelle connessioni
   TCP. Prende valore logico che di default è disabilitato. La \textit{Explicit
     Congestion Notification} \itindex{Explicit~Congestion~Notification} è un
@@ -4305,14 +4302,14 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 % mettere riferimento nelle appendici
 
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_fack}] abilita il supporto per il
+\item[\sysctlrelfiled{net/ipv4}{tcp\_fack}] abilita il supporto per il
   \textit{TCP Forward Acknowledgement}, un algoritmo per il controllo della
   congestione del traffico. Prende un valore logico e di default è abilitato.
 
 % TODO documentare o descrivere che cos'è il TCP Forward Acknowledgement o
 % mettere riferimento nelle appendici
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_fin\_timeout}] specifica il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_fin\_timeout}] specifica il numero
   di secondi da passare in stato \texttt{FIN\_WAIT2} nell'attesa delle
   ricezione del pacchetto FIN conclusivo, passati quali il socket viene
   comunque chiuso forzatamente.  Prende un valore intero che indica i secondi
@@ -4322,26 +4319,26 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   ma è utile per fronteggiare alcuni attacchi di
   \itindex{Denial~of~Service~(DoS)} \textit{Denial of Service}.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_frto}] abilita il supporto per
+\item[\sysctlrelfiled{net/ipv4}{tcp\_frto}] abilita il supporto per
   l'algoritmo F-RTO, un algoritmo usato per la ritrasmissione dei timeout del
   protocollo TCP, che diventa molto utile per le reti wireless dove la perdita
   di pacchetti è usualmente dovuta a delle interferenze radio, piuttosto che
   alla congestione dei router. Prende un valore logico e di default è
   disabilitato.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_keepalive\_intvl}] indica il
+\item[\sysctlrelfiled{net/ipv4}{tcp\_keepalive\_intvl}] indica il
   numero di secondi che deve trascorrere fra l'emissione di due successivi
   pacchetti di test quando è abilitata la funzionalità del \textit{keepalive}
   (vedi sez.~\ref{sec:sock_options_main}). Prende un valore intero che di
   default è 75.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_keepalive\_probes}] indica il
+\item[\sysctlrelfiled{net/ipv4}{tcp\_keepalive\_probes}] indica il
   massimo numero pacchetti di \textit{keepalive} (vedi
   sez.~\ref{sec:sock_options_main}) che devono essere inviati senza ricevere
   risposta prima che il kernel decida che la connessione è caduta e la
   termini. Prende un valore intero che di default è 9.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_keepalive\_time}] indica il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_keepalive\_time}] indica il numero
   di secondi che devono passare senza traffico sulla connessione prima che il
   kernel inizi ad inviare pacchetti di pacchetti di
   \textit{keepalive}.\footnote{ha effetto solo per i socket per cui si è
@@ -4349,7 +4346,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
     sez.~\ref{sec:sock_options_main}.}  Prende un valore intero che di default
   è 7200, pari a due ore.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_low\_latency}] indica allo stack
+\item[\sysctlrelfiled{net/ipv4}{tcp\_low\_latency}] indica allo stack
   TCP del kernel di ottimizzare il comportamento per ottenere tempi di latenza
   più bassi a scapito di valori più alti per l'utilizzo della banda. Prende un
   valore logico che di default è disabilitato in quanto un maggior utilizzo
@@ -4357,7 +4354,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   riduzione della latenza è più importante (ad esempio per i cluster di
   calcolo parallelo) nelle quali lo si può abilitare.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_max\_orphans}] indica il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_max\_orphans}] indica il numero
   massimo di socket TCP ``\textsl{orfani}'' (vale a dire non associati a
   nessun file descriptor) consentito nel sistema.\footnote{trattasi in genere
     delle connessioni relative a socket chiusi che non hanno completato il
@@ -4373,7 +4370,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
 
 % TODO verificare la spiegazione di connessione orfana.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_max\_syn\_backlog}] indica la
+\item[\sysctlrelfiled{net/ipv4}{tcp\_max\_syn\_backlog}] indica la
   lunghezza della coda delle connessioni incomplete, cioè delle connessioni
   per le quali si è ricevuto un SYN di richiesta ma non l'ACK finale del
   \itindex{three~way~handshake} \textit{three way handshake} (si riveda quanto
@@ -4390,7 +4387,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
     del kernel, in modo che sia $\mathtt{tcp\_max\_syn\_backlog} \ge
     \mathtt{16*TCP\_SYNQ\_HSIZE}$, per poi ricompilare il kernel.}
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_max\_tw\_buckets}] indica il
+\item[\sysctlrelfiled{net/ipv4}{tcp\_max\_tw\_buckets}] indica il
   numero massimo di socket in stato \texttt{TIME\_WAIT} consentito nel
   sistema. Prende un valore intero di default è impostato al doppio del valore
   del parametro \texttt{NR\_FILE}, ma che viene aggiustato automaticamente a
@@ -4399,7 +4396,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   prevenire alcuni semplici attacchi di \textit{denial of service}.
   
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_mem}] viene usato dallo stack TCP
+\item[\sysctlrelfiled{net/ipv4}{tcp\_mem}] viene usato dallo stack TCP
   per gestire le modalità con cui esso utilizzerà la memoria. Prende una
   tripletta di valori interi, che indicano un numero di pagine:
 
@@ -4419,12 +4416,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
     ogni altro valore specificato dagli altri limiti del kernel.
   \end{itemize*}
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_orphan\_retries}] indica il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_orphan\_retries}] indica il numero
   massimo di volte che si esegue un tentativo di controllo sull'altro capo di
   una connessione che è stata già chiusa dalla nostra parte. Prende un valore
   intero che di default è 8.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_reordering}] indica il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_reordering}] indica il numero
   massimo di volte che un pacchetto può essere riordinato nel flusso di dati,
   prima che lo stack TCP assuma che è andato perso e si ponga nello stato di
   \textit{slow start} (si veda sez.~\ref{sec:tcp_protocol_xxx}) viene usata
@@ -4432,7 +4429,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   ritrasmissioni provocate dal riordinamento. Prende un valore intero che di
   default che è 3, e che non è opportuno modificare.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_retrans\_collapse}] in caso di
+\item[\sysctlrelfiled{net/ipv4}{tcp\_retrans\_collapse}] in caso di
   pacchetti persi durante una connessione, per ottimizzare l'uso della banda
   il kernel cerca di eseguire la ritrasmissione inviando pacchetti della
   massima dimensione possibile; in sostanza dati che in precedenza erano stati
@@ -4440,7 +4437,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   pacchetto (o su un numero minore di pacchetti di dimensione
   maggiore). Prende un valore logico e di default è abilitato.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_retries1}] imposta il massimo
+\item[\sysctlrelfiled{net/ipv4}{tcp\_retries1}] imposta il massimo
   numero di volte che protocollo tenterà la ritrasmissione si un pacchetto su
   una connessione stabilita prima di fare ricorso ad ulteriori sforzi che
   coinvolgano anche il livello di rete. Passato questo numero di
@@ -4448,7 +4445,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   aggiornamento della rotta verso la destinazione prima di eseguire ogni
   successiva ritrasmissione. Prende un valore intero che di default è 3.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_retries2}] imposta il numero di
+\item[\sysctlrelfiled{net/ipv4}{tcp\_retries2}] imposta il numero di
   tentativi di ritrasmissione di un pacchetto inviato su una connessione già
   stabilita per il quale non si sia ricevuto una risposta di ACK (si veda
   anche quanto illustrato in sez.~\ref{sec:TCP_server_crash}). Prende un
@@ -4457,7 +4454,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   nell'\href{http://www.ietf.org/rfc/rfc1122.txt}{RFC~1122} dove è indicato un
   massimo di 100 secondi, che però è un valore considerato troppo basso.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_rfc1337}] indica al kernel di
+\item[\sysctlrelfiled{net/ipv4}{tcp\_rfc1337}] indica al kernel di
   abilitare il comportamento richiesto
   nell'\href{http://www.ietf.org/rfc/rfc1337.txt}{RFC~1337}. Prende un valore
   logico e di default è disabilitato, il che significa che alla ricezione di
@@ -4465,7 +4462,7 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   immediatamente senza attendere la conclusione del periodo di
   \texttt{TIME\_WAIT}.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_rmem}] viene usato dallo stack TCP
+\item[\sysctlrelfiled{net/ipv4}{tcp\_rmem}] viene usato dallo stack TCP
   per controllare dinamicamente le dimensioni dei propri buffer di ricezione,
   anche in rapporto alla memoria disponibile.  Prende una tripletta di valori
   interi separati da spazi che indicano delle dimensioni in byte:
@@ -4503,12 +4500,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
     dichiarata con l'opzione \const{SO\_RCVBUF}.
   \end{itemize}
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_sack}] indica al kernel di
+\item[\sysctlrelfiled{net/ipv4}{tcp\_sack}] indica al kernel di
   utilizzare il meccanismo del \textit{TCP selective acknowledgement} definito
   nell'\href{http://www.ietf.org/rfc/rfc2018.txt}{RFC~2018}. Prende un valore
   logico e di default è abilitato.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_stdurg}] indica al kernel di
+\item[\sysctlrelfiled{net/ipv4}{tcp\_stdurg}] indica al kernel di
   utilizzare l'interpretazione che viene data
   dall'\href{http://www.ietf.org/rfc/rfc1122.txt}{RFC~1122} del puntatore dei
   \textit{dati urgenti} (vedi sez.~\ref{sec:TCP_urgent_data}) in cui questo
@@ -4517,12 +4514,12 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   Prende un valore logico e di default è disabilitato, perché abilitarlo può
   dar luogo a problemi di interoperabilità.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_synack\_retries}] indica il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_synack\_retries}] indica il numero
   massimo di volte che verrà ritrasmesso il segmento SYN/ACK nella creazione di
   una connessione (vedi sez.~\ref{sec:TCP_conn_cre}). Prende un valore intero
   ed il valore di default è 5; non si deve superare il valore massimo di 255.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_syncookies}] abilita i \textit{TCP
+\item[\sysctlrelfiled{net/ipv4}{tcp\_syncookies}] abilita i \textit{TCP
     syncookies}.\footnote{per poter usare questa funzionalità è necessario
     avere abilitato l'opzione \texttt{CONFIG\_SYN\_COOKIES} nella compilazione
     del kernel.} Prende un valore logico, e di default è disabilitato. Questa
@@ -4532,18 +4529,18 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   funzionalità come le estensioni e può causare problemi per i client ed il
   reinoltro dei pacchetti.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_syn\_retries}] imposta il numero
+\item[\sysctlrelfiled{net/ipv4}{tcp\_syn\_retries}] imposta il numero
   di tentativi di ritrasmissione dei pacchetti SYN di inizio connessione del
   \itindex{three~way~handshake} \textit{three way handshake} (si ricordi
   quanto illustrato in sez.~\ref{sec:TCP_func_connect}). Prende un valore
   intero che di default è 5; non si deve superare il valore massimo di 255.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_timestamps}] abilita l'uso dei
+\item[\sysctlrelfiled{net/ipv4}{tcp\_timestamps}] abilita l'uso dei
   \textit{TCP timestamps}, come definiti
   nell'\href{http://www.ietf.org/rfc/rfc1323.txt}{RFC~1323}. Prende un valore
   logico e di default è abilitato.
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_tw\_recycle}] abilita il
+\item[\sysctlrelfiled{net/ipv4}{tcp\_tw\_recycle}] abilita il
   riutilizzo rapido dei socket in stato \texttt{TIME\_WAIT}. Prende un valore
   logico e di default è disabilitato. Non è opportuno abilitare questa opzione
   che può causare problemi con il NAT.\footnote{il \textit{Network Address
@@ -4553,11 +4550,11 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
     \textit{netfilter}, per maggiori dettagli si consulti il cap.~2 di
     \cite{FwGL}.}
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_tw\_reuse}] abilita il riutilizzo
+\item[\sysctlrelfiled{net/ipv4}{tcp\_tw\_reuse}] abilita il riutilizzo
   dello stato \texttt{TIME\_WAIT} quando questo è sicuro dal punto di vista
   del protocollo. Prende un valore logico e di default è disabilitato. 
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_window\_scaling}] un valore
+\item[\sysctlrelfiled{net/ipv4}{tcp\_window\_scaling}] un valore
   logico, attivo di default, che abilita la funzionalità del
   \itindex{TCP~window~scaling} \textit{TCP window scaling} definita
   dall'\href{http://www.ietf.org/rfc/rfc1323.txt}{RFC~1323}. Prende un valore
@@ -4570,13 +4567,13 @@ pagina di manuale (accessibile con \texttt{man 7 tcp}), sono i seguenti:
   \itindex{TCP~window~scaling} \textit{TCP window scaling} con l'altro capo
   della connessione non viene effettuata.
 
-%\item[\sysctlrelfile{net/ipv4}{tcp\_vegas\_cong\_avoid}] 
+%\item[\sysctlrelfiled{net/ipv4}{tcp\_vegas\_cong\_avoid}] 
 % TODO: controllare su internet
 
-%\item[\sysctlrelfile{net/ipv4}{tcp\_westwood}] 
+%\item[\sysctlrelfiled{net/ipv4}{tcp\_westwood}] 
 % TODO: controllare su internet
 
-\item[\sysctlrelfile{net/ipv4}{tcp\_wmem}] viene usato dallo stack TCP
+\item[\sysctlrelfiled{net/ipv4}{tcp\_wmem}] viene usato dallo stack TCP
   per controllare dinamicamente le dimensioni dei propri buffer di spedizione,
   adeguandole in rapporto alla memoria disponibile.  Prende una tripletta di
   valori interi separati da spazi che indicano delle dimensioni in byte:
index 2b464a5..ef24ac5 100644 (file)
@@ -357,7 +357,7 @@ relative spiegazioni, si può trovare nel manuale delle \acr{glibc}.
                                   Indica se il sistema supporta i
                                   \textit{saved id} (vedi
                                   sez.~\ref{sec:proc_access_id}).\\  
-      \texttt{\_SC\_VERSION}    & \const{\_POSIX\_VERSION} &
+      \texttt{\_SC\_VERSION}    & \macro{\_POSIX\_VERSION} &
                                   Indica il mese e l'anno di approvazione
                                   della revisione dello standard POSIX.1 a cui
                                   il sistema fa riferimento, nel formato
@@ -654,9 +654,9 @@ fig.~\ref{fig:sys_utsname}, solo se si è definita la macro
 Come accennato queste stesse informazioni, anche se a differenza di
 \func{sysctl} la funzione continua ad essere mantenuta, si possono ottenere
 direttamente tramite il filesystem \file{/proc}, esse infatti sono mantenute
-rispettivamente nei file \sysctlrelfile{kernel}{ostype},
-\sysctlrelfile{kernel}{hostname}, \sysctlrelfile{kernel}{osrelease},
-\sysctlrelfile{kernel}{version} e \sysctlrelfile{kernel}{domainname} che si
+rispettivamente nei file \sysctlrelfiled{kernel}{ostype},
+\sysctlrelfiled{kernel}{hostname}, \sysctlrelfiled{kernel}{osrelease},
+\sysctlrelfiled{kernel}{version} e \sysctlrelfiled{kernel}{domainname} che si
 trovano sotto la directory \file{/proc/sys/kernel/}.
 
 \index{file!filesystem~\texttt  {/proc}!definizione|)}
@@ -2019,7 +2019,7 @@ informazioni vengono salvate in formato binario, e corrispondono al contenuto
 della apposita struttura dati definita all'interno del kernel.
 
 Il funzionamento di \func{acct} viene inoltre modificato da uno specifico
-parametro di sistema, modificabile attraverso \sysctlfile{kernel/acct} (o
+parametro di sistema, modificabile attraverso \sysctlfiled{kernel/acct} (o
 tramite la corrispondente \func{sysctl}). Esso contiene tre valori interi, il
 primo indica la percentuale di spazio disco libero sopra il quale viene
 ripresa una registrazione che era stata sospesa per essere scesi sotto il
index 32075ed..9f80a46 100644 (file)
@@ -969,15 +969,14 @@ Per ovviare a questo il significato del \param{backlog} è stato cambiato a
 indicare la lunghezza della coda delle connessioni complete. La lunghezza
 della coda delle connessioni incomplete può essere ancora controllata usando
 la funzione \func{sysctl} con il parametro \const{NET\_TCP\_MAX\_SYN\_BACKLOG}
-o scrivendola direttamente in
-\sysctlfile{net/ipv4/tcp\_max\_syn\_backlog}.  Quando si attiva la
-protezione dei syncookies però (con l'opzione da compilare nel kernel e da
-attivare usando \sysctlfile{net/ipv4/tcp\_syncookies}) questo valore
-viene ignorato e non esiste più un valore massimo.  In ogni caso in Linux il
-valore di \param{backlog} viene troncato ad un massimo di \const{SOMAXCONN} se
-è superiore a detta costante (che di default vale 128).\footnote{il valore di
-  questa costante può essere controllato con un altro parametro di
-  \func{sysctl}, vedi sez.~\ref{sec:sock_ioctl_IP}.}
+o scrivendola direttamente in \sysctlfile{net/ipv4/tcp\_max\_syn\_backlog}.
+Quando si attiva la protezione dei syncookies però (con l'opzione da compilare
+nel kernel e da attivare usando \sysctlfile{net/ipv4/tcp\_syncookies}) questo
+valore viene ignorato e non esiste più un valore massimo.  In ogni caso in
+Linux il valore di \param{backlog} viene troncato ad un massimo di
+\const{SOMAXCONN} se è superiore a detta costante (che di default vale
+128).\footnote{il valore di questa costante può essere controllato con un
+  altro parametro di \func{sysctl}, vedi sez.~\ref{sec:sock_ioctl_IP}.}
 
 La scelta storica per il valore di questo parametro era di 5, e alcuni vecchi
 kernel non supportavano neanche valori superiori, ma la situazione corrente è
@@ -2617,8 +2616,7 @@ successivo, per tentare di ristabilire la connessione.
 Il risultato finale qui dipende dall'implementazione dello stack TCP, e nel
 caso di Linux anche dall'impostazione di alcuni dei parametri di sistema che
 si trovano in \file{/proc/sys/net/ipv4}, che ne controllano il comportamento:
-in questo caso in particolare da
-\sysctlrelfile{net/ipv4}{tcp\_retries2} (vedi
+in questo caso in particolare da \sysctlrelfile{net/ipv4}{tcp\_retries2} (vedi
 sez.~\ref{sec:sock_ipv4_sysctl}). Questo parametro infatti specifica il numero
 di volte che deve essere ritentata la ritrasmissione di un pacchetto nel mezzo
 di una connessione prima di riportare un errore di timeout.  Il valore