\item[\errcode{EINTR}] La funzione è stata interrotta da un segnale.
\item[\errcode{EINVAL}] Si è specificato per \param{n} un valore negativo.
\end{errlist}
- ed inoltre \const{ENOMEM}.
+ ed inoltre \errval{ENOMEM}.
}
\end{functions}
degli insiemi.
\item[\errcode{EINTR}] La funzione è stata interrotta da un segnale.
\end{errlist}
- ed inoltre \const{EFAULT} e \const{ENOMEM}.}
+ ed inoltre \errval{EFAULT} e \errval{ENOMEM}.}
\end{prototype}
La funzione tiene sotto controllo un numero \param{ndfs} di file descriptor
2.1. Le \acr{libc4} e \acr{libc5} non contengono questo header, le
\acr{glibc} 2.0 contengono una definizione sbagliata di \func{psignal},
senza l'argomento \param{sigmask}, la definizione corretta è presente dalle
- \acr{glibc} 2.1-2.2.1 se si è definito \const{\_GNU\_SOURCE} e nelle
- \acr{glibc} 2.2.2-2.2.4 se si è definito \const{\_XOPEN\_SOURCE} con valore
+ \acr{glibc} 2.1-2.2.1 se si è definito \macro{\_GNU\_SOURCE} e nelle
+ \acr{glibc} 2.2.2-2.2.4 se si è definito \macro{\_XOPEN\_SOURCE} con valore
maggiore di 600.} il cui prototipo è:
\begin{prototype}{sys/select.h}
{int pselect(int n, fd\_set *readfds, fd\_set *writefds, fd\_set *exceptfds,
\item[\errcode{EINTR}] La funzione è stata interrotta da un segnale.
\item[\errcode{EINVAL}] Si è specificato per \param{n} un valore negativo.
\end{errlist}
- ed inoltre \const{ENOMEM}.}
+ ed inoltre \errval{ENOMEM}.}
\end{prototype}
La funzione è sostanzialmente identica a \func{select}, solo che usa una
\textit{asyncronous I/O control block}), che viene passata come argomento a
tutte le funzioni dell'interfaccia. La sua definizione, come effettuata in
\file{aio.h}, è riportata in \figref{fig:file_aiocb}. Nello steso file è
-definita la macro \const{\_POSIX\_ASYNCHRONOUS\_IO}, che dichiara la
+definita la macro \macro{\_POSIX\_ASYNCHRONOUS\_IO}, che dichiara la
disponibilità dell'interfaccia per l'I/O asincrono.
\begin{figure}[!htb]
Il campo \var{aio\_reqprio} permette di impostare la priorità delle operazioni
di I/O.\footnote{in generale perché ciò sia possibile occorre che la
piattaforma supporti questa caratteristica, questo viene indicato definendo
- le macro \const{\_POSIX\_PRIORITIZED\_IO}, e
- \const{\_POSIX\_PRIORITY\_SCHEDULING}.} La priorità viene impostata a
+ le macro \macro{\_POSIX\_PRIORITIZED\_IO}, e
+ \macro{\_POSIX\_PRIORITY\_SCHEDULING}.} La priorità viene impostata a
partire da quella del processo chiamante (vedi \secref{sec:proc_priority}),
cui viene sottratto il valore di questo campo.
\bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
errore, che può essere, con le stesse modalità di \func{aio\_read},
- \const{EAGAIN}, \const{EBADF} o \const{EINVAL}.}
+ \errval{EAGAIN}, \errval{EBADF} o \errval{EINVAL}.}
\end{prototype}
La funzione richiede la sincronizzazione delle operazioni di I/O, ritornando
\bodydesc{La funzione restituisce il risultato dell'operazione con un codice
di positivo, e -1 in caso di errore, che avviene qualora si sia specificato
un valore non valido di \param{fildes}, imposta \var{errno} al valore
- \const{EBADF}.}
+ \errval{EBADF}.}
\end{prototype}
La funzione permette di cancellare una operazione specifica sul file
non ci sono dati in lettura.
\item[\errcode{EOPNOTSUPP}] La coda delle richieste è momentaneamente piena.
\end{errlist}
- ed inoltre \const{EISDIR}, \const{ENOMEM}, \const{EFAULT} (se non sono stato
- allocati correttamente i buffer specificati nei campi \func{iov\_base}), più
- tutti gli ulteriori errori che potrebbero avere le usuali funzioni di
- lettura e scrittura eseguite su \param{fd}.}
+ ed inoltre \errval{EISDIR}, \errval{ENOMEM}, \errval{EFAULT} (se non sono
+ stato allocati correttamente i buffer specificati nei campi
+ \func{iov\_base}), più tutti gli ulteriori errori che potrebbero avere le
+ usuali funzioni di lettura e scrittura eseguite su \param{fd}.}
\end{functions}
Entrambe le funzioni usano una struttura \type{iovec}, definita in
\item[\errcode{EINVAL}] I valori di \param{start}, \param{length} o
\param{offset} non sono validi (o troppo grandi o non allineati sulla
dimensione delle pagine).
- \item[\errcode{ETXTBSY}] Si è impostato \const{MAP\_DENYWRITE} ma \param{fd}
- è aperto in scrittura.
+ \item[\errcode{ETXTBSY}] Si è impostato \const{MAP\_DENYWRITE} ma
+ \param{fd} è aperto in scrittura.
\item[\errcode{EAGAIN}] Il file è bloccato, o si è bloccata troppa memoria.
- \item[\errcode{ENOMEM}] Non c'è memoria o si è superato il limite sul numero
- di mappature possibili.
+ \item[\errcode{ENOMEM}] Non c'è memoria o si è superato il limite sul
+ numero di mappature possibili.
\item[\errcode{ENODEV}] Il filesystem di \param{fd} non supporta il memory
mapping.
\end{errlist}
\item[\errcode{EINTR}] La funzione è stata interrotta da un segnale prima
di poter acquisire un lock.
\end{errlist}
- ed inoltre \const{EBADF}, \const{EFAULT}.
+ ed inoltre \errval{EBADF}, \errval{EFAULT}.
}
\end{prototype}
\item[\errcode{ENOLCK}] Il sistema non ha le risorse per il locking: ci
sono troppi segmenti di lock aperti, si è esaurita la tabella dei lock.
\end{errlist}
- ed inoltre \const{EBADF}, \const{EINVAL}.
+ ed inoltre \errval{EBADF}, \errval{EINVAL}.
}
\end{prototype}