Altre piccole correzioni
authorSimone Piccardi <piccardi@gnulinux.it>
Thu, 26 Jan 2012 19:12:11 +0000 (19:12 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Thu, 26 Jan 2012 19:12:11 +0000 (19:12 +0000)
filedir.tex

index 29abfe256cfdc8523778d7fc8cfa90f3d6faff98..e84514dcd2933c862d9742431bea2779939df3e9 100644 (file)
@@ -5976,15 +5976,16 @@ gestione delle quote è \funcd{quotactl}, ed il suo prototipo è:
 {La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual
   caso \var{errno} assumerà uno dei valori: 
   \begin{errlist}
-  \item[\errcode{EACCES}] il file delle quote non è un file ordinario.
+  \item[\errcode{EACCES}] si è richiesto \const{Q\_QUOTAON}, ma il file delle
+    quote indicato da \param{addr} non esiste o non è un file ordinario.
   \item[\errcode{EBUSY}] si è richiesto \const{Q\_QUOTAON}, ma le quote sono
     già attive.
   \item[\errcode{EFAULT}] l'indirizzo \param{addr} non è valido.
+  \item[\errcode{EINVAL}] o \param{cmd} non è un comando valido,
+    o il dispositivo \param{dev} non esiste.
   \item[\errcode{EIO}] errore di lettura/scrittura sul file delle quote.
   \item[\errcode{EMFILE}] non si può aprire il file delle quote avendo
     superato il limite sul numero di file aperti nel sistema. 
-  \item[\errcode{EINVAL}] o \param{cmd} non è un comando valido,
-    o il dispositivo \param{dev} non esiste.
   \item[\errcode{ENODEV}] \param{dev} non corrisponde ad un
     \itindex{mount~point} \textit{mount point} attivo.
   \item[\errcode{ENOPKG}] il kernel è stato compilato senza supporto per le
@@ -5998,6 +5999,8 @@ gestione delle quote è \funcd{quotactl}, ed il suo prototipo è:
 }
 \end{funcproto}
 
+% TODO rivedere gli errori
+
 La funzione richiede che il filesystem sul quale si vuole operare sia montato
 con il supporto delle quote abilitato; esso deve essere specificato con il
 nome del file di dispositivo nell'argomento \param{dev}. Per le operazioni che
@@ -7632,27 +7635,31 @@ dalla stessa directory, che corrisponde alla radice del sistema.
 In certe situazioni però è utile poter impedire che un processo possa accedere
 a tutto il filesystem; per far questo si può cambiare la sua directory radice
 con la funzione \funcd{chroot}, il cui prototipo è:
-\begin{prototype}{unistd.h}{int chroot(const char *path)}
-  Cambia la directory radice del processo a quella specificata da
-  \param{path}.
-  
-\bodydesc{La funzione restituisce zero in caso di successo e -1 per
-    un errore, in caso di errore \var{errno} può assumere i valori:
+
+\begin{funcproto}{
+\fhead{unistd.h}
+\fdecl{int chroot(const char *path)}
+\fdesc{Cambia la directory radice del processo.} 
+}
+
+{La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual
+  caso \var{errno} assumerà uno dei valori: 
   \begin{errlist}
   \item[\errcode{EPERM}] l'\ids{UID} effettivo del processo non è zero.
   \end{errlist}
-  ed inoltre \errval{EFAULT}, \errval{ENAMETOOLONG}, \errval{ENOENT},
+  ed inoltre errval{EFAULT}, \errval{ENAMETOOLONG}, \errval{ENOENT},
   \errval{ENOMEM}, \errval{ENOTDIR}, \errval{EACCES}, \errval{ELOOP};
-  \errval{EROFS} e \errval{EIO}.}
-\end{prototype}
-\noindent in questo modo la directory radice del processo diventerà
+  \errval{EROFS} e \errval{EIO} nel loro significato generico.}
+\end{funcproto}
+
+La funzione  la directory radice del processo a quella specificata da
 \param{path} (che ovviamente deve esistere) ed ogni
-\itindsub{pathname}{assoluto}\textit{pathname} assoluto usato dalle funzioni
+\itindsub{pathname}{assoluto} \textit{pathname} assoluto usato dalle funzioni
 chiamate nel processo sarà risolto a partire da essa, rendendo impossibile
 accedere alla parte di albero sovrastante.  Si ha così quella che viene
 chiamata una \textit{chroot jail}, in quanto il processo non può più accedere
 a file al di fuori della sezione di albero in cui è stato
-\textsl{imprigionato}. 
+\textsl{imprigionato}.
 
 Solo un processo con i privilegi di amministratore può usare questa funzione,
 e la nuova radice, per quanto detto in sez.~\ref{sec:proc_fork}, sarà ereditata