\itindex{Denial~of~Service~(DoS)}
\textit{DoS}\protect\footnotemark\ quando
\func{opendir} viene chiamata su una fifo o su un
- device di unità a nastri, non deve essere utilizzato
+ dispositivo a nastri; non deve essere utilizzato
al di fuori dell'implementazione di \func{opendir}. \\
\const{O\_LARGEFILE}&nel caso di sistemi a 32 bit che supportano file di
grandi dimensioni consente di aprire file le cui
ed inoltre \errval{EIO}.}
\end{prototype}
-La chiusura di un file rilascia ogni blocco (il \textit{file
- locking}\index{file!locking} è trattato in sez.~\ref{sec:file_locking}) che
-il processo poteva avere acquisito su di esso; se \param{fd} è l'ultimo
+La chiusura di un file rilascia ogni blocco (il \textit{file locking}
+\index{file!locking} è trattato in sez.~\ref{sec:file_locking}) che il
+processo poteva avere acquisito su di esso; se \param{fd} è l'ultimo
riferimento (di eventuali copie) ad un file aperto, tutte le risorse nella
file table vengono rilasciate. Infine se il file descriptor era l'ultimo
riferimento ad un file su disco quest'ultimo viene cancellato.
La funzione prende esattamente gli stessi argomenti di \func{read} con lo
stesso significato, a cui si aggiunge l'argomento \func{offset} che indica una
-posizione sul file. Indetico è il comportamento ed il valore di ritorno. La
+posizione sul file. Identico è il comportamento ed il valore di ritorno. La
funzione serve quando si vogliono leggere dati dal file senza modificare la
posizione corrente.
maniera imprevedibile. Il sistema però fornisce in alcuni casi la possibilità
di eseguire alcune operazioni di scrittura in maniera coordinata anche senza
utilizzare meccanismi di sincronizzazione più complessi (come il \textit{file
- locking}\index{file!locking}, che esamineremo in
+ locking} \index{file!locking}, che esamineremo in
sez.~\ref{sec:file_locking}).
Un caso tipico di necessità di accesso condiviso in scrittura è quello in cui
gestione sia delle loro proprietà, che di tutta una serie di ulteriori
funzionalità che il kernel può mettere a disposizione.\footnote{ad esempio si
gestiscono con questa funzione varie modalità di I/O asincrono (vedi
- sez.~\ref{sec:file_asyncronous_operation}) e il file
- locking\index{file!locking} (vedi sez.~\ref{sec:file_locking}).}
+ sez.~\ref{sec:file_asyncronous_operation}) e il file locking
+ \index{file!locking} (vedi sez.~\ref{sec:file_locking}).}
Per queste operazioni di manipolazione e di controllo delle varie proprietà e
caratteristiche di un file descriptor, viene usata la funzione \funcd{fcntl},
\subsection{La funzione \func{ioctl}}
\label{sec:file_ioctl}
-Benché il concetto di \textit{everything is a file} si sia dimostratato molto
+Benché il concetto di \textit{everything is a file} si sia dimostrato molto
valido anche per l'interazione con i dispositivi più vari, fornendo una
interfaccia che permette di interagire con essi tramite le stesse funzioni
usate per i normali file di dati, esisteranno sempre caratteristiche
caso di errore viene sempre restituito $-1$ ed \var{errno} assumerà uno dei
valori:
\begin{errlist}
- \item[\errcode{ENOTTY}] il file \param{fd} non è associato con un device, o
- la richiesta non è applicabile all'oggetto a cui fa riferimento
- \param{fd}.
+ \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}
%%% mode: latex
%%% TeX-master: "gapil"
%%% End:
+
+% LocalWords: descriptor system call cap like kernel sez l'inode inode VFS tab
+% LocalWords: process table struct files flags pos all'inode dentry fig shell
+% LocalWords: error POSIX STDIN FILENO STDOUT STDERR unistd read write lseek
+% LocalWords: close pathname sys fcntl int const char errno EEXIST CREAT EXCL
+% LocalWords: EISDIR ENOTDIR ENXIO NOBLOCK WRONLY fifo ENODEV ETXTBSY ELOOP of
+% LocalWords: NOFOLLOW EACCES ENAMETOOLONG ENOENT EROFS EFAULT ENOSPC ENOMEM
+% LocalWords: EMFILE ENFILE NFS lock race condition Denial Service DoS RDONLY
+% LocalWords: glibc RDWR NONBLOCK NOCTTY SHLOCK shared BSD EXLOCK TRUNC device
+% LocalWords: opendir LARGEFILE APPEND append NDELAY ASYNC l'I SIGIO SYNC SVr
+% LocalWords: DSYNC RSYNC filesystem DIRECT caching SGI IRIX dell'I FreeBSD fd
+% LocalWords: fork exec umask SOURCE creat filedes EBADF EINTR EIO locking off
+% LocalWords: behind sync flush shutdown whence ESPIPE socket EINVAL INCR XTND
+% LocalWords: SEEK CUR EPIPE ssize void buf size count EAGAIN EWOULDBLOCK log
+% LocalWords: Specification pwrite pread EFBIG SIGPIPE nell'inode dall'inode
+% LocalWords: CLOEXEC stat fsync cache update l'update bdflush Documentation
+% LocalWords: fdatasync fstat ext dup oldfd newfd DUPFD cmd long arg flock pid
+% LocalWords: SETFD GETFD GETFL SETFL GETLK SETLK SETLKW GETOWN group SIGURG
+% LocalWords: SETOWN GETSIG SETSIG sigaction SIGINFO siginfo SETLEASE lease is
+% LocalWords: truncate GETLEASE NOTIFY all'I AND ACCMODE ioctl everything argp
+% LocalWords: framebuffer request ENOTTY CDROM nell'header magic number
+% LocalWords: FIOCLEX FIONCLEX FIOASYNC FIONBIO