Reindicizzazioni e correzioni varie
[gapil.git] / system.tex
index 1b4a1b0bea65124db1980343759bbaa7bbb6b8e0..77a866afcea69c5179a3d7a709eee9190d389f8f 100644 (file)
@@ -65,20 +65,20 @@ sono fissi in un'implementazione mentre possono variare in un altra. Tutto
 questo crea una ambiguità che non è sempre possibile risolvere in maniera
 chiara; in generale quello che succede è che quando i limiti del sistema sono
 fissi essi vengono definiti come macro di preprocessore nel file
 questo crea una ambiguità che non è sempre possibile risolvere in maniera
 chiara; in generale quello che succede è che quando i limiti del sistema sono
 fissi essi vengono definiti come macro di preprocessore nel file
-\file{limits.h}, se invece possono variare, il loro valore sarà ottenibile
+\headfile{limits.h}, se invece possono variare, il loro valore sarà ottenibile
 tramite la funzione \func{sysconf} (che esamineremo in
 sez.~\ref{sec:sys_sysconf}).
 
 Lo standard ANSI C definisce dei limiti che sono tutti fissi, pertanto questo
 saranno sempre disponibili al momento della compilazione. Un elenco, ripreso
 tramite la funzione \func{sysconf} (che esamineremo in
 sez.~\ref{sec:sys_sysconf}).
 
 Lo standard ANSI C definisce dei limiti che sono tutti fissi, pertanto questo
 saranno sempre disponibili al momento della compilazione. Un elenco, ripreso
-da \file{limits.h}, è riportato in tab.~\ref{tab:sys_ansic_macro}. Come si può
-vedere per la maggior parte questi limiti attengono alle dimensioni dei dati
-interi, che sono in genere fissati dall'architettura hardware (le analoghe
-informazioni per i dati in virgola mobile sono definite a parte, ed
-accessibili includendo \file{float.h}). Lo standard prevede anche un'altra
+da \headfile{limits.h}, è riportato in tab.~\ref{tab:sys_ansic_macro}. Come si
+può vedere per la maggior parte questi limiti attengono alle dimensioni dei
+dati interi, che sono in genere fissati dall'architettura hardware (le
+analoghe informazioni per i dati in virgola mobile sono definite a parte, ed
+accessibili includendo \headfile{float.h}). Lo standard prevede anche un'altra
 costante, \const{FOPEN\_MAX}, che può non essere fissa e che pertanto non è
 costante, \const{FOPEN\_MAX}, che può non essere fissa e che pertanto non è
-definita in \file{limits.h}; essa deve essere definita in \file{stdio.h} ed
-avere un valore minimo di 8.
+definita in \headfile{limits.h}; essa deve essere definita in
+\headfile{stdio.h} ed avere un valore minimo di 8.
 
 \begin{table}[htb]
   \centering
 
 \begin{table}[htb]
   \centering
@@ -107,7 +107,7 @@ avere un valore minimo di 8.
     \const{ULONG\_MAX}& 4294967295  & Massimo di \ctyp{unsigned long}.\\
     \hline                
   \end{tabular}
     \const{ULONG\_MAX}& 4294967295  & Massimo di \ctyp{unsigned long}.\\
     \hline                
   \end{tabular}
-  \caption{Costanti definite in \file{limits.h} in conformità allo standard
+  \caption{Costanti definite in \headfile{limits.h} in conformità allo standard
     ANSI C.}
   \label{tab:sys_ansic_macro}
 \end{table}
     ANSI C.}
   \label{tab:sys_ansic_macro}
 \end{table}
@@ -136,7 +136,7 @@ tab.~\ref{tab:sys_isoc90_macro}.
                                     Massimo di \ctyp{unsigned long long}.\\
     \hline                
   \end{tabular}
                                     Massimo di \ctyp{unsigned long long}.\\
     \hline                
   \end{tabular}
-  \caption{Macro definite in \file{limits.h} in conformità allo standard
+  \caption{Macro definite in \headfile{limits.h} in conformità allo standard
     ISO C90.}
   \label{tab:sys_isoc90_macro}
 \end{table}
     ISO C90.}
   \label{tab:sys_isoc90_macro}
 \end{table}
@@ -184,13 +184,14 @@ file, riportate in tab.~\ref{tab:sys_file_macro}).
   \label{tab:sys_generic_macro}
 \end{table}
 
   \label{tab:sys_generic_macro}
 \end{table}
 
-Lo standard dice che queste macro devono essere definite in \file{limits.h}
-quando i valori a cui fanno riferimento sono fissi, e altrimenti devono essere
-lasciate indefinite, ed i loro valori dei limiti devono essere accessibili
-solo attraverso \func{sysconf}.  In realtà queste vengono sempre definite ad
-un valore generico. Si tenga presente poi che alcuni di questi limiti possono
-assumere valori molto elevati (come \const{CHILD\_MAX}), e non è pertanto il
-caso di utilizzarli per allocare staticamente della memoria.
+Lo standard dice che queste macro devono essere definite in
+\headfile{limits.h} quando i valori a cui fanno riferimento sono fissi, e
+altrimenti devono essere lasciate indefinite, ed i loro valori dei limiti
+devono essere accessibili solo attraverso \func{sysconf}.  In realtà queste
+vengono sempre definite ad un valore generico. Si tenga presente poi che
+alcuni di questi limiti possono assumere valori molto elevati (come
+\const{CHILD\_MAX}), e non è pertanto il caso di utilizzarli per allocare
+staticamente della memoria.
 
 A complicare la faccenda si aggiunge il fatto che POSIX.1 prevede una serie di
 altre costanti (il cui nome inizia sempre con \code{\_POSIX\_}) che
 
 A complicare la faccenda si aggiunge il fatto che POSIX.1 prevede una serie di
 altre costanti (il cui nome inizia sempre con \code{\_POSIX\_}) che
@@ -260,8 +261,8 @@ valori ottenuti da \func{sysconf}.
                                    199009L).\\
     \hline
   \end{tabular}
                                    199009L).\\
     \hline
   \end{tabular}
-  \caption{Alcune macro definite in \file{limits.h} in conformità allo standard
-    POSIX.1.}
+  \caption{Alcune macro definite in \headfile{limits.h} in conformità allo
+    standard POSIX.1.}
   \label{tab:sys_posix1_other}
 \end{table}
 
   \label{tab:sys_posix1_other}
 \end{table}
 
@@ -269,7 +270,7 @@ Oltre ai precedenti valori (e a quelli relativi ai file elencati in
 tab.~\ref{tab:sys_posix1_file}), che devono essere obbligatoriamente definiti,
 lo standard POSIX.1 ne prevede parecchi altri.  La lista completa si trova
 dall'header file \file{bits/posix1\_lim.h} (da non usare mai direttamente, è
 tab.~\ref{tab:sys_posix1_file}), che devono essere obbligatoriamente definiti,
 lo standard POSIX.1 ne prevede parecchi altri.  La lista completa si trova
 dall'header file \file{bits/posix1\_lim.h} (da non usare mai direttamente, è
-incluso automaticamente all'interno di \file{limits.h}). Di questi vale la
+incluso automaticamente all'interno di \headfile{limits.h}). Di questi vale la
 pena menzionare alcune macro di uso comune, (riportate in
 tab.~\ref{tab:sys_posix1_other}), che non indicano un valore specifico, ma
 denotano la presenza di alcune funzionalità nel sistema (come il supporto del
 pena menzionare alcune macro di uso comune, (riportate in
 tab.~\ref{tab:sys_posix1_other}), che non indicano un valore specifico, ma
 denotano la presenza di alcune funzionalità nel sistema (come il supporto del
@@ -452,9 +453,9 @@ le analoghe di tab.~\ref{tab:sys_posix1_general}.
   \label{tab:sys_posix1_file}
 \end{table}
 
   \label{tab:sys_posix1_file}
 \end{table}
 
-Tutti questi limiti sono definiti in \file{limits.h}; come nel caso precedente
-il loro uso è di scarsa utilità in quanto ampiamente superati in tutte le
-implementazioni moderne.
+Tutti questi limiti sono definiti in \headfile{limits.h}; come nel caso
+precedente il loro uso è di scarsa utilità in quanto ampiamente superati in
+tutte le implementazioni moderne.
 
 
 \subsection{La funzione \func{pathconf}}
 
 
 \subsection{La funzione \func{pathconf}}
@@ -503,7 +504,7 @@ il suo prototipo è:
 
 La funzione, che viene usata dal comando \cmd{uname}, restituisce le
 informazioni richieste nella struttura \param{info}; anche questa struttura è
 
 La funzione, che viene usata dal comando \cmd{uname}, restituisce le
 informazioni richieste nella struttura \param{info}; anche questa struttura è
-definita in \file{sys/utsname.h}, secondo quanto mostrato in
+definita in \headfile{sys/utsname.h}, secondo quanto mostrato in
 fig.~\ref{fig:sys_utsname}, e le informazioni memorizzate nei suoi membri
 indicano rispettivamente:
 \begin{itemize*}
 fig.~\ref{fig:sys_utsname}, e le informazioni memorizzate nei suoi membri
 indicano rispettivamente:
 \begin{itemize*}
@@ -597,9 +598,9 @@ Legge o scrive uno dei parametri di sistema.
 
 I parametri a cui la funzione permettere di accedere sono organizzati in
 maniera gerarchica all'interno di un albero;\footnote{si tenga presente che
 
 I parametri a cui la funzione permettere di accedere sono organizzati in
 maniera gerarchica all'interno di un albero;\footnote{si tenga presente che
-  includendo solo \file{unistd.h}, saranno definiti solo i parametri generici;
-  dato che ce ne sono molti specifici dell'implementazione, nel caso di Linux
-  occorrerà includere anche i file \file{linux/unistd.h} e
+  includendo solo \headfile{unistd.h}, saranno definiti solo i parametri
+  generici; dato che ce ne sono molti specifici dell'implementazione, nel caso
+  di Linux occorrerà includere anche i file \file{linux/unistd.h} e
   \file{linux/sysctl.h}.} per accedere ad uno di essi occorre specificare un
 cammino attraverso i vari nodi dell'albero, in maniera analoga a come avviene
 per la risoluzione di un \itindex{pathname} \textit{pathname} (da cui l'uso
   \file{linux/sysctl.h}.} per accedere ad uno di essi occorre specificare un
 cammino attraverso i vari nodi dell'albero, in maniera analoga a come avviene
 per la risoluzione di un \itindex{pathname} \textit{pathname} (da cui l'uso
@@ -623,8 +624,8 @@ Si può effettuare anche una lettura e scrittura simultanea, nel qual caso il
 valore letto restituito dalla funzione è quello precedente alla scrittura.
 
 I parametri accessibili attraverso questa funzione sono moltissimi, e possono
 valore letto restituito dalla funzione è quello precedente alla scrittura.
 
 I parametri accessibili attraverso questa funzione sono moltissimi, e possono
-essere trovati in \file{sysctl.h}, essi inoltre dipendono anche dallo stato
-corrente del kernel (ad esempio dai moduli che sono stati caricati nel
+essere trovati in \headfile{sysctl.h}, essi inoltre dipendono anche dallo
+stato corrente del kernel (ad esempio dai moduli che sono stati caricati nel
 sistema) e in genere i loro nomi possono variare da una versione di kernel
 all'altra; per questo è sempre il caso di evitare l'uso di \func{sysctl}
 quando esistono modalità alternative per ottenere le stesse informazioni.
 sistema) e in genere i loro nomi possono variare da una versione di kernel
 all'altra; per questo è sempre il caso di evitare l'uso di \func{sysctl}
 quando esistono modalità alternative per ottenere le stesse informazioni.
@@ -754,9 +755,9 @@ Le due funzioni forniscono le informazioni memorizzate nel registro degli
 utenti (che nelle versioni più recenti possono essere ottenute attraverso PAM)
 relative all'utente specificato attraverso il suo \ids{UID} o il nome di
 login. Entrambe le funzioni restituiscono un puntatore ad una struttura di
 utenti (che nelle versioni più recenti possono essere ottenute attraverso PAM)
 relative all'utente specificato attraverso il suo \ids{UID} o il nome di
 login. Entrambe le funzioni restituiscono un puntatore ad una struttura di
-tipo \struct{passwd} la cui definizione (anch'essa eseguita in \file{pwd.h}) è
-riportata in fig.~\ref{fig:sys_passwd_struct}, dove è pure brevemente
-illustrato il significato dei vari campi.
+tipo \struct{passwd} la cui definizione (anch'essa eseguita in
+\headfile{pwd.h}) è riportata in fig.~\ref{fig:sys_passwd_struct}, dove è pure
+brevemente illustrato il significato dei vari campi.
 
 \begin{figure}[!htb]
   \footnotesize
 
 \begin{figure}[!htb]
   \footnotesize
@@ -973,10 +974,10 @@ un nome di file sbagliato con \func{utmpname}).
 
 Nel caso non si sia utilizzata \func{utmpname} per specificare un file di
 registro alternativo, sia \func{setutent} che \func{endutent} operano usando
 
 Nel caso non si sia utilizzata \func{utmpname} per specificare un file di
 registro alternativo, sia \func{setutent} che \func{endutent} operano usando
-il default che è \file{/var/run/utmp}. Il nome di questo file, così come una
-serie di altri valori di default per i \textit{pathname} di uso più comune,
-viene mantenuto nei valori di una serie di costanti definite includendo
-\file{paths.h}, in particolare quelle che ci interessano sono:
+il default che è \sysfile{/var/run/utmp}. Il nome di questo file, così come
+una serie di altri valori di default per i \textit{pathname} di uso più
+comune, viene mantenuto nei valori di una serie di costanti definite
+includendo \headfile{paths.h}, in particolare quelle che ci interessano sono:
 \begin{basedescript}{\desclabelwidth{2.0cm}}
 \item[\const{\_PATH\_UTMP}] specifica il file che contiene il registro per gli
   utenti correntemente collegati; questo è il valore che viene usato se non si
 \begin{basedescript}{\desclabelwidth{2.0cm}}
 \item[\const{\_PATH\_UTMP}] specifica il file che contiene il registro per gli
   utenti correntemente collegati; questo è il valore che viene usato se non si
@@ -985,7 +986,7 @@ viene mantenuto nei valori di una serie di costanti definite includendo
   l'archivio storico degli utenti collegati.
 \end{basedescript}
 che nel caso di Linux hanno un valore corrispondente ai file
   l'archivio storico degli utenti collegati.
 \end{basedescript}
 che nel caso di Linux hanno un valore corrispondente ai file
-\file{/var/run/utmp} e \file{/var/log/wtmp} citati in precedenza.
+\sysfile{/var/run/utmp} e \sysfile{/var/log/wtmp} citati in precedenza.
 
 Una volta aperto il file del registro degli utenti si può eseguire una
 scansione leggendo o scrivendo una voce con le funzioni \funcd{getutent},
 
 Una volta aperto il file del registro degli utenti si può eseguire una
 scansione leggendo o scrivendo una voce con le funzioni \funcd{getutent},
@@ -1136,7 +1137,7 @@ utilizzo.
 Come abbiamo accennato in sez.~\ref{sec:proc_wait} le informazioni riguardo
 l'utilizzo delle risorse da parte di un processo è mantenuto in una struttura
 di tipo \struct{rusage}, la cui definizione (che si trova in
 Come abbiamo accennato in sez.~\ref{sec:proc_wait} le informazioni riguardo
 l'utilizzo delle risorse da parte di un processo è mantenuto in una struttura
 di tipo \struct{rusage}, la cui definizione (che si trova in
-\file{sys/resource.h}) è riportata in fig.~\ref{fig:sys_rusage_struct}.
+\headfile{sys/resource.h}) è riportata in fig.~\ref{fig:sys_rusage_struct}.
 
 \begin{figure}[!htb]
   \footnotesize
 
 \begin{figure}[!htb]
   \footnotesize
@@ -1534,12 +1535,12 @@ prototipo è:
   \bodydesc{La funzione ritorna 0 in caso di successo o $-1$ in caso di
     errore, nel qual caso \var{errno} assumerà uno dei valori:
     \begin{errlist}
   \bodydesc{La funzione ritorna 0 in caso di successo o $-1$ in caso di
     errore, nel qual caso \var{errno} assumerà uno dei valori:
     \begin{errlist}
-    \item[\errcode{EACCESS}] non si hanno i permessi per accedere a
+    \item[\errcode{EACCES}] non si hanno i permessi per accedere a
       \param{pathname}.
     \item[\errcode{EPERM}] il processo non ha privilegi sufficienti ad
       abilitare il \textit{BSD accounting}.
     \item[\errcode{ENOSYS}] il kernel non supporta il \textit{BSD accounting}.
       \param{pathname}.
     \item[\errcode{EPERM}] il processo non ha privilegi sufficienti ad
       abilitare il \textit{BSD accounting}.
     \item[\errcode{ENOSYS}] il kernel non supporta il \textit{BSD accounting}.
-    \item[\errcode{EUSER}] non sono disponibili nel kernel strutture per il
+    \item[\errcode{EUSERS}] non sono disponibili nel kernel strutture per il
       file o si è finita la memoria.
     \end{errlist}
     ed inoltre \errval{EFAULT}, \errval{EIO}, \errval{ELOOP},
       file o si è finita la memoria.
     \end{errlist}
     ed inoltre \errval{EFAULT}, \errval{EIO}, \errval{ELOOP},
@@ -1613,7 +1614,7 @@ rispettivamente chiamati \itindex{calendar~time} \textit{calendar time} e
   \type{clock\_t}, che ha quindi una risoluzione del microsecondo. Il numero
   di \itindex{clock~tick} \textit{tick} al secondo può essere ricavato anche
   attraverso \func{sysconf} (vedi sez.~\ref{sec:sys_sysconf}).  Il vecchio
   \type{clock\_t}, che ha quindi una risoluzione del microsecondo. Il numero
   di \itindex{clock~tick} \textit{tick} al secondo può essere ricavato anche
   attraverso \func{sysconf} (vedi sez.~\ref{sec:sys_sysconf}).  Il vecchio
-  simbolo \const{CLK\_TCK} definito in \file{time.h} è ormai considerato
+  simbolo \const{CLK\_TCK} definito in \headfile{time.h} è ormai considerato
   obsoleto.
 \end{basedescript}
 
   obsoleto.
 \end{basedescript}
 
@@ -1881,9 +1882,9 @@ prototipo è:
 \end{prototype}
 
 La funzione richiede una struttura di tipo \struct{timex}, la cui definizione,
 \end{prototype}
 
 La funzione richiede una struttura di tipo \struct{timex}, la cui definizione,
-così come effettuata in \file{sys/timex.h}, è riportata in
-fig.~\ref{fig:sys_timex_struct}. L'azione della funzione dipende dal valore del
-campo \var{mode}, che specifica quale parametro dell'orologio di sistema,
+così come effettuata in \headfile{sys/timex.h}, è riportata in
+fig.~\ref{fig:sys_timex_struct}. L'azione della funzione dipende dal valore
+del campo \var{mode}, che specifica quale parametro dell'orologio di sistema,
 specificato in un opportuno campo di \struct{timex}, deve essere impostato. Un
 valore nullo serve per leggere i parametri correnti; i valori diversi da zero
 devono essere specificati come OR binario delle costanti riportate in
 specificato in un opportuno campo di \struct{timex}, deve essere impostato. Un
 valore nullo serve per leggere i parametri correnti; i valori diversi da zero
 devono essere specificati come OR binario delle costanti riportate in
@@ -2080,9 +2081,9 @@ permette di tenere conto anche della differenza fra tempo universale e ora
 locale, compresa l'eventuale ora legale. Questo viene fatto attraverso le tre
 \index{variabili!globali} variabili globali mostrate in
 fig.~\ref{fig:sys_tzname}, cui si accede quando si include
 locale, compresa l'eventuale ora legale. Questo viene fatto attraverso le tre
 \index{variabili!globali} variabili globali mostrate in
 fig.~\ref{fig:sys_tzname}, cui si accede quando si include
-\file{time.h}. Queste variabili vengono impostate quando si chiama una delle
-precedenti funzioni di conversione, oppure invocando direttamente la funzione
-\funcd{tzset}, il cui prototipo è:
+\headfile{time.h}. Queste variabili vengono impostate quando si chiama una
+delle precedenti funzioni di conversione, oppure invocando direttamente la
+funzione \funcd{tzset}, il cui prototipo è:
 \begin{prototype}{sys/timex.h}
 {void tzset(void)} 
   
 \begin{prototype}{sys/timex.h}
 {void tzset(void)} 
   
@@ -2091,9 +2092,9 @@ precedenti funzioni di conversione, oppure invocando direttamente la funzione
   \bodydesc{La funzione non ritorna niente e non dà errori.}
 \end{prototype}
 
   \bodydesc{La funzione non ritorna niente e non dà errori.}
 \end{prototype}
 
-La funzione inizializza le variabili di fig.~\ref{fig:sys_tzname} a partire dal
-valore della variabile di ambiente \const{TZ}, se quest'ultima non è definita
-verrà usato il file \conffile{/etc/localtime}.
+La funzione inizializza le variabili di fig.~\ref{fig:sys_tzname} a partire
+dal valore della variabile di ambiente \envvar{TZ}, se quest'ultima non è
+definita verrà usato il file \conffile{/etc/localtime}.
 
 \begin{figure}[!htb]
   \footnotesize
 
 \begin{figure}[!htb]
   \footnotesize
@@ -2224,8 +2225,8 @@ variabile globale \var{errno},\footnote{l'uso di una variabile globale può
   \textit{thread}) ma lo standard ISO C consente anche di definire \var{errno}
   come un \textit{modifiable lvalue}, quindi si può anche usare una macro, e
   questo è infatti il modo usato da Linux per renderla locale ai singoli
   \textit{thread}) ma lo standard ISO C consente anche di definire \var{errno}
   come un \textit{modifiable lvalue}, quindi si può anche usare una macro, e
   questo è infatti il modo usato da Linux per renderla locale ai singoli
-  \itindex{thread} \textit{thread}.}  definita nell'header \file{errno.h}; la
-variabile è in genere definita come \direct{volatile} dato che può essere
+  \itindex{thread} \textit{thread}.}  definita nell'header \headfile{errno.h};
+la variabile è in genere definita come \direct{volatile} dato che può essere
 cambiata in modo asincrono da un segnale (si veda sez.~\ref{sec:sig_sigchld}
 per un esempio, ricordando quanto trattato in sez.~\ref{sec:proc_race_cond}),
 ma dato che un gestore di segnale scritto bene salva e ripristina il valore
 cambiata in modo asincrono da un segnale (si veda sez.~\ref{sec:sig_sigchld}
 per un esempio, ricordando quanto trattato in sez.~\ref{sec:proc_race_cond}),
 ma dato che un gestore di segnale scritto bene salva e ripristina il valore
@@ -2233,12 +2234,12 @@ della variabile, di questo non è necessario preoccuparsi nella programmazione
 normale.
 
 I valori che può assumere \var{errno} sono riportati in app.~\ref{cha:errors},
 normale.
 
 I valori che può assumere \var{errno} sono riportati in app.~\ref{cha:errors},
-nell'header \file{errno.h} sono anche definiti i nomi simbolici per le
+nell'header \headfile{errno.h} sono anche definiti i nomi simbolici per le
 costanti numeriche che identificano i vari errori; essi iniziano tutti per
 costanti numeriche che identificano i vari errori; essi iniziano tutti per
-\val{E} e si possono considerare come nomi riservati. In seguito faremo
-sempre riferimento a tali valori, quando descriveremo i possibili errori
-restituiti dalle funzioni. Il programma di esempio \cmd{errcode} stampa il
-codice relativo ad un valore numerico con l'opzione \cmd{-l}.
+\val{E} e si possono considerare come nomi riservati. In seguito faremo sempre
+riferimento a tali valori, quando descriveremo i possibili errori restituiti
+dalle funzioni. Il programma di esempio \cmd{errcode} stampa il codice
+relativo ad un valore numerico con l'opzione \cmd{-l}.
 
 Il valore di \var{errno} viene sempre impostato a zero all'avvio di un
 programma, gran parte delle funzioni di libreria impostano \var{errno} ad un
 
 Il valore di \var{errno} viene sempre impostato a zero all'avvio di un
 programma, gran parte delle funzioni di libreria impostano \var{errno} ad un
@@ -2277,8 +2278,8 @@ il valore \errval{EINVAL}.
 
 In generale \func{strerror} viene usata passando \var{errno} come argomento,
 ed il valore di quest'ultima non verrà modificato. La funzione inoltre tiene
 
 In generale \func{strerror} viene usata passando \var{errno} come argomento,
 ed il valore di quest'ultima non verrà modificato. La funzione inoltre tiene
-conto del valore della variabile di ambiente \val{LC\_MESSAGES} per usare le
-appropriate traduzioni dei messaggi d'errore nella localizzazione presente.
+conto del valore della variabile di ambiente \envvar{LC\_MESSAGES} per usare
+le appropriate traduzioni dei messaggi d'errore nella localizzazione presente.
 
 La funzione utilizza una stringa statica che non deve essere modificata dal
 programma; essa è utilizzabile solo fino ad una chiamata successiva a
 
 La funzione utilizza una stringa statica che non deve essere modificata dal
 programma; essa è utilizzabile solo fino ad una chiamata successiva a
@@ -2287,7 +2288,7 @@ questa stringa. In ogni caso l'uso di una stringa statica rende la funzione
 non \index{funzioni!rientranti} rientrante, per cui nel caso si usino i
 \itindex{thread} \textit{thread} le librerie forniscono\footnote{questa
   funzione è la versione prevista dalle \acr{glibc}, ed effettivamente
 non \index{funzioni!rientranti} rientrante, per cui nel caso si usino i
 \itindex{thread} \textit{thread} le librerie forniscono\footnote{questa
   funzione è la versione prevista dalle \acr{glibc}, ed effettivamente
-  definita in \file{string.h}, ne esiste una analoga nello standard SUSv3
+  definita in \headfile{string.h}, ne esiste una analoga nello standard SUSv3
   (quella riportata dalla pagina di manuale), che restituisce \code{int} al
   posto di \code{char *}, e che tronca la stringa restituita a
   \param{size}.}  una apposita versione \index{funzioni!rientranti} rientrante
   (quella riportata dalla pagina di manuale), che restituisce \code{int} al
   posto di \code{char *}, e che tronca la stringa restituita a
   \param{size}.}  una apposita versione \index{funzioni!rientranti} rientrante
@@ -2335,9 +2336,9 @@ punti e da uno spazio, il messaggio è terminato con un a capo.
 Il messaggio può essere riportato anche usando le due
 \index{variabili!globali} variabili globali:
 \includecodesnip{listati/errlist.c} 
 Il messaggio può essere riportato anche usando le due
 \index{variabili!globali} variabili globali:
 \includecodesnip{listati/errlist.c} 
-dichiarate in \file{errno.h}. La prima contiene i puntatori alle stringhe di
-errore indicizzati da \var{errno}; la seconda esprime il valore più alto per
-un codice di errore, l'utilizzo di questa stringa è sostanzialmente
+dichiarate in \headfile{errno.h}. La prima contiene i puntatori alle stringhe
+di errore indicizzati da \var{errno}; la seconda esprime il valore più alto
+per un codice di errore, l'utilizzo di questa stringa è sostanzialmente
 equivalente a quello di \func{strerror}.
 
 \begin{figure}[!htbp]
 equivalente a quello di \func{strerror}.
 
 \begin{figure}[!htbp]
@@ -2446,15 +2447,15 @@ linea non vengano ripetuti.
 % LocalWords:  SHRT short USHRT int UINT LONG long ULONG LLONG ULLONG POSIX ARG
 % LocalWords:  Stevens exec CHILD STREAM stream TZNAME timezone NGROUPS SSIZE
 % LocalWords:  ssize LISTIO JOB CONTROL job control IDS VERSION YYYYMML bits bc
 % LocalWords:  SHRT short USHRT int UINT LONG long ULONG LLONG ULLONG POSIX ARG
 % LocalWords:  Stevens exec CHILD STREAM stream TZNAME timezone NGROUPS SSIZE
 % LocalWords:  ssize LISTIO JOB CONTROL job control IDS VERSION YYYYMML bits bc
-% LocalWords:  dall'header posix lim nell'header glibc run unistd name errno SC
+% LocalWords:  dall'header posix lim nell'header glibc run unistd name errno
 % LocalWords:  NGROUP CLK TCK clock tick process PATH pathname BUF CANON path
 % LocalWords:  pathconf fpathconf descriptor fd uname sys struct utsname info
 % LocalWords:  EFAULT fig SOURCE NUL LENGTH DOMAIN NMLN UTSLEN system call proc
 % LocalWords:  domainname sysctl BSD nlen void oldval size oldlenp newval EPERM
 % LocalWords:  NGROUP CLK TCK clock tick process PATH pathname BUF CANON path
 % LocalWords:  pathconf fpathconf descriptor fd uname sys struct utsname info
 % LocalWords:  EFAULT fig SOURCE NUL LENGTH DOMAIN NMLN UTSLEN system call proc
 % LocalWords:  domainname sysctl BSD nlen void oldval size oldlenp newval EPERM
-% LocalWords:  newlen ENOTDIR EINVAL ENOMEM linux l'array oldvalue paging stack
+% LocalWords:  newlen ENOTDIR EINVAL ENOMEM linux array oldvalue paging stack
 % LocalWords:  TCP shell Documentation ostype hostname osrelease version mount
 % LocalWords:  const source filesystemtype mountflags ENODEV ENOTBLK block read
 % LocalWords:  TCP shell Documentation ostype hostname osrelease version mount
 % LocalWords:  const source filesystemtype mountflags ENODEV ENOTBLK block read
-% LocalWords:  device EBUSY only superblock point EACCES NODEV ENXIO major xC
+% LocalWords:  device EBUSY only EACCES NODEV ENXIO major
 % LocalWords:  number EMFILE dummy ENAMETOOLONG ENOENT ELOOP virtual devfs MGC
 % LocalWords:  magic MSK RDONLY NOSUID suid sgid NOEXEC SYNCHRONOUS REMOUNT MNT
 % LocalWords:  MANDLOCK mandatory locking WRITE APPEND append IMMUTABLE NOATIME
 % LocalWords:  number EMFILE dummy ENAMETOOLONG ENOENT ELOOP virtual devfs MGC
 % LocalWords:  magic MSK RDONLY NOSUID suid sgid NOEXEC SYNCHRONOUS REMOUNT MNT
 % LocalWords:  MANDLOCK mandatory locking WRITE APPEND append IMMUTABLE NOATIME
@@ -2469,17 +2470,17 @@ linea non vengano ripetuti.
 % LocalWords:  line libc XPG utmpx getutxent getutxid getutxline pututxline who
 % LocalWords:  setutxent endutxent wmtp updwtmp logwtmp wtmp host rusage utime
 % LocalWords:  minflt majflt nswap fault swap timeval wait getrusage usage SELF
 % LocalWords:  line libc XPG utmpx getutxent getutxid getutxline pututxline who
 % LocalWords:  setutxent endutxent wmtp updwtmp logwtmp wtmp host rusage utime
 % LocalWords:  minflt majflt nswap fault swap timeval wait getrusage usage SELF
-% LocalWords:  CHILDREN current limit soft RLIMIT Address brk mremap mmap dump
+% LocalWords:  CHILDREN current limit soft RLIMIT address brk mremap mmap dump
 % LocalWords:  SIGSEGV SIGXCPU SIGKILL sbrk FSIZE SIGXFSZ EFBIG LOCKS lock dup
 % LocalWords:  MEMLOCK NOFILE NPROC fork EAGAIN SIGPENDING sigqueue kill RSS tv
 % LocalWords:  resource getrlimit setrlimit rlimit rlim INFINITY capabilities
 % LocalWords:  capability CAP l'I Sun Sparc PAGESIZE getpagesize SVr SUSv get
 % LocalWords:  phys pages avphys NPROCESSORS CONF ONLN getloadavg stdlib double
 % LocalWords:  SIGSEGV SIGXCPU SIGKILL sbrk FSIZE SIGXFSZ EFBIG LOCKS lock dup
 % LocalWords:  MEMLOCK NOFILE NPROC fork EAGAIN SIGPENDING sigqueue kill RSS tv
 % LocalWords:  resource getrlimit setrlimit rlimit rlim INFINITY capabilities
 % LocalWords:  capability CAP l'I Sun Sparc PAGESIZE getpagesize SVr SUSv get
 % LocalWords:  phys pages avphys NPROCESSORS CONF ONLN getloadavg stdlib double
-% LocalWords:  loadavg nelem scheduler CONFIG ACCT acct filename EACCESS EUSER
+% LocalWords:  loadavg nelem scheduler CONFIG ACCT acct filename EUSER
 % LocalWords:  ENFILE EROFS PACCT AcctCtrl cap calendar UTC Jan the Epoch GMT
 % LocalWords:  Greenwich Mean l'UTC timer CLOCKS SEC cron wall elapsed times tz
 % LocalWords:  ENFILE EROFS PACCT AcctCtrl cap calendar UTC Jan the Epoch GMT
 % LocalWords:  Greenwich Mean l'UTC timer CLOCKS SEC cron wall elapsed times tz
-% LocalWords:  tms dell' cutime cstime waitpid gettimeofday settimeofday timex
-% LocalWords:  timespec adjtime olddelta adjtimex David Mills nell' RFC NTP ntp
+% LocalWords:  tms cutime cstime waitpid gettimeofday settimeofday timex
+% LocalWords:  timespec adjtime olddelta adjtimex David Mills RFC NTP ntp
 % LocalWords:  nell'RFC ADJ FREQUENCY frequency MAXERROR maxerror ESTERROR PLL
 % LocalWords:  esterror TIMECONST constant SINGLESHOT MOD INS insert leap OOP
 % LocalWords:  second delete progress has occurred BAD broken tm gmtoff asctime
 % LocalWords:  nell'RFC ADJ FREQUENCY frequency MAXERROR maxerror ESTERROR PLL
 % LocalWords:  esterror TIMECONST constant SINGLESHOT MOD INS insert leap OOP
 % LocalWords:  second delete progress has occurred BAD broken tm gmtoff asctime