Correzioni varie piu qualce notizia in piu` sugli standard
[gapil.git] / filedir.tex
index 19f347dddcf1bcc312bd0ba7da98f455bd8ff347..b985da195568042040b81c218dc8ef698f2cae92 100644 (file)
@@ -108,7 +108,6 @@ funzione restituisce l'errore \macro{EPERM}.
 La rimozione di un file (o più precisamente della voce che lo referenzia
 all'interno di una directory) si effettua con la funzione \func{unlink}; il
 suo prototipo è il seguente:
-
 \begin{prototype}{unistd.h}{int unlink(const char * pathname)}
   Cancella il nome specificato dal pathname nella relativa directory e
   decrementa il numero di riferimenti nel relativo inode. Nel caso di link
@@ -173,7 +172,6 @@ funzione \func{remove}. Questa 
 per cancellare un file o una directory (e funziona anche per i sistemi che non
 supportano i link diretti). Per i file è identica a \func{unlink} e per le
 directory è identica a \func{rmdir}:
-
 \begin{prototype}{stdio.h}{int remove(const char *pathname)}
   Cancella un nome dal filesystem. Usa \func{unlink} per i file e
   \func{rmdir} per le directory.
@@ -187,7 +185,6 @@ Per cambiare nome ad un file o a una directory (che devono comunque essere
 nello stesso filesystem) si usa invece la funzione \func{rename}\footnote{la
   funzione è definita dallo standard ANSI C solo per i file, POSIX estende la
   funzione anche alle directory}, il cui prototipo è:
-
 \begin{prototype}{stdio.h}
   {int rename(const char *oldpath, const char *newpath)} 
   
@@ -276,7 +273,6 @@ funzioni di libreria (come \func{open} o \func{stat}) dare come parametro un
 link simbolico comporta l'applicazione della funzione al file da esso
 specificato. La funzione che permette di creare un nuovo link simbolico è
 \func{symlink}; il suo prototipo è:
-
 \begin{prototype}{unistd.h}
   {int symlink(const char * oldpath, const char * newpath)} 
   Crea un nuovo link simbolico di nome \func{newpath} il cui contenuto è
@@ -355,7 +351,6 @@ Dato che, come indicato in \tabref{tab:file_symb_effect}, funzioni come la
 alle informazioni del link invece che a quelle del file a cui esso fa
 riferimento. Quando si vuole leggere il contenuto di un link simbolico si usa
 la funzione \func{readlink}, il cui prototipo è:
-
 \begin{prototype}{unistd.h}
 {int readlink(const char * path, char * buff, size\_t size)} 
   Legge il contenuto del link simbolico indicato da \var{path} nel buffer
@@ -436,7 +431,6 @@ Queste due funzioni servono per creare e cancellare delle directory e sono
 omonime degli analoghi comandi di shell.  Per poter accedere ai tipi usati
 da queste funzioni si deve includere il file \file{sys/types.h}, il
 prototipo della prima è:
-
 \begin{prototype}{sys/stat.h}
   {int mkdir (const char * dirname, mode\_t mode)} 
   Crea una nuova directory vuota con il nome indicato da \var{dirname},
@@ -474,7 +468,6 @@ titolarit
 La seconda funzione serve ad eliminare una directory già vuota (la directory
 deve cioè contenere soltanto le due voci standard \file{.} e \file{..}); il
 suo prototipo è:
-
 \begin{prototype}{sys/stat.h}
   {int rmdir (const char * dirname)} Cancella la directory \var{dirname}, che
   deve essere vuota.  Il nome può essere indicato con il pathname assoluto o
@@ -548,7 +541,6 @@ directory corrente di qualunque comando da essa lanciato.
 In genere il kernel tiene traccia per ciascun processo dell'inode della
 directory di lavoro corrente, per ottenere il pathname occorre usare una
 apposita funzione di libreria,  \func{getcwd}, il cui prototipo è:
-
 \begin{prototype}{unistd.h}{char * getcwd (char * buffer, size\_t size)}
   Restituisce il filename completo della directory di lavoro corrente nella
   stringa puntata da \var{buffer}, che deve essere precedentemente
@@ -600,7 +592,6 @@ nome (che deriva da \textit{change directory}), per cambiare la directory di
 lavoro corrente. Dato che anche le directory sono file, è possibile riferirsi
 ad esse anche tramite il file descriptor dell'interfaccia a basso livello, e
 non solo tramite il filename, i prototipi di queste funzioni sono:
-
 \begin{functions}
   \headdecl{unistd.h} 
   \funcdecl{int chdir (const char * path)} 
@@ -1014,7 +1005,6 @@ esiste.
 
 I tempi di ultimo accesso e modifica possono essere cambiati usando la
 funzione \func{utime}, il cui prototipo è:
-
 \begin{prototype}{utime.h}
 {int utime(const char * filename, struct utimbuf *times)} 
 
@@ -1393,7 +1383,6 @@ l'\acr{uid} dell'utente che ha lanciato il programma, che, come accennato in
 \secref{sec:file_suid_sgid} e spiegato in \secref{sec:proc_perms} non è
 detto sia uguale all'\textit{effective user id}). Per far questo si può usare
 la funzione \func{access}, il cui prototipo è:
-
 \begin{prototype}{unistd.h}
 {int access(const char *pathname, int mode)}
 
@@ -1420,7 +1409,6 @@ possa scrivere come in un file, e il fatto che un file abbia permesso di
 esecuzione non comporta che contenga un programma eseguibile. La funzione
 ritorna zero solo se tutte i permessi controllati sono disponibili, in caso
 contrario (o di errore) ritorna -1.
-
 \begin{table}[htb]
   \centering
   \footnotesize