abilitato il controllo di flusso in ingresso il driver emette i caratteri di
STOP e START per bloccare e sbloccare l'ingresso dei dati; altrimenti i
caratteri immessi oltre le dimensioni massime vengono persi; in alcuni casi il
-driver provvede ad inviare automaticamente un avviso (un carattere di
-\textit{BELL}, che provoca un beep) sull'output quando si eccedono le
-dimensioni della coda. Se è abilitato il modo canonico i caratteri in ingresso
-restano nella coda fintanto che non viene ricevuto un a capo; un'altra
-costante, \macro{MAX\_CANON}, specifica la dimensione massima di una riga in
-modo canonico.
+driver provvede ad inviare automaticamente un avviso (un carattere di BELL,
+che provoca un beep) sull'output quando si eccedono le dimensioni della coda.
+Se è abilitato il modo canonico i caratteri in ingresso restano nella coda
+fintanto che non viene ricevuto un a capo; un'altra costante,
+\macro{MAX\_CANON}, specifica la dimensione massima di una riga in modo
+canonico.
La coda di uscita è analoga a quella di ingresso e contiene i caratteri
scritti dai processi ma non ancora inviati al terminale. Se è abilitato il
opportuna. I valori devono essere specificati bit per bit, avendo cura di non
modificare i bit su cui non si interviene.
-Il primo flag, \var{c\_iflag}, o flag di input, controlla le modalità
-dell'ingresso dei dati sul terminale come il controllo di parità, il controllo
-di flusso, la gestione dei caratteri speciali; un elenco dei vari bit, del
-loro significato e delle costanti utilizzate per identificarli è riportato in
-\tabref{tab:sess_termios_iflag}.
-
-\begin{table}[htb]
+\begin{table}[b!ht]
\footnotesize
\centering
- \begin{tabular}[c]{|l|p{10cm}|}
+ \begin{tabular}[c]{|l|p{13cm}|}
\hline
\textbf{Valore}& \textbf{Significato}\\
\hline
\hline
- \macro{IGNBRK} & Ignora le condizioni di \textit{BREAK} sull'input. Una
- \textit{condizione di BREAK} è definita nel contesto di
- una trasmissione seriale asincrona come una sequenza di
- bit nulli più lunga di un byte. \\
- \macro{BRKINT} & Se si è impostato \macro{IGNBRK} un \textit{BREAK} viene
- comunque ignorato. Altrimenti se \macro{BRKINT} è
- impostato il \textit{BREAK} causa lo scarico delle code,
- e se il terminale è il terminale di controllo per un
- gruppo in foreground anche l'invio di \macro{SIGINT} ai
- processi di quest'ultimo. Se invece \macro{BRKINT} è
- impostato un \textit{BREAK} viene letto come un carattere
- \textit{NUL}, a meno che non sia settato \macro{PARMRK}
- nel qual caso viene letto come la sequenza di caratteri
- \texttt{0xFF 0x00 0x00}.\\
\macro{INPCK} & Abilita il controllo di parità in ingresso. Se non viene
impostato non viene fatto nessun controllo ed i caratteri
vengono passati in input direttamente.\\
- \macro{IGNPAR} & Ignora gli errori di parità. Ha senso solo se si è
- impostato \macro{INPCK}.\\
+ \macro{IGNPAR} & Ignora gli errori di parità, il carattere viene passato
+ come ricevuto. Ha senso solo se si è impostato
+ \macro{INPCK}.\\
\macro{PARMRK} & Controlla come vengono riportati gli errori di parità. Ha
senso solo se \macro{INPCK} è impostato e \macro{IGNPAR}
no. Se impostato inserisce una sequenza \texttt{0xFF
parità, se non impostato un carattere con errori di
parità viene letto come uno \texttt{0x00}. Se un
carattere ha il valore \texttt{0xFF} e \macro{ISTRIP}
- non è settato, per evitare ambiguità esso viene \\
- \macro{ISTRIP} & .\\
- \macro{INLCR} & .\\
- \macro{IGNCR} & .\\
- \macro{ICRNL} & .\\
- \macro{IUCLC} & .\\
- \macro{IXON} & .\\
- \macro{IXANY} & .\\
- \macro{IXOFF} & .\\
- \macro{IMAXBEL}& .\\
+ non è settato, per evitare ambiguità esso viene sempre
+ riportato come \texttt{0xFF 0xFF}.\\
+ \macro{ISTRIP} & Se impostato i caratteri in input sono tagliati a sette
+ bit mettendo a zero il bit più significativo, altrimenti
+ vengono passati tutti gli otto bit.\\
+ \macro{IGNBRK} & Ignora le condizioni di BREAK sull'input. Una
+ \textit{condizione di BREAK} è definita nel contesto di
+ una trasmissione seriale asincrona come una sequenza di
+ bit nulli più lunga di un byte. \\
+ \macro{BRKINT} & Controlla la reazione ad un BREAK quando
+ \macro{IGNBRK} non è impostato. Se \macro{BRKINT} è
+ impostato il BREAK causa lo scarico delle code,
+ e se il terminale è il terminale di controllo per un
+ gruppo in foreground anche l'invio di \macro{SIGINT} ai
+ processi di quest'ultimo. Se invece \macro{BRKINT} non è
+ impostato un BREAK viene letto come un carattere
+ NUL, a meno che non sia settato \macro{PARMRK}
+ nel qual caso viene letto come la sequenza di caratteri
+ \texttt{0xFF 0x00 0x00}.\\
+ \macro{IGNCR} & Se impostato il carattere di ritorno carrello
+ (\textit{carriage return}, \verb|'\r'|) viene scartato
+ dall'input. Può essere utile per i terminali che inviano
+ entrambi i caratteri di ritorno carrello e a capo
+ (\textit{newline}, \verb|'\n'|). \\
+ \macro{ICRNL} & Se impostato un carattere di ritorno carrello
+ (\verb|'\r'|) sul terminale viene automaticamente
+ trasformato in un a capo (\verb|'\n'|) sulla coda di
+ input. \\
+ \macro{INLCR} & Se impostato il carattere di a capo
+ (\verb|'\n'|) viene automaticamente trasformato in un
+ ritorno carello (\verb|'\r'|).\\
+ \macro{IUCLC} & Se impostato trasforma i caratteri maiuscoli dal
+ terminale in minuscoli sull'ingresso (opzione non
+ POSIX).\\
+ \macro{IXON} & Se impostato attiva il controllo di flusso in uscita con i
+ caratteri di START e STOP. se si riceve
+ uno STOP l'output viene bloccato, e viene fatto
+ ripartire solo da uno START, e questi due
+ caratteri non vengono passati alla coda di input. Se non
+ impostato i due caratteri sono passati alla coda di input
+ insieme agli altri.\\
+ \macro{IXANY} & Se impostato con il controllo di flusso permette a
+ qualunque carattere di far ripartire l'output bloccato da
+ un carattere di STOP.\\
+ \macro{IXOFF} & Se impostato abilita il controllo di flusso in
+ ingresso. Il computer emette un carattere di STOP per
+ bloccare l'input dal terminale e lo sblocca con il
+ carattere START. \\
+ \macro{IMAXBEL}& Se impostato fa suonare il cicalino se si riempie la cosa
+ di ingresso; in Linux non è implementato e il kernel si
+ comporta cose se fosse sempre settato (è una estensione
+ BSD). \\
\hline
\end{tabular}
\caption{Costanti identificative dei vari bit del flag di controllo
\label{tab:sess_termios_iflag}
\end{table}
-
-Il secondo flag, \var{c\_oflag}, o flag di output, controlla le modalità di
-output, come l'impacchettamento dei caratteri sullo schermo, la traslazione
-degli a capo, la conversione dei caratteri speciali; un elenco dei vari bit,
-del loro significato e delle costanti utilizzate per identificarli è riportato
-in \tabref{tab:sess_termios_oflag}.
+Il primo flag, mantenuto nel campo \var{c\_iflag}, è flag di input che
+controlla le modalità dell'ingresso dei dati sul terminale, come il controllo
+di parità, il controllo di flusso, la gestione dei caratteri speciali; un
+elenco dei vari bit, del loro significato e delle costanti utilizzate per
+identificarli è riportato in \tabref{tab:sess_termios_iflag}.
\begin{table}[htb]
\footnotesize
\centering
- \begin{tabular}[c]{|l|p{10cm}|}
+ \begin{tabular}[c]{|l|p{13cm}|}
\hline
\textbf{Valore}& \textbf{Significato}\\
\hline
\hline
- \macro{OPOST} & . \\
- \macro{OLCUC} & .\\
- \macro{ONLCR} & .\\
- \macro{OCRNL} & .\\
- \macro{ONOCR} & .\\
- \macro{ONLRET} & .\\
- \macro{OFILL} & . \\
- \macro{OFDEL} & .\\
- \macro{NLDLY} & .\\
- \macro{CRDLY} & .\\
- \macro{TABDLY} & .\\
- \macro{BSDLY} & .\\
- \macro{VTDLY} & .\\
- \macro{FFDLY} & .\\
+ \macro{OPOST} & Se impostato i caratteri vengono convertiti opportunamente
+ per la visulizzazione sul terminale, ad esempio al
+ carattere di a capo (NL) può venire aggiunto un ritorno
+ carrello (CR).\\
+ \macro{OCRNL} & Se impostato converte automaticamente il carattere di a
+ capo (NL) nella coppia ritorno carrello, a capo (CR-LF).\\
+ \macro{OLCUC} & Se impostato trasforma i caratteri minuscoli in caratteri
+ maiuscoli sull'uscita.\\
+ \macro{ONLCR} & Se impostato converte il carattere di a capo (NL) in
+ ritorno carrello (CR).\\
+ \macro{ONOCR} & Se impostato converte il ritorno carrello (CR) nella
+ coppia CR-LF.\\
+ \macro{ONLRET}& Se impostato rimuove dall'output il carattere di ritorno
+ carrello (CR).\\
+ \macro{OFILL} & Se impostato in caso di ritardo sulla linea invia dei
+ caratteri di riempimento invece di attendere.\\
+ \macro{OFDEL} & Se impostato il carattere di riempimento è DEL
+ (\texttt{0x3F}), invece che NUL (\texttt{0x00}).\\
+ \macro{NLDLY} & Maschera per i bit che indicano il ritardo per il
+ carattere di a capo, i valori possibili sono \macro{NL0} o
+ \macro{NL1}.\\
+ \macro{CRDLY} & Maschera per i bit che indicano il ritardo per il
+ carattere ritorno carrello, i valori possibili sono
+ \macro{CR0}, \macro{CR1}, \macro{CR2}, \macro{CR3}.\\
+ \macro{TABDLY}& Maschera per i bit che indicano il ritardo per il
+ carattere di tabulazione, i valori possibili sono
+ \macro{TAB0}, \macro{TAB1}, \macro{TAB2}, \macro{TAB3}.\\
+ \macro{BSDLY} & Maschera per i bit che indicano il ritardo per il
+ carattere di ritorno indietro (\textit{backspace}), i
+ valori possibili sono \macro{BS0} o \macro{BS1}.\\
+ \macro{VTDLY} & Maschera per i bit che indicano il ritardo per il
+ carattere di tabulazione verticale, i valori possibili sono
+ \macro{VT0} o \macro{VT1}.\\
+ \macro{FFDLY} & Maschera per i bit che indicano il ritardo per il
+ carattere di pagina nuova (\textit{form feed}), i valori
+ possibili sono \macro{FF0} o \macro{FF1}.\\
\hline
\end{tabular}
\caption{Costanti identificative dei vari bit del flag di controllo
\label{tab:sess_termios_oflag}
\end{table}
-Il terzo flag, \var{c\_cflag}, o flag di controllo è legato al funzionamento
-delle linee seriali permette di impostarne varie caratteristiche, come il
-numero di bit di stop, i settaggi della parità, il funzionamento del controllo
-di flusso; un elenco dei vari bit, del loro significato e delle costanti
-utilizzate per identificarli è riportato in \tabref{tab:sess_termios_cflag}.
+
+Il secondo flag, mantenuto nel campo \var{c\_oflag}, è il flag di output che
+controlla le modalità dell'uscita dei caratteri, come l'impacchettamento dei
+caratteri sullo schermo, la traslazione degli a capo, la conversione dei
+caratteri speciali; un elenco dei vari bit, del loro significato e delle
+costanti utilizzate per identificarli è riportato in
+\tabref{tab:sess_termios_oflag}.
\begin{table}[htb]
\footnotesize
\textbf{Valore}& \textbf{Significato}\\
\hline
\hline
- \macro{CBAUD} & . \\
- \macro{CBAUDEX} & .\\
- \macro{CSIZE} & .\\
+ \macro{CBAUD} & . \\
+ \macro{CBAUDEX}& .\\
+ \macro{CSIZE} & .\\
\macro{CSTOPB} & .\\
- \macro{CREAD} & .\\
+ \macro{CREAD} & .\\
\macro{PARENB} & .\\
\macro{PARODD} & . \\
- \macro{HUPCL} & .\\
+ \macro{HUPCL} & .\\
\macro{CLOCAL} & .\\
- \macro{LOBLK} & .\\
+ \macro{LOBLK} & .\\
\macro{CIBAUD} & .\\
- \macro{CRTSCTS} & .\\
+ \macro{CRTSCTS}& .\\
\hline
\end{tabular}
\caption{Costanti identificative dei vari bit del flag di controllo
\label{tab:sess_termios_cflag}
\end{table}
+Il terzo flag, \var{c\_cflag}, o flag di controllo è legato al funzionamento
+delle linee seriali permette di impostarne varie caratteristiche, come il
+numero di bit di stop, i settaggi della parità, il funzionamento del controllo
+di flusso; un elenco dei vari bit, del loro significato e delle costanti
+utilizzate per identificarli è riportato in \tabref{tab:sess_termios_cflag}.
-Il quarto flag, \var{c\_lflag}, o flag locale, serve per modificare il
-funzionamento dell'interfaccia fra il driver e l'utente, come abilitare l'eco,
-controllare l'emissione dei segnali generati dal terminale, attivare i
-caratteri per il job control; un elenco dei vari bit, del loro significato e
-delle costanti utilizzate per identificarli è riportato in
-\tabref{tab:sess_termios_lflag}.
\begin{table}[htb]
\footnotesize
\end{table}
+Il quarto flag, \var{c\_lflag}, o flag locale, serve per modificare il
+funzionamento dell'interfaccia fra il driver e l'utente, come abilitare l'eco,
+controllare l'emissione dei segnali generati dal terminale, attivare i
+caratteri per il job control; un elenco dei vari bit, del loro significato e
+delle costanti utilizzate per identificarli è riportato in
+\tabref{tab:sess_termios_lflag}.
+