X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileio.tex;h=bab3ca2a867747ce50f91d90bace3a99fad6e226;hp=883e8293731068474a2ef3936e8de17748e5e349;hb=c46df2fabf1fd8946892f9adf0771831a5c0f796;hpb=90b50663eb332777d4bcab79324215d97d923aa7 diff --git a/fileio.tex b/fileio.tex index 883e829..bab3ca2 100644 --- a/fileio.tex +++ b/fileio.tex @@ -1,6 +1,6 @@ %% fileio.tex (merge fileunix.tex - filestd.tex) %% -%% Copyright (C) 2000-2012 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2013 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -121,13 +121,14 @@ che il kernel mantiene per ciascun file e ciascun processo. Come si può notare alla fine il collegamento che consente di porre in relazione i file ed i processi è effettuato attraverso i dati mantenuti nella -struttura \kstruct{files\_struct}, essa infatti contiene alcune informazioni +struttura \kstruct{files\_struct} essa infatti contiene alcune informazioni essenziali come: \begin{itemize*} \item i flag relativi ai file aperti dal processo. \item il numero di file aperti dal processo. -\item una tabella di puntatori alla relativa voce nella \itindex{file~table} - \textit{file table} per ciascun file aperto. +\item la \itindex{file~descriptor~table} \textit{file descriptor table}, una + tabella con i puntatori, per ciascun file aperto, alla relativa voce nella + \itindex{file~table} \textit{file table}. \end{itemize*} In questa infrastruttura un \textit{file descriptor} non è altro che l'intero @@ -753,9 +754,9 @@ funzione di sistema \funcd{lseek}, il cui prototipo è: {La funzione ritorna il valore della posizione sul file in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{ESPIPE}] \param{fd} è una pipe, un socket o una fifo. \item[\errcode{EINVAL}] \param{whence} non è un valore valido. \item[\errcode{EOVERFLOW}] \param{offset} non può essere rappresentato nel + \item[\errcode{ESPIPE}] \param{fd} è una pipe, un socket o una fifo. tipo \type{off\_t}. \end{errlist} ed inoltre \errval{EBADF} nel suo significato generico.} @@ -1055,7 +1056,7 @@ prototipo è: {La funzione ritorna il numero di byte scritti in caso di successo e $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{EAGAIN}] ci si sarebbe bloccati, ma il file era aperto in + \item[\errcode{EAGAIN}] ci siq sarebbe bloccati, ma il file era aperto in modalità \const{O\_NONBLOCK}. \item[\errcode{EFBIG}] si è cercato di scrivere oltre la dimensione massima consentita dal filesystem o il limite per le dimensioni dei file del @@ -1487,7 +1488,7 @@ prototipi sono: \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} nel loro + ed inoltre \errval{EBADF}, \errval{EIO} e \errval{EROFS} nel loro significato generico.} \end{funcproto} @@ -2258,11 +2259,11 @@ per compiere operazioni specializzate; il suo prototipo è: sempre $-1$ per un errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} + \item[\errcode{EINVAL}] gli argomenti \param{request} o \param{argp} non sono + validi. \item[\errcode{ENOTTY}] il file \param{fd} non è associato con un dispositivo, o la richiesta non è applicabile all'oggetto a cui fa riferimento \param{fd}. - \item[\errcode{EINVAL}] gli argomenti \param{request} o \param{argp} non sono - validi. \end{errlist} ed inoltre \errval{EBADF} e \errval{EFAULT} nel loro significato generico.} \end{funcproto}