Aggiunti alcuni header alla lista e quattro chiacchiere sulle alternative
[gapil.git] / fileunix.tex
index ace7bcb13cdc45c704a41cf1e3e3781fc6e97ab5..a36652d429b1a8a38295c7522b8833a220e21aef 100644 (file)
@@ -138,10 +138,11 @@ posto di questi valori numerici:
   \label{tab:file_std_files}
 \end{table}
 
-In \curfig\ si è utilizzata questa situazione come esempio, facendo
-riferimento ad un programma in cui lo \textit{standard input} è associato ad
-un file mentre lo \textit{standard output} e lo \textit{standard error} sono
-entrambi associati ad un altro file (e quindi utilizzano lo stesso inode).
+In \figref{tab:file_std_files} si è utilizzata questa situazione come esempio,
+facendo riferimento ad un programma in cui lo \textit{standard input} è
+associato ad un file mentre lo \textit{standard output} e lo \textit{standard
+  error} sono entrambi associati ad un altro file (e quindi utilizzano lo
+stesso inode).
 
 Nelle vecchie versioni di Unix (ed anche in Linux fino al kernel 2.0.x) il
 numero di file aperti era anche soggetto ad un limite massimo dato dalle
@@ -237,7 +238,7 @@ sempre il file descriptor con il valore pi
     solo per le fifo, torneremo questo in \secref{sec:ipc_named_pipe}). \\
     \macro{O\_NOCTTY} & se \var{pathname} si riferisce ad un device di
     terminale, questo non diventerà il terminale di controllo, anche se il
-    processo non ne ha ancora uno (si veda \secref{sec:sess_xxx}). \\
+    processo non ne ha ancora uno (si veda \secref{sec:sess_ctrl_term}). \\
     \macro{O\_SHLOCK} & opzione di BSD, acquisisce uno shared lock (vedi
     \secref{sec:file_locking}) sul file. Non è disponibile in Linux. \\
     \macro{O\_EXLOCK} & opzione di BSD, acquisisce uno lock esclusivo (vedi
@@ -335,7 +336,8 @@ La funzione prevede diverse opzioni, che vengono specificate usando vari bit
 dell'argomento \param{flags}.  Alcuni di questi bit vanno anche a costituire
 il flag di stato del file (o \textit{file status flag}), che è mantenuto nel
 campo \var{f\_flags} della struttura \var{file} (al solito si veda lo schema
-di \curfig).  Essi sono divisi in tre categorie principali:
+di \figref{fig:file_proc_file}).  Essi sono divisi in tre categorie
+principali:
 \begin{itemize}
 \item \textsl{i bit delle modalità di accesso}: specificano con quale modalità
   si accederà al file: i valori possibili sono lettura, scrittura o
@@ -485,11 +487,12 @@ essersi spostata, ma noi scriveremo alla posizione impostata in precedenza.
 Non tutti i file supportano la capacità di eseguire una \func{lseek}, in
 questo caso la funzione ritorna l'errore \macro{EPIPE}. Questo, oltre che per
 i tre casi citati nel prototipo, vale anche per tutti quei dispositivi che non
-supportano questa funzione, come ad esempio per le \acr{tty}.\footnote{altri
-  sistemi, usando \macro{SEEK\_SET}, in questo caso ritornano il numero di
-  caratteri che vi sono stati scritti.} Lo standard POSIX però non specifica
-niente al proposito. Infine alcuni device, ad esempio \file{/dev/null}, non
-causano un errore ma restituiscono un valore indefinito.
+supportano questa funzione, come ad esempio per i file di
+terminale.\footnote{altri sistemi, usando \macro{SEEK\_SET}, in questo caso
+  ritornano il numero di caratteri che vi sono stati scritti.} Lo standard
+POSIX però non specifica niente al proposito. Infine alcuni file speciali, ad
+esempio \file{/dev/null}, non causano un errore ma restituiscono un valore
+indefinito.
 
 
 \subsection{La funzione \func{read}}
@@ -1002,21 +1005,20 @@ valori 
   nella terza sezione di \tabref{tab:file_open_flags}.\footnote{la pagina di
     manuale riporta come impostabili solo \macro{O\_APPEND},
     \macro{O\_NONBLOCK} e \macro{O\_ASYNC}.}
-\item[\macro{F\_GETLK}] se un file lock è attivo restituisce nella struttura
-  \param{lock} la struttura \type{flock} che impedisce l'acquisizione del
-  blocco, altrimenti imposta il campo \var{l\_type} a \macro{F\_UNLCK} (per i
-  dettagli sul \textit{file locking} vedi \secref{sec:file_locking}).
-\item[\macro{F\_SETLK}] richiede il file lock specificato da \param{lock} se
-  \var{l\_type} è \macro{F\_RDLCK} o \macro{F\_WRLLCK} o lo rilascia se
-  \var{l\_type} è \macro{F\_UNLCK}. Se il lock è tenuto da qualcun'altro
-  ritorna immediatamente restituendo -1 e imposta \var{errno} a \macro{EACCES}
-  o \macro{EAGAIN} (per i dettagli sul \textit{file locking} vedi
-  \secref{sec:file_locking}).
+\item[\macro{F\_GETLK}] richiede un controllo sul file lock specificato da
+  \param{lock}, sovrascrivendo la struttura da esso puntata con il risultato
+  (questa funzionalità è trattata in dettaglio in
+  \secref{sec:file_posix_lock}).
+\item[\macro{F\_SETLK}] richiede o rilascia un file lock a seconda di quanto
+  specificato nella struttura puntata da \param{lock}. Se il lock è tenuto da
+  qualcun'altro ritorna immediatamente restituendo -1 e imposta \var{errno} a
+  \macro{EACCES} o \macro{EAGAIN} (questa funzionalità è trattata in dettaglio
+  in \secref{sec:file_posix_lock}).
 \item[\macro{F\_SETLKW}] identica a \macro{F\_SETLK} eccetto per il fatto che
   la funzione non ritorna subito ma attende che il blocco sia rilasciato. Se
   l'attesa viene interrotta da un segnale la funzione restituisce -1 e imposta
-  \var{errno} a \macro{EINTR} (per i dettagli sul \textit{file locking} vedi
-  \secref{sec:file_locking}).
+  \var{errno} a \macro{EINTR} (questa funzionalità è trattata in dettaglio in
+  \secref{sec:file_posix_lock}).
 \item[\macro{F\_GETOWN}] restituisce il \acr{pid} del processo o il process
   group che è preposto alla ricezione dei segnali \macro{SIGIO} e
   \macro{SIGURG} per gli eventi associati al file descriptor \var{fd}. Il