X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileadv.tex;h=0c53338765e9b18bd0c8c3d3c39ce3d905416859;hp=c73a8dfa0fb32a4057ecd06bd8a46fcfc836522b;hb=718a0a24b34dce09e40eafc33c02ae494d100181;hpb=5a59e67204ff436dceb6a13ed39e876aea3945a8 diff --git a/fileadv.tex b/fileadv.tex index c73a8df..0c53338 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -97,7 +97,7 @@ BSD,\footnote{la funzione \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} @@ -197,7 +197,7 @@ specificati da \param{ufds}. 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 @@ -279,8 +279,8 @@ sostituisce i precedenti, ed aggiunge a \func{select} una nuova funzione 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, @@ -298,7 +298,7 @@ sostituisce i precedenti, ed aggiunge a \func{select} una nuova funzione \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 @@ -412,7 +412,7 @@ attraverso l'uso di una apposita struttura \type{aiocb} (il cui nome sta per \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] @@ -454,8 +454,8 @@ essere specificato l'indirizzo del buffer usato per l'I/O, ed in 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. @@ -614,7 +614,7 @@ Richiede la sincronizzazione dei dati per il file indicato da \param{aiocbp}. \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 @@ -646,7 +646,7 @@ da \param{aiocbp}. \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 @@ -799,10 +799,10 @@ prototipi sono: 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 @@ -907,11 +907,11 @@ in memoria di un file; il suo prototipo \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} @@ -997,7 +997,7 @@ come maschera binaria ottenuta dall'OR di uno o pi \const{MAP\_DENYWRITE} & In Linux viene ignorato per evitare \textit{DoS}\index{DoS} (veniva usato per segnalare che tentativi di scrittura sul file - dovevano fallire con \errcode{ETXTBUSY}).\\ + dovevano fallire con \errcode{ETXTBSY}).\\ \const{MAP\_EXECUTABLE}& Ignorato. \\ \const{MAP\_NORESERVE} & Si usa con \const{MAP\_PRIVATE}. Non riserva delle pagine di swap ad uso del meccanismo di @@ -1486,7 +1486,7 @@ essa viene usata solo secondo il prototipo: \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} @@ -1979,7 +1979,7 @@ che utilizza la funzione \func{lockf}, il cui prototipo \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}