From: Simone Piccardi Date: Thu, 22 May 2008 13:39:06 +0000 (+0000) Subject: Aggiunte durante l'attesa dell'installazione X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=6cce7a4767f0377e438226809925a7bdc75aeccf;p=gapil.git Aggiunte durante l'attesa dell'installazione --- diff --git a/filedir.tex b/filedir.tex index 9216ca0..25accb7 100644 --- a/filedir.tex +++ b/filedir.tex @@ -3181,7 +3181,7 @@ queste funzioni che prendiamo in esame 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. @@ -3242,7 +3242,7 @@ con la funzione \funcd{acl\_dup}, il cui prototipo 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 @@ -3274,7 +3274,7 @@ di permessi ordinari, il prototipo della funzione 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}. } @@ -3301,7 +3301,7 @@ sono: 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. @@ -3322,7 +3322,7 @@ tramite un file descriptor usando \func{acl\_get\_fd} o con un pathname usando 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 @@ -3347,6 +3347,38 @@ inoltre una ACL di tipo \const{ACL\_TYPE\_DEFAULT} potr 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}