From: Simone Piccardi Date: Tue, 8 Oct 2002 17:26:10 +0000 (+0000) Subject: Inseriti altri valori per i flag di controllo dei terminali X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=d46eeb13b774782fc2d9a7e59f1961197931a95a Inseriti altri valori per i flag di controllo dei terminali --- diff --git a/session.tex b/session.tex index 653ff75..61e9908 100644 --- a/session.tex +++ b/session.tex @@ -970,12 +970,12 @@ coda pu 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 @@ -1057,39 +1057,20 @@ terminale; essi sono realizzati come maschera binaria, pertanto il tipo 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 @@ -1097,16 +1078,58 @@ loro significato e delle costanti utilizzate per identificarli 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 @@ -1114,35 +1137,56 @@ loro significato e delle costanti utilizzate per identificarli \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 @@ -1150,11 +1194,13 @@ in \tabref{tab:sess_termios_oflag}. \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 @@ -1164,18 +1210,18 @@ utilizzate per identificarli \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 @@ -1183,13 +1229,12 @@ utilizzate per identificarli \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 @@ -1222,6 +1267,13 @@ delle costanti utilizzate per identificarli \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}. +