X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=filedir.tex;h=0037e29dbbb5c1456534ca675060d84e7adde571;hb=e51dd0ef809bae5d7e8247e8e043f73d02cd0153;hp=14156497144947ade7ad776d88c5f4f2374f2408;hpb=250b32a55733b307d2eae8afb50b64af1b7c0bc8;p=gapil.git diff --git a/filedir.tex b/filedir.tex index 1415649..0037e29 100644 --- a/filedir.tex +++ b/filedir.tex @@ -79,8 +79,8 @@ suole chiamare questo tipo di associazione un collegamento diretto (o \bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di errore nel qual caso \var{errno} viene impostata ai valori: \begin{errlist} - \item[\errcode{EXDEV}] \param{oldpath} e \param{newpath} non sono sullo - stesso filesystem. + \item[\errcode{EXDEV}] i file \param{oldpath} e \param{newpath} non sono + sullo stesso filesystem. \item[\errcode{EPERM}] il filesystem che contiene \param{oldpath} e \param{newpath} non supporta i link diretti o è una directory. \item[\errcode{EEXIST}] un file (o una directory) con quel nome esiste di @@ -256,7 +256,7 @@ nello stesso filesystem) si usa invece la funzione \funcd{rename},\footnote{la \item[\errcode{EINVAL}] \param{newpath} contiene un prefisso di \param{oldpath} o più in generale si è cercato di creare una directory come sotto-directory di se stessa. - \item[\errcode{ENOTDIR}] Uno dei componenti dei \itindex{pathname} + \item[\errcode{ENOTDIR}] uno dei componenti dei \itindex{pathname} \textit{pathname} non è una directory o \param{oldpath} è una directory e \param{newpath} esiste e non è una directory. \end{errlist} @@ -540,17 +540,17 @@ La funzione che permette la cancellazione di una directory \bodydesc{La funzione restituisce zero in caso di successo e -1 per un errore, nel qual caso \var{errno} assumerà i valori: \begin{errlist} - \item[\errcode{EPERM}] Il filesystem non supporta la cancellazione di + \item[\errcode{EPERM}] il filesystem non supporta la cancellazione di directory, oppure la directory che contiene \param{dirname} ha lo \itindex{sticky~bit} \textit{sticky bit} impostato e l'user-ID effettivo del processo non corrisponde al proprietario della directory. - \item[\errcode{EACCES}] Non c'è il permesso di scrittura per la directory + \item[\errcode{EACCES}] non c'è il permesso di scrittura per la directory che contiene la directory che si vuole cancellare, o non c'è il permesso di attraversare (esecuzione) una delle directory specificate in \param{dirname}. - \item[\errcode{EBUSY}] La directory specificata è la directory di lavoro o la + \item[\errcode{EBUSY}] la directory specificata è la directory di lavoro o la radice di qualche processo. - \item[\errcode{ENOTEMPTY}] La directory non è vuota. + \item[\errcode{ENOTEMPTY}] la directory non è vuota. \end{errlist} ed inoltre anche \errval{EFAULT}, \errval{ENAMETOOLONG}, \errval{ENOENT}, \errval{ENOTDIR}, \errval{ENOMEM}, \errval{ELOOP}, \errval{EROFS}.} @@ -595,10 +595,10 @@ di queste funzioni \bodydesc{La funzione restituisce zero in caso di successo e -1 per un errore, nel qual caso \var{errno} assumerà i valori: \begin{errlist} - \item[\errcode{EPERM}] Non si hanno privilegi sufficienti a creare l'inode, o + \item[\errcode{EPERM}] non si hanno privilegi sufficienti a creare l'inode, o il filesystem su cui si è cercato di creare \param{pathname} non supporta l'operazione. - \item[\errcode{EINVAL}] Il valore di \param{mode} non indica un file, una + \item[\errcode{EINVAL}] il valore di \param{mode} non indica un file, una fifo o un dispositivo. \item[\errcode{EEXIST}] \param{pathname} esiste già o è un link simbolico. \end{errlist} @@ -812,13 +812,13 @@ il nome del relativo campo; nel nostro caso sono definite le macro \textbf{Valore} & \textbf{Tipo di file} \\ \hline \hline - \const{DT\_UNKNOWN} & tipo sconosciuto\\ - \const{DT\_REG} & file normale\\ - \const{DT\_DIR} & directory\\ - \const{DT\_FIFO} & fifo\\ - \const{DT\_SOCK} & socket\\ - \const{DT\_CHR} & dispositivo a caratteri\\ - \const{DT\_BLK} & dispositivo a blocchi\\ + \const{DT\_UNKNOWN} & Tipo sconosciuto.\\ + \const{DT\_REG} & File normale.\\ + \const{DT\_DIR} & Directory.\\ + \const{DT\_FIFO} & Fifo.\\ + \const{DT\_SOCK} & Socket.\\ + \const{DT\_CHR} & Dispositivo a caratteri.\\ + \const{DT\_BLK} & Dispositivo a blocchi.\\ \hline \end{tabular} \caption{Costanti che indicano i vari tipi di file nel campo \var{d\_type} @@ -1083,11 +1083,11 @@ prototipo \val{NULL} se fallisce, in quest'ultimo caso la variabile \var{errno} è impostata con i seguenti codici di errore: \begin{errlist} - \item[\errcode{EINVAL}] L'argomento \param{size} è zero e \param{buffer} non + \item[\errcode{EINVAL}] l'argomento \param{size} è zero e \param{buffer} non è nullo. - \item[\errcode{ERANGE}] L'argomento \param{size} è più piccolo della + \item[\errcode{ERANGE}] l'argomento \param{size} è più piccolo della lunghezza del \textit{pathname}. - \item[\errcode{EACCES}] Manca il permesso di lettura o di ricerca su uno dei + \item[\errcode{EACCES}] manca il permesso di lettura o di ricerca su uno dei componenti del \textit{pathname} (cioè su una delle directory superiori alla corrente). \end{errlist}} @@ -1134,8 +1134,8 @@ Per cambiare la directory di lavoro si pu \bodydesc{La funzione restituisce 0 in caso di successo e -1 per un errore, nel qual caso \var{errno} assumerà i valori: \begin{errlist} - \item[\errcode{ENOTDIR}] Non si è specificata una directory. - \item[\errcode{EACCES}] Manca il permesso di ricerca su uno dei componenti + \item[\errcode{ENOTDIR}] non si è specificata una directory. + \item[\errcode{EACCES}] manca il permesso di ricerca su uno dei componenti di \param{path}. \end{errlist} ed inoltre \errval{EFAULT}, \errval{ENAMETOOLONG}, \errval{ENOENT}, @@ -1241,8 +1241,8 @@ POSIX definisce la funzione \funcd{tmpfile}, il cui prototipo temporaneo in caso di successo e \val{NULL} in caso di errore, nel qual caso \var{errno} assumerà i valori: \begin{errlist} - \item[\errcode{EINTR}] La funzione è stata interrotta da un segnale. - \item[\errcode{EEXIST}] Non è stato possibile generare un nome univoco. + \item[\errcode{EINTR}] la funzione è stata interrotta da un segnale. + \item[\errcode{EEXIST}] non è stato possibile generare un nome univoco. \end{errlist} ed inoltre \errval{EFAULT}, \errval{EMFILE}, \errval{ENFILE}, \errval{ENOSPC}, \errval{EROFS} e \errval{EACCES}.} @@ -1423,13 +1423,13 @@ riportato in tab.~\ref{tab:file_type_macro}. \textbf{Macro} & \textbf{Tipo del file} \\ \hline \hline - \macro{S\_ISREG(m)} & file regolare \\ - \macro{S\_ISDIR(m)} & directory \\ - \macro{S\_ISCHR(m)} & dispositivo a caratteri \\ - \macro{S\_ISBLK(m)} & dispositivo a blocchi\\ - \macro{S\_ISFIFO(m)} & fifo \\ - \macro{S\_ISLNK(m)} & link simbolico \\ - \macro{S\_ISSOCK(m)} & socket \\ + \macro{S\_ISREG(m)} & File normale.\\ + \macro{S\_ISDIR(m)} & Directory.\\ + \macro{S\_ISCHR(m)} & Dispositivo a caratteri.\\ + \macro{S\_ISBLK(m)} & Dispositivo a blocchi.\\ + \macro{S\_ISFIFO(m)} & Fifo.\\ + \macro{S\_ISLNK(m)} & Link simbolico.\\ + \macro{S\_ISSOCK(m)} & Socket.\\ \hline \end{tabular} \caption{Macro per i tipi di file (definite in \texttt{sys/stat.h}).} @@ -1456,33 +1456,33 @@ un'opportuna combinazione. \textbf{Flag} & \textbf{Valore} & \textbf{Significato} \\ \hline \hline - \const{S\_IFMT} & 0170000 & maschera per i bit del tipo di file \\ - \const{S\_IFSOCK} & 0140000 & socket \\ - \const{S\_IFLNK} & 0120000 & link simbolico \\ - \const{S\_IFREG} & 0100000 & file regolare \\ - \const{S\_IFBLK} & 0060000 & dispositivo a blocchi \\ - \const{S\_IFDIR} & 0040000 & directory \\ - \const{S\_IFCHR} & 0020000 & dispositivo a caratteri \\ - \const{S\_IFIFO} & 0010000 & fifo \\ + \const{S\_IFMT} & 0170000 & Maschera per i bit del tipo di file.\\ + \const{S\_IFSOCK} & 0140000 & Socket.\\ + \const{S\_IFLNK} & 0120000 & Link simbolico.\\ + \const{S\_IFREG} & 0100000 & File regolare.\\ + \const{S\_IFBLK} & 0060000 & Dispositivo a blocchi.\\ + \const{S\_IFDIR} & 0040000 & Directory.\\ + \const{S\_IFCHR} & 0020000 & Dispositivo a caratteri.\\ + \const{S\_IFIFO} & 0010000 & Fifo.\\ \hline - \const{S\_ISUID} & 0004000 & set UID bit \itindex{suid~bit} \\ - \const{S\_ISGID} & 0002000 & set GID bit \itindex{sgid~bit} \\ - \const{S\_ISVTX} & 0001000 & sticky bit \itindex{sticky~bit}\\ + \const{S\_ISUID} & 0004000 & Set UID bit \itindex{suid~bit}.\\ + \const{S\_ISGID} & 0002000 & Set GID bit \itindex{sgid~bit}.\\ + \const{S\_ISVTX} & 0001000 & Sticky bit \itindex{sticky~bit}.\\ \hline -% \const{S\_IRWXU} & 00700 & bitmask per i permessi del proprietario \\ - \const{S\_IRUSR} & 00400 & il proprietario ha permesso di lettura \\ - \const{S\_IWUSR} & 00200 & il proprietario ha permesso di scrittura \\ - \const{S\_IXUSR} & 00100 & il proprietario ha permesso di esecuzione\\ +% \const{S\_IRWXU} & 00700 & Bitmask per i permessi del proprietario.\\ + \const{S\_IRUSR} & 00400 & Il proprietario ha permesso di lettura.\\ + \const{S\_IWUSR} & 00200 & Il proprietario ha permesso di scrittura.\\ + \const{S\_IXUSR} & 00100 & Il proprietario ha permesso di esecuzione.\\ \hline -% \const{S\_IRWXG} & 00070 & bitmask per i permessi del gruppo \\ - \const{S\_IRGRP} & 00040 & il gruppo ha permesso di lettura \\ - \const{S\_IWGRP} & 00020 & il gruppo ha permesso di scrittura \\ - \const{S\_IXGRP} & 00010 & il gruppo ha permesso di esecuzione \\ +% \const{S\_IRWXG} & 00070 & Bitmask per i permessi del gruppo.\\ + \const{S\_IRGRP} & 00040 & Il gruppo ha permesso di lettura.\\ + \const{S\_IWGRP} & 00020 & Il gruppo ha permesso di scrittura.\\ + \const{S\_IXGRP} & 00010 & Il gruppo ha permesso di esecuzione.\\ \hline -% \const{S\_IRWXO} & 00007 & bitmask per i permessi di tutti gli altri\\ - \const{S\_IROTH} & 00004 & gli altri hanno permesso di lettura \\ - \const{S\_IWOTH} & 00002 & gli altri hanno permesso di esecuzione \\ - \const{S\_IXOTH} & 00001 & gli altri hanno permesso di esecuzione \\ +% \const{S\_IRWXO} & 00007 & Bitmask per i permessi di tutti gli altri\\ + \const{S\_IROTH} & 00004 & Gli altri hanno permesso di lettura.\\ + \const{S\_IWOTH} & 00002 & Gli altri hanno permesso di esecuzione.\\ + \const{S\_IXOTH} & 00001 & Gli altri hanno permesso di esecuzione.\\ \hline \end{tabular} \caption{Costanti per l'identificazione dei vari bit che compongono il campo @@ -1557,7 +1557,7 @@ dimensione si possono usare le due funzioni \funcd{truncate} e \item[\errcode{EACCES}] il file non ha permesso di scrittura o non si ha il permesso di esecuzione una delle directory del \itindex{pathname} \textit{pathname}. - \item[\errcode{ETXTBSY}] Il file è un programma in esecuzione. + \item[\errcode{ETXTBSY}] il file è un programma in esecuzione. \end{errlist} ed anche \errval{ENOTDIR}, \errval{ENAMETOOLONG}, \errval{ENOENT}, \errval{EROFS}, \errval{EIO}, \errval{EFAULT}, \errval{ELOOP}.} @@ -1590,12 +1590,12 @@ funzioni che effettuano cambiamenti su di essi. & \textbf{Opzione di \cmd{ls}} \\ \hline \hline - \var{st\_atime}& ultimo accesso ai dati del file &\func{read}, - \func{utime} & \cmd{-u}\\ - \var{st\_mtime}& ultima modifica ai dati del file &\func{write}, - \func{utime} & default\\ - \var{st\_ctime}& ultima modifica ai dati dell'inode&\func{chmod}, - \func{utime} & \cmd{-c} \\ + \var{st\_atime}& ultimo accesso ai dati del file & + \func{read}, \func{utime} & \cmd{-u}\\ + \var{st\_mtime}& ultima modifica ai dati del file & + \func{write}, \func{utime} & default\\ + \var{st\_ctime}& ultima modifica ai dati dell'inode & + \func{chmod}, \func{utime} & \cmd{-c}\\ \hline \end{tabular} \caption{I tre tempi associati a ciascun file.} @@ -1643,47 +1643,54 @@ tempo). \hline \hline \func{chmod}, \func{fchmod} - & -- & -- &$\bullet$& -- & -- & -- & \\ + & -- & -- &$\bullet$& -- & -- & -- &\\ \func{chown}, \func{fchown} - & -- & -- &$\bullet$& -- & -- & -- & \\ + & -- & -- &$\bullet$& -- & -- & -- &\\ \func{creat} - &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& con - \const{O\_CREATE} \\ \func{creat} - & -- &$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& - con \const{O\_TRUNC} \\ \func{exec} - &$\bullet$& -- & -- & -- & -- & -- & \\ + &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& + con \const{O\_CREATE} \\ + \func{creat} + & -- &$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& + con \const{O\_TRUNC} \\ + \func{exec} + &$\bullet$& -- & -- & -- & -- & -- &\\ \func{lchown} - & -- & -- &$\bullet$& -- & -- & -- & \\ + & -- & -- &$\bullet$& -- & -- & -- &\\ \func{link} - & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& \\ + & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$&\\ \func{mkdir} - &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& \\ + &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&\\ \func{mkfifo} - &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& \\ + &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$&\\ + \func{open} + &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& + con \const{O\_CREATE} \\ \func{open} - &$\bullet$&$\bullet$&$\bullet$& -- &$\bullet$&$\bullet$& con - \const{O\_CREATE} \\ \func{open} - & -- &$\bullet$&$\bullet$& -- & -- & -- & con - \const{O\_TRUNC} \\ \func{pipe} - &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- & \\ + & -- &$\bullet$&$\bullet$& -- & -- & -- & + con \const{O\_TRUNC} \\ + \func{pipe} + &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- &\\ \func{read} - &$\bullet$& -- & -- & -- & -- & -- & \\ + &$\bullet$& -- & -- & -- & -- & -- &\\ \func{remove} - & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& se esegue - \func{unlink}\\ \func{remove} - & -- & -- & -- & -- &$\bullet$&$\bullet$& se esegue - \func{rmdir}\\ \func{rename} - & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& per entrambi - gli argomenti\\ \func{rmdir} - & -- & -- & -- & -- &$\bullet$&$\bullet$& \\ + & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& + se esegue \func{unlink}\\ + \func{remove} + & -- & -- & -- & -- &$\bullet$&$\bullet$& + se esegue \func{rmdir}\\ + \func{rename} + & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& + per entrambi gli argomenti\\ + \func{rmdir} + & -- & -- & -- & -- &$\bullet$&$\bullet$&\\ \func{truncate}, \func{ftruncate} - & -- &$\bullet$&$\bullet$& -- & -- & -- & \\ + & -- &$\bullet$&$\bullet$& -- & -- & -- &\\ \func{unlink} - & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$& \\ + & -- & -- &$\bullet$& -- &$\bullet$&$\bullet$&\\ \func{utime} - &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- & \\ + &$\bullet$&$\bullet$&$\bullet$& -- & -- & -- &\\ \func{write} - & -- &$\bullet$&$\bullet$& -- & -- & -- & \\ + & -- &$\bullet$&$\bullet$& -- & -- & -- &\\ \hline \end{tabular} \caption{Prospetto dei cambiamenti effettuati sui tempi di ultimo @@ -1865,17 +1872,17 @@ che permettono di accedere al valore numerico di questi bit nel campo \textbf{\var{st\_mode}} bit & \textbf{Significato} \\ \hline \hline - \const{S\_IRUSR} & \textit{user-read}, l'utente può leggere \\ - \const{S\_IWUSR} & \textit{user-write}, l'utente può scrivere \\ - \const{S\_IXUSR} & \textit{user-execute}, l'utente può eseguire \\ - \hline - \const{S\_IRGRP} & \textit{group-read}, il gruppo può leggere \\ - \const{S\_IWGRP} & \textit{group-write}, il gruppo può scrivere \\ - \const{S\_IXGRP} & \textit{group-execute}, il gruppo può eseguire\\ - \hline - \const{S\_IROTH} & \textit{other-read}, tutti possono leggere \\ - \const{S\_IWOTH} & \textit{other-write}, tutti possono scrivere \\ - \const{S\_IXOTH} & \textit{other-execute}, tutti possono eseguire\\ + \const{S\_IRUSR} & \textit{user-read}, l'utente può leggere.\\ + \const{S\_IWUSR} & \textit{user-write}, l'utente può scrivere.\\ + \const{S\_IXUSR} & \textit{user-execute}, l'utente può eseguire.\\ + \hline + \const{S\_IRGRP} & \textit{group-read}, il gruppo può leggere.\\ + \const{S\_IWGRP} & \textit{group-write}, il gruppo può scrivere.\\ + \const{S\_IXGRP} & \textit{group-execute}, il gruppo può eseguire.\\ + \hline + \const{S\_IROTH} & \textit{other-read}, tutti possono leggere.\\ + \const{S\_IWOTH} & \textit{other-write}, tutti possono scrivere.\\ + \const{S\_IXOTH} & \textit{other-execute}, tutti possono eseguire.\\ \hline \end{tabular} \caption{I bit dei permessi di accesso ai file, come definiti in @@ -2159,10 +2166,10 @@ contrario (o di errore) ritorna -1. \textbf{\param{mode}} & \textbf{Significato} \\ \hline \hline - \const{R\_OK} & verifica il permesso di lettura \\ - \const{W\_OK} & verifica il permesso di scritture \\ - \const{X\_OK} & verifica il permesso di esecuzione \\ - \const{F\_OK} & verifica l'esistenza del file \\ + \const{R\_OK} & Verifica il permesso di lettura. \\ + \const{W\_OK} & Verifica il permesso di scrittura. \\ + \const{X\_OK} & Verifica il permesso di esecuzione. \\ + \const{F\_OK} & Verifica l'esistenza del file. \\ \hline \end{tabular} \caption{Valori possibile per l'argomento \param{mode} della funzione @@ -2191,9 +2198,9 @@ filename e su un file descriptor, i loro prototipi sono: \bodydesc{Le funzioni restituiscono zero in caso di successo e -1 per un errore, in caso di errore \var{errno} può assumere i valori: \begin{errlist} - \item[\errcode{EPERM}] L'user-ID effettivo non corrisponde a quello del + \item[\errcode{EPERM}] l'user-ID effettivo non corrisponde a quello del proprietario del file o non è zero. - \item[\errcode{EROFS}] Il file è su un filesystem in sola lettura. + \item[\errcode{EROFS}] il file è su un filesystem in sola lettura. \end{errlist} ed inoltre \errval{EIO}; \func{chmod} restituisce anche \errval{EFAULT}, \errval{ENAMETOOLONG}, \errval{ENOENT}, \errval{ENOMEM}, \errval{ENOTDIR}, @@ -2213,24 +2220,24 @@ file. \textbf{\param{mode}} & \textbf{Valore} & \textbf{Significato} \\ \hline \hline - \const{S\_ISUID} & 04000 & set user ID \itindex{suid~bit} \\ - \const{S\_ISGID} & 02000 & set group ID \itindex{sgid~bit}\\ - \const{S\_ISVTX} & 01000 & sticky bit \itindex{sticky~bit}\\ + \const{S\_ISUID} & 04000 & Set user ID \itindex{suid~bit}.\\ + \const{S\_ISGID} & 02000 & Set group ID \itindex{sgid~bit}.\\ + \const{S\_ISVTX} & 01000 & Sticky bit \itindex{sticky~bit}.\\ \hline - \const{S\_IRWXU} & 00700 & l'utente ha tutti i permessi \\ - \const{S\_IRUSR} & 00400 & l'utente ha il permesso di lettura \\ - \const{S\_IWUSR} & 00200 & l'utente ha il permesso di scrittura \\ - \const{S\_IXUSR} & 00100 & l'utente ha il permesso di esecuzione \\ + \const{S\_IRWXU} & 00700 & L'utente ha tutti i permessi.\\ + \const{S\_IRUSR} & 00400 & L'utente ha il permesso di lettura.\\ + \const{S\_IWUSR} & 00200 & L'utente ha il permesso di scrittura.\\ + \const{S\_IXUSR} & 00100 & L'utente ha il permesso di esecuzione.\\ \hline - \const{S\_IRWXG} & 00070 & il gruppo ha tutti i permessi \\ - \const{S\_IRGRP} & 00040 & il gruppo ha il permesso di lettura \\ - \const{S\_IWGRP} & 00020 & il gruppo ha il permesso di scrittura \\ - \const{S\_IXGRP} & 00010 & il gruppo ha il permesso di esecuzione \\ + \const{S\_IRWXG} & 00070 & Il gruppo ha tutti i permessi.\\ + \const{S\_IRGRP} & 00040 & Il gruppo ha il permesso di lettura.\\ + \const{S\_IWGRP} & 00020 & Il gruppo ha il permesso di scrittura.\\ + \const{S\_IXGRP} & 00010 & Il gruppo ha il permesso di esecuzione.\\ \hline - \const{S\_IRWXO} & 00007 & gli altri hanno tutti i permessi \\ - \const{S\_IROTH} & 00004 & gli altri hanno il permesso di lettura \\ - \const{S\_IWOTH} & 00002 & gli altri hanno il permesso di scrittura \\ - \const{S\_IXOTH} & 00001 & gli altri hanno il permesso di esecuzione \\ + \const{S\_IRWXO} & 00007 & Gli altri hanno tutti i permessi.\\ + \const{S\_IROTH} & 00004 & Gli altri hanno il permesso di lettura.\\ + \const{S\_IWOTH} & 00002 & Gli altri hanno il permesso di scrittura.\\ + \const{S\_IXOTH} & 00001 & Gli altri hanno il permesso di esecuzione.\\ \hline \end{tabular} \caption{Valori delle costanti usate per indicare i vari bit di @@ -2384,7 +2391,7 @@ sono: \bodydesc{Le funzioni restituiscono zero in caso di successo e -1 per un errore, in caso di errore \var{errno} può assumere i valori: \begin{errlist} - \item[\errcode{EPERM}] L'user-ID effettivo non corrisponde a quello del + \item[\errcode{EPERM}] l'user-ID effettivo non corrisponde a quello del proprietario del file o non è zero, o utente e gruppo non sono validi \end{errlist} Oltre a questi entrambe restituiscono gli errori \errval{EROFS} e @@ -2668,7 +2675,7 @@ prototipo \bodydesc{La funzione restituisce zero in caso di successo e -1 per un errore, in caso di errore \var{errno} può assumere i valori: \begin{errlist} - \item[\errcode{EPERM}] L'user-ID effettivo del processo non è zero. + \item[\errcode{EPERM}] l'user-ID effettivo del processo non è zero. \end{errlist} ed inoltre \errval{EFAULT}, \errval{ENAMETOOLONG}, \errval{ENOENT}, \errval{ENOMEM}, \errval{ENOTDIR}, \errval{EACCES}, \errval{ELOOP};