non supportano questa funzione, come ad esempio per i file di
terminale.\footnote{altri sistemi, usando \const{SEEK\_SET}, in questo caso
ritornano il numero di caratteri che vi sono stati scritti.} Lo standard
-POSIX però non specifica niente in proposito. Inoltre alcuni file speciali, ad
-esempio \file{/dev/null}, non causano un errore ma restituiscono un valore
-indefinito.
+POSIX però non specifica niente in proposito. Inoltre alcuni
+\index{file!speciali} file speciali, ad esempio \file{/dev/null}, non causano
+un errore ma restituiscono un valore indefinito.
\itindbeg{sparse~file}
\bodydesc{La funzione ritorna 0 in caso di successo e $-1$ in caso di
errore, nel qual caso \var{errno} assume i valori:
\begin{errlist}
- \item[\errcode{EINVAL}] \param{fd} è un file speciale che non supporta la
- sincronizzazione.
+ \item[\errcode{EINVAL}] \param{fd} è un \index{file!speciali} file speciale
+ che non supporta la sincronizzazione.
\end{errlist}
ed inoltre \errval{EBADF}, \errval{EROFS} e \errval{EIO}.}
\end{functions}
\subsection{Le funzioni \func{openat}, \func{mkdirat} e affini}
\label{sec:file_openat}
+\itindbeg{at-functions}
+
Un problema che si pone con l'uso della funzione \func{open}, così come per
molte altre funzioni che accettano come argomenti dei
\itindsub{pathname}{relativo} \textit{pathname} relativi, è che, quando un
caso \param{pathname} deve essere una directory, che sarà rimossa qualora
risulti vuota.
+\itindend{at-functions}
+
+
% TODO manca prototipo e motivazione di fexecve, da trattare qui in quanto
% inserita nello stesso standard e da usare con openat, vedi
% http://pubs.opengroup.org/onlinepubs/9699939699/toc.pdf