-di code di ingresso ed uscita; in generale si fa riferimento ad esse con il
-nome di \textsl{discipline di linea}.
-
-Lo standard POSIX prevede alcune funzioni che permettono di intervenire
-direttamente sulla gestione di quest'ultime e sull'interazione fra i dati in
-ingresso ed uscita e le relative code. In generale tutte queste funzioni
-vengono considerate, dal punto di vista dell'accesso al terminale, come delle
-funzioni di scrittura, pertanto se usate da processi in background sul loro
-terminale di controllo provocano l'emissione di \signal{SIGTTOU} come
-illustrato in sez.~\ref{sec:sess_ctrl_term}.\footnote{con la stessa eccezione,
- già vista per \func{tcsetattr}, che quest'ultimo sia bloccato o ignorato dal
- processo chiamante.}
-
-Una prima funzione, che è efficace solo in caso di terminali seriali asincroni
-(non fa niente per tutti gli altri terminali), è \funcd{tcsendbreak}; il suo
-prototipo è:
-\begin{functions}
- \headdecl{unistd.h}
- \headdecl{termios.h}
-
- \funcdecl{int tcsendbreak(int fd, int duration)} Genera una condizione di
- break inviando un flusso di bit nulli.
-
- \bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
- errore, nel qual caso \var{errno} assumerà i valori \errval{EBADF} o
- \errval{ENOTTY}.}
-\end{functions}
-
-La funzione invia un flusso di bit nulli (che genera una condizione di break)
-sul terminale associato a \param{fd}; un valore nullo di \param{duration}
-implica una durata del flusso fra 0.25 e 0.5 secondi, un valore diverso da
-zero implica una durata pari a \code{duration*T} dove \code{T} è un valore
-compreso fra 0.25 e 0.5.\footnote{lo standard POSIX specifica il comportamento
- solo nel caso si sia impostato un valore nullo per \param{duration}; il
- comportamento negli altri casi può dipendere dalla implementazione.}
-
-Le altre funzioni previste da POSIX servono a controllare il comportamento
-dell'interazione fra le code associate al terminale e l'utente; la prima è
-\funcd{tcdrain}, il cui prototipo è:
-\begin{functions}
- \headdecl{unistd.h}
- \headdecl{termios.h}
-
- \funcdecl{int tcdrain(int fd)} Attende lo svuotamento della coda di output.
-
- \bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
- errore, nel qual caso \var{errno} assumerà i valori \errval{EBADF} o
- \errval{ENOTTY}.}
-\end{functions}
+di code di ingresso ed uscita; in generale si fa riferimento a queste
+funzionalità con il nome di \textsl{disciplina di
+ linea}.\index{disciplina~di~linea} Lo standard POSIX prevede alcune funzioni
+che permettono di intervenire direttamente sulla gestione della disciplina di
+linea e sull'interazione fra i dati in ingresso ed uscita e le relative code.
+
+In generale tutte queste funzioni vengono considerate, dal punto di vista
+dell'accesso al terminale, come delle funzioni di scrittura, pertanto se usate
+da processi in background sul loro terminale di controllo provocano
+l'emissione di \signal{SIGTTOU}, come illustrato in
+sez.~\ref{sec:sess_ctrl_term}, con la stessa eccezione, già vista per
+\func{tcsetattr}, che quest'ultimo sia bloccato o ignorato dal processo
+chiamante.
+
+Una prima funzione, che è efficace solo in caso di terminali seriali
+asincroni, e non fa niente per tutti gli altri terminali, è
+\funcd{tcsendbreak}; il suo prototipo è:
+
+\begin{funcproto}{
+\fhead{unistd.h}
+\fhead{termios.h}
+\fdecl{int tcsendbreak(int fd, int duration)}
+\fdesc{Genera una condizione di \textit{break}.}
+
+}
+
+{La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual
+ caso \var{errno} assumerà uno dei valori \errval{EBADF} o \errval{ENOTTY}
+ nel loro significato generico.}
+\end{funcproto}
+
+La funzione invia un flusso di bit nulli, che genera una condizione di
+\textit{break}, sul terminale associato a \param{fd}. Un valore nullo
+di \param{duration} implica una durata del flusso fra 0.25 e 0.5 secondi, un
+valore diverso da zero implica una durata pari a \code{duration*T} dove
+\code{T} è un valore compreso fra 0.25 e 0.5 secondi. Lo standard POSIX
+specifica il comportamento solo nel caso si sia impostato un valore nullo
+per \param{duration}, il comportamento negli altri casi può dipendere
+dall'implementazione.
+
+Le altre funzioni previste dallo standard POSIX servono a controllare il
+comportamento dell'interazione fra le code associate al terminale e l'utente;
+la prima di queste è \funcd{tcdrain}, il cui prototipo è:
+
+
+\begin{funcproto}{
+\fhead{unistd.h}
+\fhead{termios.h}
+\fdecl{int tcdrain(int fd)}
+\fdesc{Attende lo svuotamento della coda di uscita.}
+}
+
+{La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual
+ caso \var{errno} assumerà i valori \errval{EBADF} o \errval{ENOTTY}.}
+\end{funcproto}