il controllo dei contenuti, in particolar modo quelli posti su dispositivi
rimuovibili. In questo modo si evitano alla radice possibili situazioni in
cui un utente malizioso inserisce su uno di questi filesystem dei file di
- dispositivo con permessi ``opportunamente'' ampliati che gli consentano di
- accedere anche a risorse cui non dovrebbe.
+ dispositivo con permessi ``opportunamente'' ampliati che gli consentirebbero
+ di accedere anche a risorse cui non dovrebbe.
\item[\const{MS\_NODIRATIME}] Viene disabilitato sul filesystem
l'aggiornamento degli \textit{access time} (vedi
{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{EAGAIN}] si è chiamata la funzione con \const{MNT\_EXPIRE}
+ ed il filesystem non era occupato.
\item[\errcode{EBUSY}] \param{target} è la \index{directory~di~lavoro}
directory di lavoro di qualche processo, o contiene dei file aperti, o un
altro mount point.
- \item[\errcode{EAGAIN}] si è chiamata la funzione con \const{MNT\_EXPIRE}
- ed il filesystem non era occupato.
\item[\errcode{EINVAL}] \param{target} non è un \itindex{mount~point}
\textit{mount point} o si è usato \const{MNT\_EXPIRE} con
\const{MNT\_FORCE} o \const{MNT\_DETACH} o si è specificato un flag non
parte di qualche processo (come \index{directory~di~lavoro} directory di
lavoro o come radice) o del sistema (come \itindex{mount~point}
\textit{mount point}) ed il sistema non riesce a risolvere la situazione.
+ \item[\errcode{EEXIST}] \param{newpath} è una directory già esistente e
+ non è vuota (anche \errcode{ENOTEMPTY}).
\item[\errcode{EINVAL}] \param{newpath} contiene un prefisso di
\param{oldpath} o più in generale si è cercato di creare una directory come
sotto-directory di sé stessa.
\item[\errcode{EISDIR}] \param{newpath} è una directory mentre
\param{oldpath} non è una directory.
- \item[\errcode{EEXIST}] \param{newpath} è una directory già esistente e
- non è vuota (anche \errcode{ENOTEMPTY}).
\item[\errcode{ENOTDIR}] uno dei componenti dei \textit{pathname} non è una
directory o \param{oldpath} è una directory e
\param{newpath} esiste e non è una directory.
che contiene la directory che si vuole cancellare, o non c'è il permesso
di attraversare (esecuzione) una delle directory specificate in
\param{dirname}.
- \item[\errcode{EINVAL}] si è usato ``\texttt{.}'' come ultimo componente
- di \param{dirname}.
\item[\errcode{EBUSY}] la directory specificata è la
\index{directory~di~lavoro} directory di lavoro o la radice di qualche
processo o un \itindex{mount~point} \textit{mount point}.
+ \item[\errcode{EINVAL}] si è usato ``\texttt{.}'' come ultimo componente
+ di \param{dirname}.
\item[\errcode{EPERM}] il filesystem non supporta la cancellazione di
directory, oppure la directory che contiene \param{dirname} ha lo
\itindex{sticky~bit} \textit{sticky bit} impostato e non si è i
di \param{pathname}.
\item[\errcode{ENOTDIR}] non si è specificata una directory.
\end{errlist}
- ed inoltre \errval{EFAULT}, \errval{ELOOP}, \errval{EIO},
+ ed inoltre \errval{EFAULT}, \errval{EIO}, \errval{ELOOP},
\errval{ENAMETOOLONG}, \errval{ENOENT} e \errval{ENOMEM} nel loro
significato generico.}
\end{funcproto}
errore, nel qual
caso \var{errno} assumerà uno dei valori:
\begin{errlist}
- \item[\errcode{EINVAL}] \param{template} non termina con \code{XXXXXX}.
\item[\errcode{EEXIST}] non è riuscita a creare un file temporaneo, il
contenuto di \param{template} è indefinito.
+ \item[\errcode{EINVAL}] \param{template} non termina con \code{XXXXXX}.
\end{errlist}}
\end{funcproto}
{Le funzioni ritornano un oggetto di tipo \type{acl\_t} in caso di successo e
\val{NULL} per un errore, nel qual caso \var{errno} assumerà uno dei valori:
\begin{errlist}
- \item[\errcode{ACCESS}] non c'è accesso per una componente di
+ \item[\errcode{EACCESS}] non c'è accesso per una componente di
\param{path\_p} o si è richiesta una ACL di default per un file (solo per
\func{acl\_get\_file}).
\item[\errcode{EINVAL}] \param{type} non ha un valore valido (solo per
\val{NULL} per un errore, nel qual caso \var{errno} assumerà uno
dei valori:
\begin{errlist}
- \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
\item[\errcode{EINVAL}] la rappresentazione testuale all'indirizzo
\param{buf\_p} non è valida.
+ \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
\end{errlist}
}
\end{funcproto}
testuale della ACL in caso di successo e \var{NULL} per un errore, nel qual
caso \var{errno} assumerà uno dei valori:
\begin{errlist}
- \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
\item[\errcode{EINVAL}] la ACL indicata da \param{acl} non è valida.
+ \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
\end{errlist}
}
\end{funcproto}
testuale della ACL in caso di successo e \val{NULL} per un errore, nel qual
caso \var{errno} assumerà uno dei valori:
\begin{errlist}
- \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
\item[\errcode{EINVAL}] la ACL indicata da \param{acl} non è valida.
- \end{errlist}
+ \item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
+ \end{errlist}
}
\end{funcproto}