Inizializza un'area di lavoro per una ACL di \param{count} voci.
\bodydesc{La funzione restituisce un puntatore all'area di lavoro in caso di
- successo e \const{NULL} in caso di errore nel qual caso \var{errno}
+ successo e \const{NULL} in caso di errore, nel qual caso \var{errno}
assumerà uno dei valori:
\begin{errlist}
\item[\errcode{EINVAL}] il valore di \param{count} è negativo.
Crea una copia della ACL \param{acl}.
\bodydesc{La funzione restituisce un oggetto di tipo \type{acl\_t} in caso
- di successo e \code{(acl\_t)NULL} in caso di errore nel qual caso
+ di successo e \code{(acl\_t)NULL} in caso di errore, nel qual caso
\var{errno} assumerà uno dei valori:
\begin{errlist}
\item[\errcode{EINVAL}] l'argomento \param{acl} non è un puntatore valido
Crea una ACL inizializzata con i permessi di \param{mode}.
\bodydesc{La funzione restituisce un oggetto di tipo \type{acl\_t} in caso
- di successo e \code{(acl\_t)NULL} in caso di errore nel qual caso
+ di successo e \code{(acl\_t)NULL} in caso di errore, nel qual caso
\var{errno} assumerà il valore \errval{ENOMEM}.
}
Ottiene i dati delle ACL di un file.
\bodydesc{La funzione restituisce un oggetto di tipo \type{acl\_t} in caso
- di successo e \code{(acl\_t)NULL} in caso di errore nel qual caso
+ di successo e \code{(acl\_t)NULL} in caso di errore, nel qual caso
\var{errno} assumerà uno dei valori:
\begin{errlist}
\item[\errcode{ENOMEM}] non c'è memoria sufficiente per allocare i dati.
anche la ACL relativa ad una directory, il secondo argomento \param{type}
consente di specificare se si vuole ottenere la ACL di default o quella di
accesso. Questo argomento deve essere di tipo \type{acl\_type\_t} e può
-assumere solo i due valori riportati in tab.~\ref{tab:acl_type},
+assumere solo i due valori riportati in tab.~\ref{tab:acl_type}.
\begin{table}[htb]
\centering
soltanto per una directory, e verrà restituita solo se presente, altrimenti
verrà restituita una ACL vuota.
+Infine si potrà creare una ACL direttamente dalla sua rappresentazione
+testuale con la funzione \funcd{acl\_from\_text}, il cui prototipo è:
+\begin{functions}
+ \headdecl{sys/types.h}
+ \headdecl{sys/acl.h}
+
+ \funcdecl{acl\_t acl\_from\_text(const char *buf\_p)}
+
+ Crea una ACL a partire dalla sua rappresentazione testuale.
+
+ \bodydesc{La funzione restituisce un oggetto di tipo \type{acl\_t} in caso
+ di successo e \code{(acl\_t)NULL} in caso di 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.
+ \end{errlist}
+
+}
+\end{functions}
+
+La rappresentazione testuale di una ACL è quella usata anche dai comandi
+ordinari per la gestione delle ACL (\texttt{getfacl} e \texttt{setfacl}), che
+prevede due diverse forme, estesa e breve, entrambe supportate da
+\func{acl\_from\_text}. La forma estesa prevede che sia specificata una voce
+per riga, nella forma:
+\begin{Verbatim}
+ tipo:qualificatore:permessi
+\end{Verbatim}
+dove il tipo può essere
+
\itindend{Access~Control~List}