Flag per il controllo del terminale
[gapil.git] / session.tex
index 61e9908b5ffd6dab8c0dc81006bac4e268aa9823..82d4ff701fd78d2871cd2aa441a825c885723476 100644 (file)
@@ -1137,11 +1137,12 @@ modificare i bit su cui non si interviene.
   \label{tab:sess_termios_iflag}
 \end{table}
 
-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}.
+Il primo flag, mantenuto nel campo \var{c\_iflag}, è detto \textsl{flag di
+  input} e controlla le modalità di funzionamento dell'input dei caratteri 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
@@ -1174,10 +1175,10 @@ identificarli 
                     \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{CR0}, \macro{CR1}, \macro{CR2} o \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{TAB0}, \macro{TAB1}, \macro{TAB2} o \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}.\\
@@ -1195,11 +1196,11 @@ identificarli 
 \end{table}
 
 
-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
+Il secondo flag, mantenuto nel campo \var{c\_oflag}, è detto \textsl{flag di
+  output} e controlla le modalità di funzionamento dell'output 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]
@@ -1210,18 +1211,40 @@ costanti utilizzate per identificarli 
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \macro{CBAUD}  & . \\
-    \macro{CBAUDEX}& .\\
-    \macro{CSIZE}  & .\\
-    \macro{CSTOPB} & .\\
-    \macro{CREAD}  & .\\
-    \macro{PARENB} & .\\
-    \macro{PARODD} & . \\
-    \macro{HUPCL}  & .\\
-    \macro{CLOCAL} & .\\
-    \macro{LOBLK}  & .\\
-    \macro{CIBAUD} & .\\
-    \macro{CRTSCTS}& .\\
+    \macro{CLOCAL} & Se impostato indica che il terminale è connesso in locale
+                     e che le linee di controllo del modem devono venire 
+                     ignorate. Se questo flag non è impostato una chiamata ad
+                     \func{open} per la quale non si sia impostato
+                     \macro{O\_NOBLOCK} si bloccherà finché non si sia
+                     stabilita una connessione con il modem, e se viene
+                     rilevata una disconessione viene inviato un
+                     \macro{SIGHUP} al processo di controllo del terminale. La
+                     lettura su un terminale sconnesso comporta una condizione
+                     di \textit{end of file} e la scrittura un errore di
+                     \macro{EIO}. \\
+    \macro{HUPCL}  & Se è impostato vengono staccate le linee di
+                     connessione del modem quando non resta più nessun
+                     processo che ha un file aperto sul terminale.\\
+    \macro{CREAD}  & Se non è impostato l'input del terminale viene scartato.\\
+    \macro{CSTOPB} & Se impostato vengono usati due bit di stop sulla linea
+                     seriale invece di uno.\\
+    \macro{PARENB} & Se impostato abilita la generazione il controllo di
+                     parità. Se non è impostato i bit di parità non vengono
+                     generati e i caratteri non vengono controllati.\\
+    \macro{PARODD} & Ha senso solo se è impostato \macro{PARENB}. Se impostato
+                     la parità è dispari, altrimenti è pari.\\
+    \macro{CSIZE}  & Maschera per i bit che indicano la dimensione del
+                     carattere, i valori possibili sono
+                    \macro{CS5}, \macro{CS6}, \macro{CS7} e \macro{CS8}.\\
+    \macro{CBAUD}  & Maschera dei bit (4+1) usati per impostare della velocità
+                     della linea (il \textit{baud rate}). In Linux viene 
+                     usato un apposito campo di \var{termios}.\\
+    \macro{CBAUDEX}& Bit aggiuntivo per l'impostazione della velocità della
+                     linea.\\
+    \macro{CIBAUD} & Maschera dei bit della velocità della linea in
+                     ingresso. Analogo a \macro{CBAUD}, anch'esso in Linux è
+                     mantenuto in un apposito campo di \var{termios}. \\
+    \macro{CRTSCTS}& Abilita il controllo di flusso hardware (RTS/CTS).\\
     \hline
   \end{tabular}
   \caption{Costanti identificative dei vari bit del flag di controllo
@@ -1229,11 +1252,13 @@ costanti 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 terzo flag, mantenuto nel campo \var{c\_cflag}, è detto \textsl{flag di
+  controllo} ed è legato al funzionamento delle linee seriali, permettendo di
+impostarne varie caratteristiche, come il numero di bit di stop, i settaggi
+della parità, il funzionamento del controllo di flusso; esso ha senso solo per
+i terminali connessi a linee seriali. Un elenco dei vari bit, del loro
+significato e delle costanti utilizzate per identificarli è riportato in
+\tabref{tab:sess_termios_cflag}.
 
 
 \begin{table}[htb]
@@ -1244,16 +1269,18 @@ utilizzate per identificarli 
     \textbf{Valore}& \textbf{Significato}\\
     \hline
     \hline
-    \macro{ISIG} & . \\
-    \macro{ICANON} & .\\
-    \macro{XCASE} & .\\
-    \macro{ECHO} & .\\
-    \macro{ECHOE} & .\\
-    \macro{ECHOK} & .\\
-    \macro{ECHONL} & . \\
-    \macro{ECHOPRT} & .\\
+    \macro{ICANON} & Se impostato il terminale opera in modo canonico,
+                     altrimenti opera in modo non canonico.\\
+    \macro{ECHO}   & Se è impostato viene attivato l'eco dei caratteri in
+                     input sull'output del terminale.\\
+    \macro{ECHOE}  & .\\
+    \macro{ISIG}   & .\\
+    \macro{XCASE}  & .\\
+    \macro{ECHOK}  & .\\
+    \macro{ECHONL} & .\\
+    \macro{ECHOPRT}& .\\
     \macro{ECHOKE} & .\\
-    \macro{DEFECHO} & .\\
+    \macro{DEFECHO}& .\\
     \macro{FLUSHO} & .\\
     \macro{NOFLSH} & .\\
     \macro{TOSTOP} & .\\
@@ -1267,12 +1294,12 @@ 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}.
+Il quarto flag, mantenuto nel campo \var{c\_lflag}, è detto \textsl{flag
+  locale}, e serve per controllare il funzionamento dell'interfaccia fra il
+driver e l'utente, come abilitare l'eco, gestire i caratteri di controllo e
+l'emissione dei segnali, impostare modo canonico o non canonico; un elenco dei
+vari bit, del loro significato e delle costanti utilizzate per identificarli è
+riportato in \tabref{tab:sess_termios_lflag}.