Inserite nuove macro per la indicizzazione della definizione delle funzioni
[gapil.git] / filestd.tex
index 9a5ecc67aba82897b707a97061ebf525387b8c74..aed8addb240ef73ae5e144c00a302ead9f1bdfd3 100644 (file)
@@ -36,6 +36,7 @@ costituire il nucleo\footnote{queste funzioni sono state implementate la prima
 \subsection{I \textit{file stream}}
 \label{sec:file_stream}
 
+\index{file!stream|(}
 Come più volte ribadito, l'interfaccia dei file descriptor è un'interfaccia di
 basso livello, che non provvede nessuna forma di formattazione dei dati e
 nessuna forma di bufferizzazione per ottimizzare le operazioni di I/O.
@@ -45,7 +46,7 @@ dimensioni del blocco di dati (il parametro \param{buf} di \func{read} e
 \func{write}) nell'efficienza nelle operazioni di I/O con i file descriptor,
 evidenziando come le prestazioni ottimali si ottengano a partire da dimensioni
 del buffer dei dati pari a quelle dei blocchi del filesystem (il valore dato
-dal campo \var{st\_blksize} di \var{fstat}).
+dal campo \var{st\_blksize} di \struct{stat}).
 
 Se il programmatore non si cura di effettuare le operazioni in blocchi di
 dimensioni adeguate, le prestazioni sono inferiori.  La caratteristica
@@ -67,6 +68,7 @@ formattazioni), i file stream restano del tutto equivalenti ai file descriptor
 (sui quali sono basati), ed in particolare continua a valere quanto visto in
 \secref{sec:file_sharing} a proposito dell'accesso condiviso ed in
 \secref{sec:file_access_control} per il controllo di accesso.
+\index{file!stream|)}
 
 
 \subsection{Gli oggetti \ctyp{FILE}}
@@ -234,7 +236,7 @@ Le funzioni che si possono usare per aprire uno stream sono solo tre:
     \val{NULL} in caso di errore, in tal caso \var{errno} assumerà il valore
     ricevuto dalla funzione sottostante di cui è fallita l'esecuzione.
   
-    Gli errori pertanto possono essere quelli di \code{malloc} per tutte
+    Gli errori pertanto possono essere quelli di \func{malloc} per tutte
     e tre le funzioni, quelli \func{open} per \func{fopen}, quelli di
     \func{fcntl} per \func{fdopen} e quelli di \func{fopen},
     \func{fclose} e \func{fflush} per \func{freopen}.}
@@ -252,9 +254,9 @@ associato a \param{stream} e se questo 
 preventivamente chiuso.
 
 Infine \func{fdopen} viene usata per associare uno stream ad un file
-descriptor esistente ottenuto tramite una altra funzione (ad esempio con
-una \func{open}, una \func{dup}, o una \func{pipe}) e serve quando si
-vogliono usare gli stream con file come le fifo o i socket, che non
+descriptor esistente ottenuto tramite una altra funzione (ad esempio con una
+\func{open}, una \func{dup}, o una \func{pipe}) e serve quando si vogliono
+usare gli stream con file come le fifo o i socket\index{socket}, che non
 possono essere aperti con le funzioni delle librerie standard del C.
 
 \begin{table}[htb]
@@ -324,7 +326,7 @@ non viene duplicato e verr
 I nuovi file saranno creati secondo quanto visto in
 \secref{sec:file_ownership} ed avranno i permessi di accesso impostati al
 valore \code{S\_IRUSR|S\_IWUSR|S\_IRGRP|S\_IWGRP|S\_IROTH|S\_IWOTH} (pari a
-\var{0666}) modificato secondo il valore di \acr{umask} per il processo (si
+\val{0666}) modificato secondo il valore di \acr{umask} per il processo (si
 veda \secref{sec:file_umask}).
 
 In caso di file aperti in lettura e scrittura occorre ricordarsi che c'è
@@ -351,7 +353,7 @@ Uno stream viene chiuso con la funzione \func{fclose} il cui prototipo 
   Chiude lo stream \param{stream}. 
   
   \bodydesc{Restituisce 0 in caso di successo e \val{EOF} in caso di errore,
-    nel qual caso imposta \var{errno} a \const{EBADF} se il file descriptor
+    nel qual caso imposta \var{errno} a \errval{EBADF} se il file descriptor
     indicato da \param{stream} non è valido, o uno dei valori specificati
     dalla sottostante funzione che è fallita (\func{close}, \func{write} o
     \func{fflush}).}
@@ -1243,8 +1245,9 @@ all'interno di un file per effettuare operazioni di lettura o scrittura in un
 punto prestabilito; sempre che l'operazione di riposizionamento sia supportata
 dal file sottostante lo stream, quando cioè si ha a che fare con quello che
 viene detto un file ad \textsl{accesso casuale}.\footnote{dato che in un
-  sistema Unix esistono vari tipi di file, come le fifo ed i dispositivi, non
-  è scontato che questo sia sempre vero.}
+  sistema Unix esistono vari tipi di file, come le fifo ed i file di
+  dispositivo\index{file!di dispositivo}, non è scontato che questo sia sempre
+  vero.}
 
 In GNU/Linux ed in generale in ogni sistema unix-like la posizione nel file è
 espressa da un intero positivo, rappresentato dal tipo \type{off\_t}, il
@@ -1339,7 +1342,7 @@ il prototipo della funzione 
   
   \bodydesc{Restituisce il numero del file descriptor in caso di successo, e
     -1 qualora \param{stream} non sia valido, nel qual caso imposta
-    \var{errno} a \const{EBADF}.}
+    \var{errno} a \errval{EBADF}.}
 \end{prototype}
 \noindent ed in questo modo diventa possibile usare direttamente \func{fcntl}.
 
@@ -1504,7 +1507,7 @@ scelta, si pu
   Forza la scrittura di tutti i dati bufferizzati dello stream \param{stream}.
   
   \bodydesc{Restituisce zero in caso di successo, ed \val{EOF} in caso di
-    errore, impostando \var{errno} a \const{EBADF} se \param{stream} non è
+    errore, impostando \var{errno} a \errval{EBADF} se \param{stream} non è
     aperto o non è aperto in scrittura, o ad uno degli errori di
     \func{write}.}
 \end{prototype}