X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=34e64d9ddc6929cf1bc41a6f9cf8ee6886493daf;hp=ecabab0f6aa07cc148f8df4c684a27d2ec2d062e;hb=ae0f5a752ec86bf15b78031f4b33664a8c0b515b;hpb=dfa5facee2cc3dd4d66f2397911526770df7cb22 diff --git a/filedir.tex b/filedir.tex index ecabab0..34e64d9 100644 --- a/filedir.tex +++ b/filedir.tex @@ -188,10 +188,10 @@ particolare preferenza rispetto agli altri. Per aggiungere un nome ad un inode si utilizza la funzione \texttt{link}; si suole chiamare questo tipo di associazione un collegamento diretto (o -\textit{hard link}). Il prototipo della funzione, definita in -\texttt{unistd.h}, e le sue caratteritiche principali, come risultano dalla -man page, sono le seguenti: -\begin{prototype}{int link(const char * oldname, const char * newname)} +\textit{hard link}). Il prototipo della funzione e le sue caratteritiche +principali, come risultano dalla man page, sono le seguenti: +\begin{prototype}{unistd.h} +{int link(const char * oldname, const char * newname)} Crea un nuovo collegamento diretto al file indicato da \texttt{oldname} dandogli nome \texttt{newname}. @@ -238,10 +238,9 @@ riparare il filesystem). La rimozione di un file (o più precisamente della voce che lo referenzia) si -effettua con la funzione \texttt{unlink}; il suo prototipo, definito in -\texttt{unistd.h} è il seguente: +effettua con la funzione \texttt{unlink}; il suo prototipo è il seguente: -\begin{prototype}{int unlink(const char * filename)} +\begin{prototype}{unistd.h}{int unlink(const char * filename)} Cancella il nome specificato dal pathname nella relativa directory e decrementa il numero di riferimenti nel relativo inode. @@ -325,7 +324,8 @@ riferimento. Le funzioni per operare sui link simbolici sono le seguenti, esse sono tutte dichiarate nell'header file \texttt{unistd.h}. -\begin{prototype}{int symlink(const char * oldname, const char * newname)} +\begin{prototype}{unistd.h} +{int symlink(const char * oldname, const char * newname)} Crea un nuovo link simbolico al file indicato da \texttt{oldname} dandogli nome \texttt{newname}. @@ -350,10 +350,11 @@ dichiarate nell'header file \texttt{unistd.h}. \label{sec:filedir_dir_creat_rem} Per creare una nuova directory si può usare la seguente funzione, omonima -dell'analogo comando di shell \texttt{mkdir}; per accedere alla funzioni il -programma deve includere il file \texttt{sys/stat.h}. +dell'analogo comando di shell \texttt{mkdir}; per accedere ai tipi usati +programma deve includere il file \texttt{sys/types.h}. -\begin{prototype}{char * mkdir (const char * dirname, mode\_t mode)} +\begin{prototype}{sys/stat.h} +{int 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 può essere indicato con il pathname assoluto o relativo. @@ -413,9 +414,9 @@ un processo figlio, la directory corrente della shell diventa anche la directory corrente di qualunque comando da essa lanciato. Le funzioni qui descritte servono esaminare e cambiare la directory di lavoro -corrente. I prototipi di queste funzioni sono dichiarati in \texttt{unistd.h}. +corrente. -\begin{prototype}{char * getcwd (char * buffer, size\_t size)} +\begin{prototype}{unistd.h}{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 @@ -459,13 +460,13 @@ riferirsi ad esse tramite il file descriptor dell'interfaccia a basso livello, e non solo tramite il filename; per questo motivo ci sono due diverse funzioni per cambiare directory di lavoro. -\begin{prototype}{int chdir (const char * pathname)} +\begin{prototype}{unistd.h}{int chdir (const char * pathname)} Come dice il nome (che significa \textit{change directory}) questa funzione serve a cambiare la directory di lavoro a quella speficata dal pathname contenuto nella stringa \texttt{pathname}. \end{prototype} -\begin{prototype}{int fchdir (int filedes)} +\begin{prototype}{unistd.h}{int fchdir (int filedes)} Analoga alla precedente, ma usa un file descriptor invece del pathname. Entrambe le funzioni restituiscono zero in caso di successo e -1 per un