From: Simone Piccardi Date: Mon, 12 Sep 2011 13:19:44 +0000 (+0000) Subject: Altre piccole aggiunte X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=07e172e1a0a23e896faa1b87bea92bf4871ae01b;p=gapil.git Altre piccole aggiunte --- diff --git a/filedir.tex b/filedir.tex index c5aee4e..a48b858 100644 --- a/filedir.tex +++ b/filedir.tex @@ -5539,9 +5539,10 @@ tab.~\ref{tab:cap_value_type}. Per semplificare la gestione delle \textit{capabilities} l'interfaccia prevede che sia possibile utilizzare anche una rappresentazione testuale del contenuto -di un \textit{capability state} e fornisce le opportune funzioni di gestione; -la prima di queste, che consente di ottenere la rappresentazione testuale, è -\funcd{cap\_to\_text}, il cui prototipo è: +di un \textit{capability state} e fornisce le opportune funzioni di +gestione;\footnote{entrambe erano previste dalla bozza dello standard + POSIX.1e.} la prima di queste, che consente di ottenere la rappresentazione +testuale, è \funcd{cap\_to\_text}, il cui prototipo è: \begin{functions} \headdecl{sys/capability.h} @@ -5632,7 +5633,30 @@ contiene la rappresentazione testuale. La memoria per il \textit{capability con \func{cap\_free}. Alle due funzioni citate se ne aggiungono altre due che consentono di -convertire +convertire i valori delle costanti di tab.~\ref{tab:proc_capabilities} nelle +stringhe usate nelle rispettive rappresentazioni e viceversa. Le due funzioni, +\func{cap\_to\_name} e \func{cap\_from\_name}, sono estensioni specifiche di +Linux ed i rispettivi prototipi sono: +\begin{functions} + \headdecl{sys/capability.h} + + \funcdecl{char * cap\_to\_name(cap\_value\_t cap)} + \funcdecl{int cap\_from\_name(const char *name, cap\_value\_t *cap\_p)} + Convertono le \textit{capabilities} dalle costanti alla rappresentazione + testuale e viceversa. + + \bodydesc{La funzione \func{cap\_to\_name} ritorna un valore diverso da + \val{NULL} in caso di successo e \val{NULL} in caso di errore, mentre + \func{cap\_to\_name} ritorna rispettivamente 0 e $-1$, per entrambe in + caso di errore \var{errno} può assumere i valori \errval{EINVAL} o + \errval{ENOMEM}. } +\end{functions} + +La prima funzione restituisce la stringa (allocata automaticamente e che dovrà +essere liberata con \func{cap\_free}) che corrisponde al valore della +capacità \param{cap}, mentre la seconda restituisce nella variabile puntata +da \param{cap\_p} il valore della capacità rappresentata dalla +stringa \param{name}. Fin quei abbiamo trattato solo le funzioni di servizio relative alla manipolazione dei \textit{capability state}; l'interfaccia di gestione prevede