-\const{AT\_REMOVEDIR}, essa si comporterà come \func{rmdir}, in tal
-caso \param{pathname} deve essere una directory, che sarà rimossa qualora
-risulti vuota. Non essendo in questo caso prevista la possibilità di usare
-altri valori (la funzione non segue comunque i collegamenti simbolici) anche
-se \param{flags} è una maschera binaria, essendo \const{AT\_REMOVEDIR} l'unico
-flag disponibile per questa funzione, lo si può assegnare direttamente.
-
-Infine una terza funzione, \funcm{linkat}, utilizza in maniera diversa dalle
-altre l'argomento \param{flags}, anche se in questo caso l'utilizzo continua
-ad essere attinente al comportamento con i collegamenti simbolici. Si ricordi
-che su Linux il comportamento di \func{link} è quello di non seguire mai i
-collegamenti simbolici, pertanto l'uso ordinario dell'argomento parrebbe in
-questo caso essere inutile. A partire dal kernel 2.6.18 invece però è stato
-aggiunta per questa funzione la possibilità di usare il valore
-\const{AT\_SYMLINK\_FOLLOW}, che richiede di dereferenziare i collegamenti
-simbolici.
-
-Dato che questo è il comportamento adottato per un valore nullo
-di \param{flags} da tutte le altre funzioni, \func{linkat} è l'unica per cui
-può essere usato esplicitamente questo valore e per la quale non ha senso
-usare \const{AT\_SYMLINK\_NOFOLLOW}. Per avere un quadro d'insieme si è
-riassunto in tab.~\ref{tab:at-functions_constant_values} l'elenco delle
-costanti utilizzabili per i valori di \param{flags}.
-
-\begin{table}[htb]
- \centering
- \footnotesize
- \begin{tabular}[c]{|l|p{8cm}|}
- \hline
- \textbf{Costante} & \textbf{Significato} \\
- \hline
- \hline
- \constd{AT\_SYMLINK\_NOFOLLOW}& Se impostato la funzione non esegue la
- dereferenziazione dei collegamenti
- simbolici.\\
- \constd{AT\_SYMLINK\_FOLLOW}& Se impostato la funzione esegue la
- dereferenziazione dei collegamenti simbolici
- (usato esplicitamente solo da
- \func{linkat}).\\
- \constd{AT\_EACCES} & Usato solo da \func{faccessat}, richiede che
- il controllo dei permessi sia fatto usando
- l'\ids{UID} effettivo invece di quello
- reale.\\
- \constd{AT\_REMOVEDIR} & Usato solo da \func{unlinkat}, richiede che
- la funzione si comporti come \func{rmdir}
- invece che come \func{unlink}.\\
- \hline
- \end{tabular}
- \caption{Le costanti utilizzate per i bit dell'argomento
- aggiuntivo \param{flags} delle \textit{at-functions}.}
- \label{tab:at-functions_constant_values}
-\end{table}
-
-
-\texttt{ATTENZIONE PARTE DA RIVEDERE}
-
-
-Un'ultima differenza fra le \textit{at-functions} e le funzioni tradizionali
-di cui sono estensione è, come accennato in sez.~\ref{sec:file_temp_file},
-quella relativa a \func{utimensat} che non è propriamente una corrispondente
-esatta di \func{utimes} e \func{lutimes}, dato che questa funzione ha una
-maggiore precisione nella indicazione dei tempi dei file, per i quali come per
-\func{futimes}, si devono usare strutture \struct{timespec} che consentono una
-precisione fino al nanosecondo; la funzione è stata introdotta con il kernel
-2.6.22,\footnote{in precedenza, a partire dal kernel 2.6.16, era stata
- introdotta una \textit{system call} \funcm{futimesat} seguendo una bozza
- della revisione dello standard poi modificata; questa funzione, sostituita
- da \func{utimensat}, è stata dichiarata obsoleta, non è supportata da
- nessuno standard e non deve essere più utilizzata: pertanto non ne
- parleremo.} ed il suo prototipo è:
+\const{AT\_REMOVEDIR}, essa si comporterà come \func{rmdir}, in tal caso
+\param{pathname} deve essere una directory, che sarà rimossa qualora risulti
+vuota. Non essendo in questo caso prevista la possibilità di usare altri
+valori (la funzione non segue comunque i collegamenti simbolici e
+\const{AT\_EMPTY\_PATH} non è supportato) anche se \param{flags} è una
+maschera binaria, essendo \const{AT\_REMOVEDIR} l'unico flag disponibile per
+questa funzione, lo si può assegnare direttamente.
+
+Un'altra funzione che usa l'argomento \param{flags} è \func{utimensat}, che
+però non è una corrispondente esatta delle funzioni classiche \func{utimes} e
+\func{lutimes}, in quanto ha una maggiore precisione nella indicazione dei
+tempi dei file, per i quali, come per \func{futimens}, si devono usare
+strutture \struct{timespec} che consentono una precisione fino al nanosecondo;
+la funzione è stata introdotta con il kernel 2.6.22,\footnote{in precedenza, a
+ partire dal kernel 2.6.16, era stata introdotta una \textit{system call}
+ \funcm{futimesat} seguendo una bozza della revisione dello standard poi
+ modificata; questa funzione, sostituita da \func{utimensat}, è stata
+ dichiarata obsoleta, non è supportata da nessuno standard e non deve essere
+ più utilizzata: pertanto non ne parleremo.} ed il suo prototipo è: