Bagattelle
[gapil.git] / files.tex
index c0b2ee107636a4a44dc06cf6671802b7b2054660..7a52fcbcaee2fc41cb1f641f47452c84398a164f 100644 (file)
--- a/files.tex
+++ b/files.tex
@@ -386,8 +386,8 @@ del processo che (a meno di un \textit{chroot} su cui torneremo in seguito,
 vedi \ref{sec:file_chroot}) è la stessa per tutti i processi ed equivale alla
 radice dell'albero (\ref{sec:file_gen}): in questo caso si parla di un
 pathname \textsl{assoluto}. Altrimenti la ricerca parte dalla directory
-corrente (su cui pure torneremo più avanti in \ref{sec:file_cwd}) ed il
-pathname è detto \textsl{relativo}.
+corrente (su cui pure torneremo più avanti in \ref{sec:file_dir_working}) ed
+il pathname è detto \textsl{relativo}.
 
 I componenti \texttt{.} e \texttt{..} hanno un significato speciale e vengono
 inseriti in ogni directory, il primo fa riferimento alla directory corrente e
@@ -430,12 +430,12 @@ Le funzioni qui descritte servono esaminare e cambiare la directory di lavoro
 corrente. I prototipi di queste funzioni sono dichiarati in \texttt{unistd.h}. 
 
 \begin{itemize}
-\item \texttt{char * getcwd (char * buffer, size_t size)}
+\item \texttt{char * getcwd (char * buffer, size\_t size)}
   
   Restituisce il filename completo della directory di lavoro corrente nella
   stringa puntata da \texttt{buffer}, che deve essere precedentemente
   allocata, per una dimensione massima di \texttt{size}. Si può anche
-  specificare un puntatore nullo come \texiti{buffer}, nel qual caso la
+  specificare un puntatore nullo come \textit{buffer}, nel qual caso la
   stringa sarà allocata automaticamente per una dimensione pari a
   \texttt{size} qualora questa sia diversa da zero, o della lunghezza esatta
   del pathname altrimenti. In questo caso si deve ricordare di disallocara la
@@ -459,14 +459,14 @@ corrente. I prototipi di queste funzioni sono dichiarati in \texttt{unistd.h}.
 Di questa funzione esiste una versione \texttt{char * getwd(char * buffer)}
 fatta per compatibilità all'indietro con BSD, che non consente di specificare
 la dimensione del buffer; esso deve essere allocato in precedenza ed avere una
-dimensione superiore a \texttt{PATH_MAX} (di solito 256 byters, vedi
+dimensione superiore a \texttt{PATH\_MAX} (di solito 256 byters, vedi
 \ref{sec:xxxx_limits}; il problema è che in linux non esiste una dimensione
 superiore per un pathname, per cui non è detto che il buffer sia sufficiente a
 contenere il nome del file, e questa è la ragione principale per cui questa
 funzione è deprecata.
 
-Una seconda funzione simile è \texttt{char * get_current_dir_name(void)} che è
-sostanzialmente equivalente ad una \texttt{getcwd(NULL, 0)}, con la sola
+Una seconda funzione simile è \texttt{char * get\_current\_dir\_name(void)}
+che è sostanzialmente equivalente ad una \texttt{getcwd(NULL, 0)}, con la sola
 differenza che essa ritorna il valore della variabile di ambiente
 \texttt{PWD}, che essendo costruita dalla shell può contenere anche dei
 riferimenti simbolici.
@@ -503,7 +503,7 @@ dell'analogo comando di shell \texttt{mkdir}; per accedere alla funzioni il
 programma deve includere il file \texttt{sys/stat.h}.
 
 \begin{itemize}
-\item \texttt{char * mkdir (const char * dirname, mode_t mode)}
+\item \texttt{char * mkdir (const char * dirname, mode\_t mode)}
   
   Questa funzione crea una nuova directory vuota con il nome indicato da
   \texttt{dirname}, assegnandole i permessi indicati da \texttt{mode}. Il nome
@@ -547,8 +547,11 @@ la funzione \texttt{opendir} apre uno di questi stream e la funzione
 parlavamo in \ref{sec:file_vfs}) in una opportuna struttura \texttt{struct
 dirent}.
 
+\subsection{I link simbolici e i link diretti}
+\label{sec:file_link}
 
-
+Come si è già accennato nell'introduzione in un sistema unix quello che
+caratterizza un file su disco è il suo \textit{inode}, è quindi