\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
\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
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}.
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
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.
\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
\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