\var{umask} (si veda sez.~\ref{sec:file_umask}).
Per il tipo di file può essere specificato solo uno fra: \const{S\_IFREG} per
-un file regolare (che sarà creato vuoto), \const{S\_IFBLK} per un device a
-blocchi, \const{S\_IFCHR} per un device a caratteri e \const{S\_IFIFO} per una
-fifo. Un valore diverso comporterà l'errore \errcode{EINVAL}. Qualora si sia
-specificato in \param{mode} un file di dispositivo, il valore di \param{dev}
-viene usato per indicare a quale dispositivo si fa riferimento.
+un file regolare (che sarà creato vuoto), \const{S\_IFBLK} per un dispositivo
+a blocchi, \const{S\_IFCHR} per un dispositivo a caratteri e \const{S\_IFIFO}
+per una fifo. Un valore diverso comporterà l'errore \errcode{EINVAL}. Qualora
+si sia specificato in \param{mode} un file di dispositivo, il valore di
+\param{dev} viene usato per indicare a quale dispositivo si fa riferimento.
Solo l'amministratore può creare un file di dispositivo o un file regolare
usando questa funzione; ma in Linux\footnote{la funzione non è prevista dallo
viene allocato dinamicamente con \func{malloc}. Qualora si specifichi un
valore \val{NULL} per \func{select} vengono selezionate tutte le voci.
-Le voci selezionate possono essere riodinate tramite \func{qsort}, le modalità
+Le voci selezionate possono essere riordinate tramite \func{qsort}, le modalità
del riordinamento possono essere personalizzate usando la funzione
\param{compar} come criterio di ordinamento di\func{qsort}, la funzione prende
-come argomenti le duestrutture \struct{dirent} da confrontare restituendo un
+come argomenti le due strutture \struct{dirent} da confrontare restituendo un
valore positivo, nullo o negativo per indicarne l'ordinamento; alla fine
l'indirizzo della lista delle strutture \struct{dirent} così ordinate viene
restituito nell'argomento \param{namelist}.
condition}\itindex{race~condition} non si pongono.
-\section{La manipolazione delle caratteristiche dei files}
+\section{La manipolazione delle caratteristiche dei file}
\label{sec:file_infos}
Come spiegato in sez.~\ref{sec:file_filesystem} tutte le informazioni generali
La lettura delle informazioni relative ai file è fatta attraverso la famiglia
delle funzioni \func{stat} (\funcd{stat}, \funcd{fstat} e \funcd{lstat});
questa è la funzione che ad esempio usa il comando \cmd{ls} per poter ottenere
-e mostrare tutti i dati dei files. I prototipi di queste funzioni sono i
+e mostrare tutti i dati dei file. I prototipi di queste funzioni sono i
seguenti:
\begin{functions}
\headdecl{sys/types.h}
\funcdecl{int lstat(const char *file\_name, struct stat *buf)} Identica a
\func{stat} eccetto che se il \param{file\_name} è un link simbolico vengono
- lette le informazioni relativae ad esso e non al file a cui fa riferimento.
+ lette le informazioni relative ad esso e non al file a cui fa riferimento.
\funcdecl{int fstat(int filedes, struct stat *buf)} Identica a \func{stat}
eccetto che si usa con un file aperto, specificato tramite il suo file
L'ultimo dei bit rimanenti, identificato dalla costante \const{S\_ISVTX}, è in
parte un rimasuglio delle origini dei sistemi Unix. A quell'epoca infatti la
-memoria virtuale e l'accesso ai files erano molto meno sofisticati e per
+memoria virtuale e l'accesso ai file erano molto meno sofisticati e per
ottenere la massima velocità possibile per i programmi usati più comunemente
si poteva impostare questo bit.
%%% mode: latex
%%% TeX-master: "gapil"
%%% End:
+
+% LocalWords: sez like filesystem unlink MacOS Windows VMS inode kernel unistd
+% LocalWords: un'etichetta int const char oldpath newpath errno EXDEV EPERM st
+% LocalWords: EEXIST EMLINK EACCES ENAMETOOLONG ENOTDIR EFAULT ENOMEM EROFS ls
+% LocalWords: ELOOP ENOSPC EIO pathname nlink stat vfat fsck EISDIR ENOENT cap
+% LocalWords: POSIX socket fifo sticky root nell'inode system call count crash
+% LocalWords: all'inode descriptor remove rename rmdir stdio glibc libc NFS DT
+% LocalWords: ENOTEMPTY EBUSY mount point EINVAL soft symbolic tab symlink fig
+% LocalWords: dangling access chdir chmod chown creat exec lchown lstat mkdir
+% LocalWords: mkfifo mknod opendir pathconf readlink truncate path buff size
+% LocalWords: grub bootloader grep linux MAXSYMLINKS cat VFS sys dirname fcntl
+% LocalWords: dev l'inode umask IFREG IFBLK IFCHR IFIFO SVr sgid BSD SVID NULL
+% LocalWords: stream dirent EMFILE ENFILE dirfd SOURCE fchdir readdir struct
+% LocalWords: EBADF namlen HAVE thread entry result value argument fileno ino
+% LocalWords: name TYPE OFF RECLEN UNKNOWN REG SOCK CHR BLK type IFTODT DTTOIF
+% LocalWords: DTYPE off reclen seekdir telldir void rewinddir closedir select
+% LocalWords: namelist compar malloc qsort alphasort versionsort strcoll myls
+% LocalWords: strcmp DirScan direntry while current working home shell pwd get
+% LocalWords: dell'inode getcwd ERANGE getwd change fd race condition tmpnam
+% LocalWords: string tmpdir TMP tempnam pfx TMPNAME suid tmp EXCL tmpfile pid
+% LocalWords: EINTR mktemp mkstemp stlib template filename XXXXXX OpenBSD buf
+% LocalWords: mkdtemp fstat filedes nell'header padding ISREG ISDIR ISCHR IFMT
+% LocalWords: ISBLK ISFIFO ISLNK ISSOCK IFSOCK IFLNK IFDIR ISUID UID ISGID GID
+% LocalWords: ISVTX IRUSR IWUSR IXUSR IRGRP IWGRP IXGRP IROTH IWOTH IXOTH du
+% LocalWords: blocks blksize holes lseek TRUNC ftruncate length lenght ETXTBSY
+% LocalWords: hole atime read utime mtime write ctime modification leafnode cp
+% LocalWords: make fchmod fchown utimbuf times actime modtime Mac owner uid fs
+% LocalWords: gid Control List patch mandatory control execute group other all
+% LocalWords: dell' effective passwd IGID locking swap saved text IRWXU IRWXG
+% LocalWords: IRWXO ext reiser capability FSETID mask capabilities chroot jail
+% LocalWords: FTP