Correzioni varie piu una nuova figura e il nuovo capitolo che credevo di
[gapil.git] / fileunix.tex
index 5734c43c02e99db3ba6261315b1da465ea94597a..e1ca3abab354aa54b93571f9ea39a96a401b3fc3 100644 (file)
@@ -166,7 +166,6 @@ system call del kernel.
 La funzione \func{open} è la funzione fondamentale per accedere ai file, ed è
 quella che crea l'associazione fra un pathname ed un file descriptor; il suo
 prototipo è:
-
 \begin{functions}
   \headdecl{sys/types.h}
   \headdecl{sys/stat.h}
@@ -265,9 +264,9 @@ comportamento.
     \textbf{Flag} & \textbf{Descrizione} \\
     \hline
     \hline % modailtà di accesso al file
-    \macro{O\_RDONLY} & apre il file in sola lettura\\
-    \macro{O\_WRONLY} & apre il file in sola scrittura\\
-    \macro{O\_RDWR} & apre il file lettura/scrittura\\
+    \macro{O\_RDONLY} & apre il file in sola lettura\\
+    \macro{O\_WRONLY} & apre il file in sola scrittura\\
+    \macro{O\_RDWR} & apre il file lettura/scrittura\\
     \hline % modalita di apertura del file
     \hline
     \macro{O\_CREAT} & se il file non esiste verrà creato, con le regole di
@@ -279,26 +278,26 @@ comportamento.
     usano per stabilire un file di lock possono incorrere in una race
     condition.  Si consiglia come alternativa di usare un file con un nome
     univoco e la funzione \func{link} per verificarne l'esistenza.} che fa
-    fallire \func{open} con \macro{EEXIST}.\\
+    fallire \func{open} con \macro{EEXIST}. \\
     \macro{O\_NONBLOCK} & apre il file in modalità non bloccante. Questo
     valore specifica anche una modalità di operazione (vedi sotto), e 
     comporta che \func{open} ritorni immediatamente (torneremo su
-    questo in \secref{sec:file_noblocking}).  \\
+    questo in \secref{sec:file_noblocking}). \\
     \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_xxx}). \\
     \macro{O\_SHLOCK} & opzione di BSD, acquisisce uno shared lock (vedi
-    \secref{sec:file_locking}) sul file. Non è disponibile in Linux.\\
+    \secref{sec:file_locking}) sul file. Non è disponibile in Linux. \\
     \macro{O\_EXLOCK} & opzione di BSD, acquisisce uno lock esclusivo (vedi
-    \secref{sec:file_locking}) sul file. Non è disponibile in Linux.\\
+    \secref{sec:file_locking}) sul file. Non è disponibile in Linux. \\
     \macro{O\_TRUNC} & se il file esiste ed è un file di dati e la modalità di
     apertura consente la scrittura, allora la sua lunghezza verrà troncata a
     zero. Se il file è un terminale o una fifo il flag verrà ignorato, negli
-    altri casi il comportamento non è specificato.\\
+    altri casi il comportamento non è specificato. \\
     \macro{O\_NOFOLLOW} & se \var{pathname} è un link simbolico la chiamata
     fallisce. Questa è una estensione BSD aggiunta in Linux dal kernel 2.1.126.
     Nelle versioni precedenti i link simbolici sono sempre seguiti, e questa
-    opzione è ignorata.\\
+    opzione è ignorata. \\
     \macro{O\_DIRECTORY} & se \var{pathname} non è una directory la chiamata
     fallisce. Questo flag è specifico di Linux ed è stato introdotto con il
     kernel 2.1.126 per evitare dei DoS\footnote{Denial of Service, si chiamano
@@ -309,7 +308,7 @@ comportamento.
     dell'implementazione di \func{opendir}. \\
     \macro{O\_LARGEFILE} & nel caso di sistemi a 32 bit che supportano file di
     grandi dimensioni consente di aprire file le cui dimensioni non possono
-    essere rappresentate da numeri a 31 bit.\\
+    essere rappresentate da numeri a 31 bit. \\
     \hline
     \hline  % modalità di operazione col file
     \macro{O\_APPEND} & il file viene aperto in append mode. Prima di ciascuna
@@ -327,13 +326,13 @@ comportamento.
     causava il ritorno da una \func{read} con un valore nullo e non con un
     errore, questo introduce una ambiguità, dato che come vedremo in
     \secref{sec:file_read} il ritorno di zero da parte di \func{read} ha il
-    significato di una end-of-file} è sinonimo di \macro{O\_NONBLOCK}\\
+    significato di una end-of-file} è sinonimo di \macro{O\_NONBLOCK}.\\
     \macro{O\_ASYNC} & apre il file per l'input/output in modalità
     asincrona. Non è supportato in Linux. \\
-    \macro{O\_FSYNC} & \\
     \macro{O\_SYNC} & apre il file per l'input/output sincrono, ogni
     \func{write} bloccherà fino al completamento della scrittura di tutti dati
-    sul sull'hardware sottostante\\
+    sul sull'hardware sottostante.\\
+    \macro{O\_FSYNC} & sinonimo di \macro{O\_SYNC}. \\
     \macro{O\_NOATIME} & blocca l'aggiornamento dei tempi dei di accesso dei
     file (vedi \secref{sec:file_file_times}). In Linux questa opzione non è
     disponibile per il singolo file ma come opzione per il filesystem in fase
@@ -349,7 +348,6 @@ Nelle prime versioni di unix i flag specificabili per \func{open} erano solo
 quelli relativi alle modalità di accesso del file.  Per questo motivo per
 creare un nuovo file c'era una system call apposita, \func{creat}, il cui
 prototipo è:
-
 \begin{prototype}{fcntl.h}
   {int creat(const char *pathname, mode\_t mode)}
   Crea un nuovo file vuoto, con i permessi specificati da \var{mode}. É del
@@ -378,10 +376,10 @@ adesso questa funzione resta solo per compatibilit
 \section{Funzioni avanzate}
 \label{sec:file_adv_func}
 
+
 \subsection{La condivisione dei files}
 \label{sec:file_sharing}
 
-
 Si noti che i flag di stato del file, quelli settati dal parametro \var{flag}
 di \func{open}, essendo tenuti nella vode sulla file table, vengono condivisi,
 ai file sono però associati anche altri flag, (tenuti invece nella struttura
@@ -403,7 +401,3 @@ usato al momento 
 \subsection{La funzione \func{ioctl}}
 \label{sec:file_ioctl}
 
-
-
-
-