X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=481ef534fd92d789e0b1fcebd06d648cf775a14a;hp=efdefa2260bbf86b28bd56aed9060638cc42bbf9;hb=59b107d5207f19e0049bbd1032e10cba660da92e;hpb=e18f3ea57b725bc148f0d3443e384bf5270b2b9f diff --git a/filedir.tex b/filedir.tex index efdefa2..481ef53 100644 --- a/filedir.tex +++ b/filedir.tex @@ -672,7 +672,7 @@ funzione per la lettura delle directory. Tutto questo si riflette nello standard POSIX\footnote{le funzioni sono previste pure in BSD e SVID.} che ha introdotto una apposita interfaccia per -la lettura delle directory, basata sui cosiddetti \textit{directory streams} +la lettura delle directory, basata sui cosiddetti \textit{directory stream} (chiamati così per l'analogia con i file stream dell'interfaccia standard di \capref{cha:files_std_interface}). La prima funzione di questa interfaccia è \funcd{opendir}, il cui prototipo è: @@ -830,10 +830,12 @@ il nome del relativo campo; nel nostro caso sono definite le macro Per quanto riguarda il significato dei campi opzionali, il campo \var{d\_type} indica il tipo di file (fifo, directory, link simbolico, ecc.); i suoi -possibili valori sono riportati in \tabref{tab:file_dtype_macro}; per la -conversione da e verso l'analogo valore mantenuto dentro il campo -\var{st\_mode} di \struct{stat} sono definite anche due macro di conversione -\macro{IFTODT} e \macro{DTTOIF}: +possibili valori\footnote{fino alla versione 2.1 delle \acr{glibc} questo + campo, pur presente nella struttura, non è implementato, e resta sempre al + valore \const{DT\_UNKNOWN}.} sono riportati in +\tabref{tab:file_dtype_macro}; per la conversione da e verso l'analogo valore +mantenuto dentro il campo \var{st\_mode} di \struct{stat} sono definite anche +due macro di conversione \macro{IFTODT} e \macro{DTTOIF}: \begin{functions} \funcdecl{int IFTODT(mode\_t MODE)} Converte il tipo di file dal formato di \var{st\_mode} a quello di \var{d\_type}. @@ -846,9 +848,9 @@ Il campo \var{d\_off} contiene invece la posizione della voce successiva della directory, mentre il campo \var{d\_reclen} la lunghezza totale della voce letta. Con questi due campi diventa possibile, determinando la posizione delle varie voci, spostarsi all'interno dello stream usando la funzione -\func{seekdir},\footnote{sia questa funzione, che la corrispondente - \func{telldir}, sono estensioni prese da BSD, non previste dallo standard - POSIX.} il cui prototipo è: +\func{seekdir},\footnote{sia questa funzione che \func{telldir}, sono + estensioni prese da BSD, non previste dallo standard POSIX.} il cui +prototipo è: \begin{prototype}{dirent.h}{void seekdir(DIR *dir, off\_t offset)} Cambia la posizione all'interno di un \textit{directory stream}. \end{prototype} @@ -1106,7 +1108,7 @@ concluse con successo. A ciascun processo è associata una directory nel filesystem che è chiamata directory corrente o directory di lavoro (\textit{current working directory}) -che è quella a cui si fa riferimento quando un filename è espresso in forma +che è quella a cui si fa riferimento quando un pathname è espresso in forma relativa, dove il ``\textsl{relativa}'' fa riferimento appunto a questa directory. @@ -1189,7 +1191,7 @@ appunto per \textit{change directory}, il suo prototipo quale si hanno i permessi di accesso. Dato che anche le directory sono file, è possibile riferirsi ad esse anche -tramite il file descriptor, e non solo tramite il filename, per fare questo si +tramite il file descriptor, e non solo tramite il pathname, per fare questo si usa \funcd{fchdir}, il cui prototipo è: \begin{prototype}{unistd.h}{int fchdir(int fd)} Identica a \func{chdir}, ma usa il file descriptor \param{fd} invece del @@ -1513,7 +1515,7 @@ un'opportuna combinazione. \textbf{Flag} & \textbf{Valore} & \textbf{Significato} \\ \hline \hline - \const{S\_IFMT} & 0170000 & bitmask per i bit del tipo di file \\ + \const{S\_IFMT} & 0170000 & maschera per i bit del tipo di file \\ \const{S\_IFSOCK} & 0140000 & socket\index{socket} \\ \const{S\_IFLNK} & 0120000 & link simbolico \\ \const{S\_IFREG} & 0100000 & file regolare \\ @@ -2527,7 +2529,7 @@ alcun effetto qualora il processo possieda i privilegi di amministratore. \end{table} Per compattezza, nella tabella si sono specificati i bit di \acr{suid}, -\acr{sgid} e \acr{stiky} con la notazione illustrata anche in +\acr{sgid} e \acr{sticky} con la notazione illustrata anche in \figref{fig:file_perm_bit}. In \tabref{tab:file_dirperm_bits} si sono invece riassunti gli effetti dei