Reindicizzazioni e correzioni varie
[gapil.git] / fileadv.tex
index ade65bcbb9ded2a06945e7553e8111aca86b54e1..b35d14c1e4a5be77613082b59797b32fe8793ee4 100644 (file)
@@ -226,13 +226,13 @@ agisce sempre su di un file; perciò le informazioni relative agli eventuali
 inode\itindex{inode},\footnote{in particolare, come accennato in
   fig.~\ref{fig:file_flock_struct}, i \textit{file lock} sono mantenuti in una
   \itindex{linked~list} \textit{linked list} di strutture
 inode\itindex{inode},\footnote{in particolare, come accennato in
   fig.~\ref{fig:file_flock_struct}, i \textit{file lock} sono mantenuti in una
   \itindex{linked~list} \textit{linked list} di strutture
-  \struct{file\_lock}. La lista è referenziata dall'indirizzo di partenza
-  mantenuto dal campo \var{i\_flock} della struttura \struct{inode} (per le
-  definizioni esatte si faccia riferimento al file \file{fs.h} nei sorgenti
-  del kernel).  Un bit del campo \var{fl\_flags} di specifica se si tratta di
-  un lock in semantica BSD (\const{FL\_FLOCK}) o POSIX (\const{FL\_POSIX}).}
-dato che questo è l'unico riferimento in comune che possono avere due processi
-diversi che aprono lo stesso file.
+  \kstruct{file\_lock}. La lista è referenziata dall'indirizzo di partenza
+  mantenuto dal campo \var{i\_flock} della struttura \kstruct{inode} (per le
+  definizioni esatte si faccia riferimento al file \file{include/linux/fs.h}
+  nei sorgenti del kernel).  Un bit del campo \var{fl\_flags} di specifica se
+  si tratta di un lock in semantica BSD (\const{FL\_FLOCK}) o POSIX
+  (\const{FL\_POSIX}).}  dato che questo è l'unico riferimento in comune che
+possono avere due processi diversi che aprono lo stesso file.
 
 \begin{figure}[!htb]
   \centering
 
 \begin{figure}[!htb]
   \centering
@@ -1033,7 +1033,7 @@ al limite per il numero massimo di file aperti\footnote{ad esempio in Linux,
 quando, come nelle versioni più recenti del kernel, questo limite è stato
 rimosso, esso indica le dimensioni massime dei numeri usati nei \textit{file
   descriptor set}.\footnote{il suo valore, secondo lo standard POSIX
 quando, come nelle versioni più recenti del kernel, questo limite è stato
 rimosso, esso indica le dimensioni massime dei numeri usati nei \textit{file
   descriptor set}.\footnote{il suo valore, secondo lo standard POSIX
-  1003.1-2001, è definito in \file{sys/select.h}, ed è pari a 1024.} 
+  1003.1-2001, è definito in \headfile{sys/select.h}, ed è pari a 1024.}
 
 Si tenga presente che i \textit{file descriptor set} devono sempre essere
 inizializzati con \macro{FD\_ZERO}; passare a \func{select} un valore non
 
 Si tenga presente che i \textit{file descriptor set} devono sempre essere
 inizializzati con \macro{FD\_ZERO}; passare a \func{select} un valore non
@@ -1127,12 +1127,12 @@ Lo standard POSIX è rimasto a lungo senza primitive per l'\textit{I/O
   multiplexing}, introdotto solo con le ultime revisioni dello standard (POSIX
 1003.1g-2000 e POSIX 1003.1-2001). La scelta è stata quella di seguire
 l'interfaccia creata da BSD, ma prevede che tutte le funzioni ad esso relative
   multiplexing}, introdotto solo con le ultime revisioni dello standard (POSIX
 1003.1g-2000 e POSIX 1003.1-2001). La scelta è stata quella di seguire
 l'interfaccia creata da BSD, ma prevede che tutte le funzioni ad esso relative
-vengano dichiarate nell'header \file{sys/select.h}, che sostituisce i
+vengano dichiarate nell'header \headfile{sys/select.h}, che sostituisce i
 precedenti, ed inoltre aggiunge a \func{select} una nuova funzione
 \funcd{pselect},\footnote{il supporto per lo standard POSIX 1003.1-2001, ed
 precedenti, ed inoltre aggiunge a \func{select} una nuova funzione
 \funcd{pselect},\footnote{il supporto per lo standard POSIX 1003.1-2001, ed
-  l'header \file{sys/select.h}, compaiono in Linux a partire dalle \acr{glibc}
-  2.1. Le \acr{libc4} e \acr{libc5} non contengono questo header, le
-  \acr{glibc} 2.0 contengono una definizione sbagliata di \func{psignal},
+  l'header \headfile{sys/select.h}, compaiono in Linux a partire dalle
+  \acr{glibc} 2.1. Le \acr{libc4} e \acr{libc5} non contengono questo header,
+  le \acr{glibc} 2.0 contengono una definizione sbagliata di \func{psignal},
   senza l'argomento \param{sigmask}, la definizione corretta è presente dalle
   \acr{glibc} 2.1-2.2.1 se si è definito \macro{\_GNU\_SOURCE} e nelle
   \acr{glibc} 2.2.2-2.2.4 se si è definito \macro{\_XOPEN\_SOURCE} con valore
   senza l'argomento \param{sigmask}, la definizione corretta è presente dalle
   \acr{glibc} 2.1-2.2.1 se si è definito \macro{\_GNU\_SOURCE} e nelle
   \acr{glibc} 2.2.2-2.2.4 se si è definito \macro{\_XOPEN\_SOURCE} con valore
@@ -1339,7 +1339,7 @@ normali e prioritari, vale a dire \const{POLLRDNORM}, \const{POLLWRNORM},
 in stile SysV (in particolare le ultime due non vengono usate su Linux), e
 sono utilizzabili soltanto qualora si sia definita la macro
 \macro{\_XOPEN\_SOURCE}.\footnote{e ci si ricordi di farlo sempre in testa al
 in stile SysV (in particolare le ultime due non vengono usate su Linux), e
 sono utilizzabili soltanto qualora si sia definita la macro
 \macro{\_XOPEN\_SOURCE}.\footnote{e ci si ricordi di farlo sempre in testa al
-  file, definirla soltanto prima di includere \file{sys/poll.h} non è
+  file, definirla soltanto prima di includere \headfile{sys/poll.h} non è
   sufficiente.}
 
 In caso di successo funzione ritorna restituendo il numero di file (un valore
   sufficiente.}
 
 In caso di successo funzione ritorna restituendo il numero di file (un valore
@@ -2164,7 +2164,7 @@ segnali.
 Una volta completata l'inizializzazione verrà eseguito indefinitamente il
 ciclo principale del programma (\texttt{\small 2--45}) che si è riportato in
 fig.~\ref{fig:fiforeporter_code_body}, fintanto che questo non riceva un
 Una volta completata l'inizializzazione verrà eseguito indefinitamente il
 ciclo principale del programma (\texttt{\small 2--45}) che si è riportato in
 fig.~\ref{fig:fiforeporter_code_body}, fintanto che questo non riceva un
-segnale di \texttt{SIGINT} (ad esempio con la pressione di \texttt{C-c}). Il
+segnale di \signal{SIGINT} (ad esempio con la pressione di \texttt{C-c}). Il
 ciclo prevede che si attenda (\texttt{\small 2--3}) la presenza di un file
 descriptor pronto in lettura con \func{epoll\_wait},\footnote{si ricordi che
   entrambi i file descriptor \var{fifofd} e \var{sigfd} sono stati posti in
 ciclo prevede che si attenda (\texttt{\small 2--3}) la presenza di un file
 descriptor pronto in lettura con \func{epoll\_wait},\footnote{si ricordi che
   entrambi i file descriptor \var{fifofd} e \var{sigfd} sono stati posti in
@@ -2189,7 +2189,7 @@ Il primo condizionale (\texttt{\small 6--24}) è relativo al caso che si sia
 ricevuto un segnale e che il file descriptor pronto corrisponda
 (\texttt{\small 6}) a \var{sigfd}. Dato che in generale si possono ricevere
 anche notifiche relativi a più di un singolo segnale, si è scelto di leggere
 ricevuto un segnale e che il file descriptor pronto corrisponda
 (\texttt{\small 6}) a \var{sigfd}. Dato che in generale si possono ricevere
 anche notifiche relativi a più di un singolo segnale, si è scelto di leggere
-una struttura \const{signalfd\_siginfo} alla volta, eseguendo la lettura
+una struttura \struct{signalfd\_siginfo} alla volta, eseguendo la lettura
 all'interno di un ciclo (\texttt{\small 8--24}) che prosegue fintanto che vi
 siano dati da leggere.
 
 all'interno di un ciclo (\texttt{\small 8--24}) che prosegue fintanto che vi
 siano dati da leggere.
 
@@ -2211,7 +2211,7 @@ struttura \const{signalfd\_siginfo} letta in \var{siginf}\footnote{per la
   definizione si è omessa dal codice di fig.~\ref{fig:fiforeporter_code_init}
   per brevità.} ed il \textit{pid} del processo da cui lo ha ricevuto; inoltre
 (\texttt{\small 21--24}) si controllerà anche se il segnale ricevuto è
   definizione si è omessa dal codice di fig.~\ref{fig:fiforeporter_code_init}
   per brevità.} ed il \textit{pid} del processo da cui lo ha ricevuto; inoltre
 (\texttt{\small 21--24}) si controllerà anche se il segnale ricevuto è
-\var{SIGINT}, che si è preso come segnale da utilizzare per la terminazione
+\signal{SIGINT}, che si è preso come segnale da utilizzare per la terminazione
 del programma, che verrà eseguita dopo aver rimosso il file della \textit{name
   fifo}.
  
 del programma, che verrà eseguita dopo aver rimosso il file della \textit{name
   fifo}.
  
@@ -2611,7 +2611,7 @@ supportano meccanismi simili). Alcune di esse sono realizzate, e solo a
 partire dalla versione 2.4 del kernel, attraverso l'uso di alcuni
 \textsl{comandi} aggiuntivi per la funzione \func{fcntl} (vedi
 sez.~\ref{sec:file_fcntl}), che divengono disponibili soltanto se si è
 partire dalla versione 2.4 del kernel, attraverso l'uso di alcuni
 \textsl{comandi} aggiuntivi per la funzione \func{fcntl} (vedi
 sez.~\ref{sec:file_fcntl}), che divengono disponibili soltanto se si è
-definita la macro \macro{\_GNU\_SOURCE} prima di includere \file{fcntl.h}.
+definita la macro \macro{\_GNU\_SOURCE} prima di includere \headfile{fcntl.h}.
 
 \itindbeg{file~lease} 
 
 
 \itindbeg{file~lease} 
 
@@ -2897,7 +2897,7 @@ osservazione l'interfaccia fornisce due funzioni, la prima di queste è
   \bodydesc{La funzione restituisce un valore positivo in caso di successo, o
     $-1$ in caso di errore, nel qual caso \var{errno} assumerà uno dei valori:
   \begin{errlist}
   \bodydesc{La funzione restituisce un valore positivo 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 ha accesso in lettura al file indicato.
+  \item[\errcode{EACCES}] non si ha accesso in lettura al file indicato.
   \item[\errcode{EINVAL}] \param{mask} non contiene eventi legali o \param{fd}
     non è un file descriptor di \textit{inotify}.
   \item[\errcode{ENOSPC}] si è raggiunto il numero massimo di voci di
   \item[\errcode{EINVAL}] \param{mask} non contiene eventi legali o \param{fd}
     non è un file descriptor di \textit{inotify}.
   \item[\errcode{ENOSPC}] si è raggiunto il numero massimo di voci di
@@ -3345,7 +3345,7 @@ Lo standard prevede che tutte le operazioni di I/O asincrono siano controllate
 attraverso l'uso di una apposita struttura \struct{aiocb} (il cui nome sta per
 \textit{asyncronous I/O control block}), che viene passata come argomento a
 tutte le funzioni dell'interfaccia. La sua definizione, come effettuata in
 attraverso l'uso di una apposita struttura \struct{aiocb} (il cui nome sta per
 \textit{asyncronous I/O control block}), che viene passata come argomento a
 tutte le funzioni dell'interfaccia. La sua definizione, come effettuata in
-\file{aio.h}, è riportata in fig.~\ref{fig:file_aiocb}. Nello steso file è
+\headfile{aio.h}, è riportata in fig.~\ref{fig:file_aiocb}. Nello steso file è
 definita la macro \macro{\_POSIX\_ASYNCHRONOUS\_IO}, che dichiara la
 disponibilità dell'interfaccia per l'I/O asincrono.
 
 definita la macro \macro{\_POSIX\_ASYNCHRONOUS\_IO}, che dichiara la
 disponibilità dell'interfaccia per l'I/O asincrono.
 
@@ -3546,7 +3546,7 @@ codice di errore, ed il suo codice di ritorno sarà -1, inoltre il meccanismo
 di notifica non verrà invocato. Se si specifica una operazione relativa ad un
 altro file descriptor il risultato è indeterminato.  In caso di successo, i
 possibili valori di ritorno per \func{aio\_cancel} (anch'essi definiti in
 di notifica non verrà invocato. Se si specifica una operazione relativa ad un
 altro file descriptor il risultato è indeterminato.  In caso di successo, i
 possibili valori di ritorno per \func{aio\_cancel} (anch'essi definiti in
-\file{aio.h}) sono tre:
+\headfile{aio.h}) sono tre:
 \begin{basedescript}{\desclabelwidth{3.0cm}}
 \item[\const{AIO\_ALLDONE}] indica che le operazioni di cui si è richiesta la
   cancellazione sono state già completate,
 \begin{basedescript}{\desclabelwidth{3.0cm}}
 \item[\const{AIO\_ALLDONE}] indica che le operazioni di cui si è richiesta la
   cancellazione sono state già completate,
@@ -4099,7 +4099,7 @@ virtuale. Questa funzione è \funcd{mprotect} ed il suo prototipo è:
     \begin{errlist}
     \item[\errcode{EINVAL}] il valore di \param{addr} non è valido o non è un
       multiplo di \const{PAGE\_SIZE}.
     \begin{errlist}
     \item[\errcode{EINVAL}] il valore di \param{addr} non è valido o non è un
       multiplo di \const{PAGE\_SIZE}.
-    \item[\errcode{EACCESS}] l'operazione non è consentita, ad esempio si è
+    \item[\errcode{EACCES}] l'operazione non è consentita, ad esempio si è
       cercato di marcare con \const{PROT\_WRITE} un segmento di memoria cui si
       ha solo accesso in lettura.
 %     \item[\errcode{ENOMEM}] non è stato possibile allocare le risorse
       cercato di marcare con \const{PROT\_WRITE} un segmento di memoria cui si
       ha solo accesso in lettura.
 %     \item[\errcode{ENOMEM}] non è stato possibile allocare le risorse
@@ -4159,7 +4159,7 @@ dimensione che si vuole ottenere. Infine l'argomento \param{flags} è una
 maschera binaria per i flag che controllano il comportamento della funzione.
 Il solo valore utilizzato è \const{MREMAP\_MAYMOVE}\footnote{per poter
   utilizzare questa costante occorre aver definito \macro{\_GNU\_SOURCE} prima
 maschera binaria per i flag che controllano il comportamento della funzione.
 Il solo valore utilizzato è \const{MREMAP\_MAYMOVE}\footnote{per poter
   utilizzare questa costante occorre aver definito \macro{\_GNU\_SOURCE} prima
-  di includere \file{sys/mman.h}.}  che consente di eseguire l'espansione
+  di includere \headfile{sys/mman.h}.}  che consente di eseguire l'espansione
 anche quando non è possibile utilizzare il precedente indirizzo. Per questo
 motivo, se si è usato questo flag, la funzione può restituire un indirizzo
 della nuova zona di memoria che non è detto coincida con \param{old\_address}.
 anche quando non è possibile utilizzare il precedente indirizzo. Per questo
 motivo, se si è usato questo flag, la funzione può restituire un indirizzo
 della nuova zona di memoria che non è detto coincida con \param{old\_address}.
@@ -4488,7 +4488,7 @@ La standardizzazione delle due funzioni all'interno della revisione
 POSIX.1-2001 prevede anche che sia possibile avere un limite al numero di
 elementi del vettore \param{vector}. Qualora questo sussista, esso deve essere
 indicato dal valore dalla costante \const{IOV\_MAX}, definita come le altre
 POSIX.1-2001 prevede anche che sia possibile avere un limite al numero di
 elementi del vettore \param{vector}. Qualora questo sussista, esso deve essere
 indicato dal valore dalla costante \const{IOV\_MAX}, definita come le altre
-costanti analoghe (vedi sez.~\ref{sec:sys_limits}) in \file{limits.h}; lo
+costanti analoghe (vedi sez.~\ref{sec:sys_limits}) in \headfile{limits.h}; lo
 stesso valore deve essere ottenibile in esecuzione tramite la funzione
 \func{sysconf} richiedendo l'argomento \const{\_SC\_IOV\_MAX} (vedi
 sez.~\ref{sec:sys_sysconf}).
 stesso valore deve essere ottenibile in esecuzione tramite la funzione
 \func{sysconf} richiedendo l'argomento \const{\_SC\_IOV\_MAX} (vedi
 sez.~\ref{sec:sys_sysconf}).
@@ -5441,7 +5441,7 @@ livello di kernel.
 % LocalWords:  ENFILE lenght segment violation SIGSEGV FIXED msync munmap copy
 % LocalWords:  DoS Denial Service EXECUTABLE NORESERVE LOCKED swapping stack fs
 % LocalWords:  GROWSDOWN ANON POPULATE prefaulting SIGBUS fifo VME fork old SFD
 % LocalWords:  ENFILE lenght segment violation SIGSEGV FIXED msync munmap copy
 % LocalWords:  DoS Denial Service EXECUTABLE NORESERVE LOCKED swapping stack fs
 % LocalWords:  GROWSDOWN ANON POPULATE prefaulting SIGBUS fifo VME fork old SFD
-% LocalWords:  exec atime ctime mtime mprotect addr EACCESS mremap address new
+% LocalWords:  exec atime ctime mtime mprotect addr mremap address new
 % LocalWords:  long MAYMOVE realloc VMA virtual Ingo Molnar remap pages pgoff
 % LocalWords:  dall' fault cache linker prelink advisory discrectionary lock fl
 % LocalWords:  flock shared exclusive operation dup inode linked NFS cmd ENOLCK
 % LocalWords:  long MAYMOVE realloc VMA virtual Ingo Molnar remap pages pgoff
 % LocalWords:  dall' fault cache linker prelink advisory discrectionary lock fl
 % LocalWords:  flock shared exclusive operation dup inode linked NFS cmd ENOLCK