poi porsi in attesa dell'immissione del nome di un utente.
Una volta che si sia immesso il nome di login \cmd{getty} esegue direttamente
-il programma \cmd{login} con una \func{exevle}, passando come argomento la
+il programma \cmd{login} con una \func{execle}, passando come argomento la
stringa con il nome, ed un ambiente opportunamente costruito che contenga
quanto necessario; ad esempio di solito viene opportunamente inizializzata la
variabile di ambiente \envvar{TERM} per identificare il terminale su cui si
\textit{syslog} è anche il kernel, che a sua volta può avere necessità di
inviare messaggi verso l'\textit{user space}. I messaggi del kernel sono
mantenuti in un apposito buffer circolare e generati all'interno del kernel
-tramite la funzione \func{printk}, analoga alla \func{printf} usata in
+tramite la funzione \texttt{printk}, analoga alla \func{printf} usata in
\textit{user space}.\footnote{una trattazione eccellente dell'argomento si
trova nel quarto capitolo di \cite{LinDevDri}.}
\label{fig:printk_priority}
\end{figure}
-Dato che i messaggi generati da \func{printk} hanno un loro specifico formato
-tradizionalmente si usava un demone ausiliario, \cmd{klogd}, per leggerli,
-rimappare le priorità sui valori di tab.~\ref{tab:sess_syslog_priority} e
-inviarli al sistema del \textit{syslog} nella facility \const{LOG\_KERN}.
-Oggi i nuovi demoni più avanzati che realizzano il servizio (come
-\texttt{rsyslog} o \texttt{syslog-ng}) sono in grado di fare tutto questo da
-soli.
+Dato che i messaggi generati da \texttt{printk} hanno un loro specifico
+formato tradizionalmente si usava un demone ausiliario, \cmd{klogd}, per
+leggerli, rimappare le priorità sui valori di
+tab.~\ref{tab:sess_syslog_priority} e inviarli al sistema del \textit{syslog}
+nella facility \const{LOG\_KERN}. Oggi i nuovi demoni più avanzati che
+realizzano il servizio (come \texttt{rsyslog} o \texttt{syslog-ng}) sono in
+grado di fare tutto questo da soli.
Ma i messaggi del kernel non sono necessariamente connessi al sistema del
\textit{syslog}; ad esempio possono anche essere letti direttamente dal buffer
\item[\errcode{ERESTARTSYS}] l'operazione è stata interrotta da un segnale.
\item[\errcode{EPERM}] non si hanno i privilegi richiesti per l'operazione
richiesta.
- \item[\errcode{ENOSYS}] il supporto per \func{printk} non è stato compilato
+ \item[\errcode{ENOSYS}] il supporto per \texttt{printk} non è stato compilato
nel kernel.
\end{errlist}
ed inoltre \errval{EBADF} ed \errval{ENOSYS}.
sez.~\ref{sec:sys_characteristics} che indica la dimensione che deve avere
una stringa per poter contenere il nome di un terminale.} caratteri.
-Si tenga presente che il \itindex{pathname} \textit{pathname} restituito dalla
-funzione potrebbe non identificare univocamente il terminale (ad esempio
-potrebbe essere \file{/dev/tty}), inoltre non è detto che il processo possa
-effettivamente essere in grado di aprire il terminale.
+Si tenga presente che il \textit{pathname} restituito dalla funzione potrebbe
+non identificare univocamente il terminale (ad esempio potrebbe essere
+\file{/dev/tty}), inoltre non è detto che il processo possa effettivamente
+essere in grado di aprire il terminale.
I vari attributi associati ad un terminale vengono mantenuti per ciascuno di
essi in una struttura \struct{termios} che viene usata dalle varie funzioni
% LocalWords: NOCTTY TIOCSCTTY error tcsetpgrp termios fd pgrpid descriptor VT
% LocalWords: ENOTTY ENOSYS EBADF SIGTTIN SIGTTOU EIO tcgetpgrp crypt SIGTSTP
% LocalWords: SIGINT SIGQUIT SIGTERM SIGHUP hungup kill orphaned SIGCONT exit
-% LocalWords: init Slackware run level inittab fig device getty exevle TERM at
+% LocalWords: init Slackware run level inittab fig device getty TERM at
% LocalWords: getpwnam chdir home chown chmod setuid setgid initgroups SIGCHLD
% LocalWords: daemon like daemons NdT Stevens Programming FAQ filesystem umask
% LocalWords: noclose syslog syslogd socket UDP klogd printk printf facility