X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=system.tex;h=7589160ef4b4532a3d1a4af39433998bccb999f2;hp=77a866afcea69c5179a3d7a709eee9190d389f8f;hb=b3593007c4edd76ecbf7386967c1b25d27eed828;hpb=70885537614fe3332312bc9e9fcd900e04f22451 diff --git a/system.tex b/system.tex index 77a866a..7589160 100644 --- a/system.tex +++ b/system.tex @@ -403,8 +403,7 @@ riportate in tab.~\ref{tab:sys_file_macro}. \hline \const{LINK\_MAX} &8 & Numero massimo di link a un file.\\ \const{NAME\_MAX}& 14 & Lunghezza in byte di un nome di file. \\ - \const{PATH\_MAX}& 256 & Lunghezza in byte di un - \itindex{pathname} \textit{pathname}.\\ + \const{PATH\_MAX}& 256 & Lunghezza in byte di un \textit{pathname}.\\ \const{PIPE\_BUF}&4096 & Byte scrivibili atomicamente in una pipe (vedi sez.~\ref{sec:ipc_pipes}).\\ \const{MAX\_CANON}&255 & Dimensione di una riga di terminale in modo @@ -435,7 +434,7 @@ le analoghe di tab.~\ref{tab:sys_posix1_general}. \const{\_POSIX\_LINK\_MAX} &8 & Numero massimo di link a un file.\\ \const{\_POSIX\_NAME\_MAX}& 14 & Lunghezza in byte di un nome di file.\\ \const{\_POSIX\_PATH\_MAX}& 256 & Lunghezza in byte di un - \itindex{pathname} \textit{pathname}.\\ + \textit{pathname}.\\ \const{\_POSIX\_PIPE\_BUF}& 512 & Byte scrivibili atomicamente in una pipe.\\ \const{\_POSIX\_MAX\_CANON}&255 & Dimensione di una riga di @@ -478,13 +477,13 @@ E si noti come la funzione in questo caso richieda un argomento che specifichi a quale file si fa riferimento, dato che il valore del limite cercato può variare a seconda del filesystem. Una seconda versione della funzione, \funcd{fpathconf}, opera su un file descriptor invece che su un -\itindex{pathname} \textit{pathname}. Il suo prototipo è: +\textit{pathname}. Il suo prototipo è: \begin{prototype}{unistd.h}{long fpathconf(int fd, int name)} Restituisce il valore del parametro \param{name} per il file \param{fd}. \bodydesc{È identica a \func{pathconf} solo che utilizza un file descriptor - invece di un \itindex{pathname} \textit{pathname}; pertanto gli errori - restituiti cambiano di conseguenza.} + invece di un \textit{pathname}; pertanto gli errori restituiti cambiano di + conseguenza.} \end{prototype} \noindent ed il suo comportamento è identico a quello di \func{pathconf}. @@ -603,8 +602,8 @@ maniera gerarchica all'interno di un albero;\footnote{si tenga presente che di Linux occorrerà includere anche i file \file{linux/unistd.h} e \file{linux/sysctl.h}.} per accedere ad uno di essi occorre specificare un cammino attraverso i vari nodi dell'albero, in maniera analoga a come avviene -per la risoluzione di un \itindex{pathname} \textit{pathname} (da cui l'uso -alternativo del filesystem \file{/proc}, che vedremo dopo). +per la risoluzione di un \textit{pathname} (da cui l'uso alternativo del +filesystem \file{/proc}, che vedremo dopo). Ciascun nodo dell'albero è identificato da un valore intero, ed il cammino che arriva ad identificare un parametro specifico è passato alla funzione @@ -647,9 +646,9 @@ forma di file alcune delle strutture interne del kernel stesso. In particolare l'albero dei valori di \func{sysctl} viene presentato in forma di file nella directory \file{/proc/sys}, cosicché è possibile accedervi -specificando un \itindex{pathname} \textit{pathname} e leggendo e scrivendo sul -file corrispondente al parametro scelto. Il kernel si occupa di generare al -volo il contenuto ed i nomi dei file corrispondenti, e questo ha il grande +specificando un \textit{pathname} e leggendo e scrivendo sul file +corrispondente al parametro scelto. Il kernel si occupa di generare al volo +il contenuto ed i nomi dei file corrispondenti, e questo ha il grande vantaggio di rendere accessibili i vari parametri a qualunque comando di shell e di permettere la navigazione dell'albero dei valori. @@ -898,6 +897,8 @@ file di \textsl{registro} di utenti e gruppi, con il formato classico di \label{tab:sys_passwd_func} \end{table} +% TODO mancano i prototipi di alcune delle funzioni + Dato che oramai la gran parte delle distribuzioni di GNU/Linux utilizzano almeno le \textit{shadow password} (quindi con delle modifiche rispetto al formato classico del file \conffile{/etc/passwd}), si tenga presente che le @@ -1548,10 +1549,10 @@ prototipo è: \errval{ENOTDIR}, \errval{EROFS}.} \end{prototype} -La funzione attiva il salvataggio dei dati sul file indicato dal pathname -contenuti nella stringa puntata da \param{filename}; la funzione richiede che -il processo abbia i privilegi di amministratore (è necessaria la -\itindex{capabilities} capability \const{CAP\_SYS\_PACCT}, vedi +La funzione attiva il salvataggio dei dati sul file indicato dal +\textit{pathname} contenuti nella stringa puntata da \param{filename}; la +funzione richiede che il processo abbia i privilegi di amministratore (è +necessaria la \itindex{capabilities} capability \const{CAP\_SYS\_PACCT}, vedi sez.~\ref{sec:proc_capabilities}). Se si specifica il valore \val{NULL} per \param{filename} il \textit{BSD accounting} viene invece disabilitato. Un semplice esempio per l'uso di questa funzione è riportato nel programma