- ha un valore non corretto.
- \item[\errcode{ENOSPC}] non c'è spazio disco sufficiente per contenere i
- dati aggiuntivi della ACL.
- \item[\errcode{ENOTSUP}] si è cercato di impostare una ACL su un file
- contenuto in un filesystem che non supporta le ACL.
- \end{errlist}
- ed inoltre \errval{ENAMETOOLONG}, \errval{ENOENT}, \errval{ENOTDIR},
- \errval{EPERM}, \errval{EROFS} nel loro significato generico.}
-\end{funcproto}
-
-La funzione consente di assegnare la ACL contenuta in \param{acl} al file o
-alla directory indicate dal \textit{pathname} \param{path}, mentre
-con \param{type} si indica il tipo di ACL utilizzando le costanti di
-tab.~\ref{tab:acl_type}, ma si tenga presente che le ACL di default possono
-essere solo impostate qualora \param{path} indichi una directory. Inoltre
-perché la funzione abbia successo la ACL dovrà essere valida, e contenere
-tutti le voci necessarie, unica eccezione è quella in cui si specifica una ACL
-vuota per cancellare la ACL di default associata a
-\param{path}.\footnote{questo però è una estensione della implementazione delle
- ACL di Linux, la bozza di standard POSIX.1e prevedeva l'uso della apposita
- funzione \funcd{acl\_delete\_def\_file}, che prende come unico argomento il
- \textit{pathname} della directory di cui si vuole cancellare l'ACL di
- default, per i dettagli si ricorra alla pagina di manuale.} La seconda
-funzione che consente di impostare una ACL è \funcd{acl\_set\_fd}, ed il suo
-prototipo è:
-
-\begin{funcproto}{
-\fhead{sys/types.h}
-\fhead{sys/acl.h}
-\fdecl{int acl\_set\_fd(int fd, acl\_t acl)}
-\fdesc{Imposta una ACL su un file descriptor.}
-}
-
-{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{EINVAL}] o \param{acl} non è una ACL valida, o ha più voci di
- quante se ne possono assegnare al file indicato da \param{fd}.