1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1993 Michael Haardt
.\" (michael@moria.de)
.\" Fri Apr 2 11:32:09 MET DST 1993
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.\"
.\" Modified Sat Jul 24 15:37:39 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sat Feb 25 18:17:14 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\" Modified Sat Sep 2 22:33:09 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
.\" moved to man3, aeb, 950919
.\"
.TH TERMIOS 3 "2 de setembro de 1995" "Linux" "Manual do Programador Linux"
.SH NOME
termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow,
cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed,
tcgetpgrp, tcsetpgrp \- obtm e seta
atributos de terminal, controle de linha, obtm e seta taxa de bauds, obtm e seta
o ID de grupos de processos em primeiro plano
.SH SINOPSE
.ad l
.ft B
#include <termios.h>
.br
#include <unistd.h>
.sp
.BI "int tcgetattr ( int " fd ", struct termios *" termios_p " );"
.sp
.BI "int tcsetattr ( int " fd ", int " optional_actions ", struct termios *" termios_p " );"
.sp
.BI "int tcsendbreak ( int " fd ", int " duration " );"
.sp
.BI "int tcdrain ( int " fd " );"
.sp
.BI "int tcflush ( int " fd ", int " queue_selector " );"
.sp
.BI "int tcflow ( int " fd ", int " action " );"
.sp
.BI "int cfmakeraw ( struct termios *" termios_p " );"
.sp
.BI "speed_t cfgetospeed ( struct termios *" termios_p " );"
.sp
.BI "int cfsetospeed ( struct termios *" termios_p ", speed_t " speed " );"
.sp
.BI "speed_t cfgetispeed ( struct termios *" termios_p " );"
.sp
.BI "int cfsetispeed ( struct termios *" termios_p ", speed_t " speed " );"
.sp
.BI "pid_t tcgetpgrp ( int " fd " );"
.sp
.BI "int tcsetpgrp ( int " fd ", pid_t " pgrpid " );"
.ft P
.ad b
.SH DESCRIO
As funes termios descrevem uma interface de terminal geral que fornecida
para controlar portas de comunicao assncronas.
.LP
Muitas das funes descritas aqui tm um argumento \fItermios_p\fP que um
ponteiro para uma estrutura \fBtermios\fP. Esta estrutura contm os seguintes
membros:
.ne 9
.sp
.RS
.nf
tcflag_t \fIc_iflag\fP; /* modos de entrada */
tcflag_t \fIc_oflag\fP; /* modos de sada */
tcflag_t \fIc_cflag\fP; /* modos de controle */
tcflag_t \fIc_lflag\fP; /* modos locais */
cc_t \fIc_cc\fP[\fBNCCS\fP]; /* caracteres de controle */
.RE
.sp
.fi
.PP
constantes de flag \fIc_iflag\fP:
.IP \fBIGNBRK\fP
ignora condies de BREAK na entrada
.IP \fBBRKINT\fP
Se \fBIGNBRK\fP no estiver setado, gera \fBSIGINT\fP na condio de BREAK,
seno l o BREAK como o caractere \\0.
.IP \fBIGNPAR\fP
ignora erros de enquadramento e paridade.
.IP \fBPARMRK\fP
se \fBIGNPAR\fP no estiver setado, prefixa um caractere com um erro de paridade ou um
erro de enquadramento com \\377 \\0. Se nem \fBIGNPAR\fP nem \fBPARMRK\fP
so setados, l um caractere com um erro de paridade ou enquadramento
como \\0.
.IP \fBINPCK\fP
habilita verificao de paridade na entrada
.IP \fBISTRIP\fP
corta o oitavo bit
.IP \fBINLCR\fP
traduz NL para CR na entrada
.IP \fBIGNCR\fP
ignora retorno de carro na entrada
.IP \fBICRNL\fP
traduz retorno de carro para nova linha na entrada (a menos que \fBIGNCR\fP seja setado)
.IP \fBIUCLC\fP
mapeia caracteres maisculos para minsculos na entrada
.IP \fBIXON\fP
habilita controle de fluxo XON/XOFF na entrada
.IP \fBIXANY\fP
habilita qualquer caractere para reiniciar sada
.IP \fBIXOFF\fP
habilita controle de fluxo XON/XOFF na entrada
.IP \fBIMAXBEL\fP
aciona sinal sonoro quando a fila est cheia
.PP
contantes de flag \fIc_oflag\fP:
.IP \fBOPOST\fP
habilita processamento de sada definida pela implementao
.IP \fBOLCUC\fP
mapeia caracteres minsculos para maisculos na sada
.IP \fBONLCR\fP
mapeia NL para CR-NL na sada
.IP \fBOCRNL\fP
mapeia CR para NL na sada
.IP \fBONOCR\fP
no envia CR na coluna 0
.IP \fBONLRET\fP
no envia CR
.IP \fBOFILL\fP
envia caracteres de preenchimento para um atraso, em vez de usar um atraso por tempo
.IP \fBOFDEL\fP
caractere de preenchimento o ASCII DEL. Se no setado, o caractere de preenchimento o ASCII NUL
.IP \fBNLDLY\fP
mscara de atraso de nova linha. Valores so \fBNL0\fP e \fBNL1\fP.
.IP \fBCRDLY\fP
mscara de atraso de retorno de carro. Valores so \fBCR0\fP, \fBCR1\fP, \fBCR2\fP, ou \fBCR3\fP.
.IP \fBTABDLY\fP
mscara de atraso de tabulao horizontal. Valores so \fBTAB0\fP, \fBTAB1\fP, \fBTAB2\fP, \fBTAB3\fP, ou \fBXTABS\fP.
Um valor de XTABS expande tabulaes para espaos (com paradas de tabulao a cada oito colunas).
.IP \fBBSDLY\fP
mscara de atraso de 'backspace'. Valores so \fBBS0\fP ou \fBBS1\fP.
.IP \fBVTDLY\fP
mscara de atraso de tabulao vertical. Valores so \fBVT0\fP ou \fBVT1\fP.
.IP \fBFFDLY\fP
mscara de atraso de alimentao de formulrio. Valores so \fBFF0\fP ou \fBFF1\fP.
.PP
constantes de flag \fIc_cflag\fP:
.IP \fBCSIZE\fP
mscara de tamanho de caractere. Valores so \fBCS5\fP, \fBCS6\fP, \fBCS7\fP, ou \fBCS8\fP.
.IP \fBCSTOPB\fP
seta dois bits de parada, em vez de um.
.IP \fBCREAD\fP
habilita receptor.
.IP \fBPARENB\fP
habilita gerao de paridade na sada e verificao de paridade para a entrada.
.IP \fBPARODD\fP
paridade para entrada e sada mpar.
.IP \fBHUPCL\fP
linhas de controle de modem mais baixas depois que o ltimo processo fecha o dispositivo (pe no gancho).
.IP \fBCLOCAL\fP
ignora linhas de controe do modem
.IP \fBCIBAUD\fP
mscaras para velocidades de entrada (no usados).
.IP \fBCRTSCTS\fP
controle de fluxo.
.PP
constantes de flag \fIc_lflag\fP:
.IP \fBISIG\fP
quando qualquer um dos caracteres INTR, QUIT, SUSP, ou DSUSP so recebidos,
gera o sinal correspondente.
.IP \fBICANON\fP
habilita modo cannico. Isto habilita os caracteres especiais
EOF, EOL, EOL2, ERASE, KILL, REPRINT, STATUS, e WERASE, e
armazena por linha.
.IP \fBXCASE\fP
se \fBICANON\fP tambm setado, o terminal somente maisculo.
A entrada convertida para minsculas, exceto para caracteres precedidos por \\.
Na sada, caracteres maisculos so precedidos por \\ e caracteres minsculos so convertidos
para maisculos.
.IP \fBECHO\fP
ecoa caracteres de entrada.
.IP \fBECHOE\fP
se \fBICANON\fP tambm setado, o caractere ERASE apaga o caractere de entrada precedente,
e WERASE apaga a palavra precedente.
.IP \fBECHOK\fP
se \fBICANON\fP tambm setado, o caractere KILL apaga a linha corrente.
.IP \fBECHONL\fP
se \fBICANON\fP tambm setado, ecoa o caractere NL mesmo se ECHO no est setado.
.IP \fBECHOCTL\fP
se \fBECHO\fP tambm setado, os sinais de controle ASCII diferentes de TAB, NL, START, e STOP
so ecoados no formato ^X, onde X o caractere com cdigo ASCII 0x40 maior que o sinal de controle.
Por exemplo, o caractere 0x08 (BS) ecoado como ^H.
.IP \fBECHOPRT\fP
se \fBICANON\fP e \fBIECHO\fP tambm so setados, os caracteres so impressos conforme eles
esto sendo apagados.
.IP \fBECHOKE\fP
se \fBICANON\fP tambm setado, KILL ecoado pelo apagamento de cada caractere na linha,
como especificado por \fBECHOE\fP e \fBECHOPRT\fP.
.IP \fBFLUSHO\fP
sada est sendo esvaziada. Este flag invertido pela digitao do caractere DISCARD.
.IP \fBNOFLSH\fP
desabilita o esvaziamento das filas de entrada e sada quando so gerados os sinais SIGINT
e SIGQUIT, e o esvaziamento da fila de entrada quando gerado o sinal SIGSUSP.
.IP \fBTOSTOP\fP
envia o sinal SIGTTOU para o grupo de processo de um processo em segundo plano que tenta escrever
no seu terminal de controle.
.IP \fBPENDIN\fP
todos os caracteres na fila de entrada so reimpressos quando o prximo caractere lido.
(\fBbash\fP manipula o buffer de teclado desta forma.)
.IP \fBIEXTEN\fP
habilita processamento de entrada definida por implementao.
.PP
.B tcgetattr()
obtm os parmetros associados com o objeto referido por \fIfd\fP e
armazena-os na estrutura \fBtermios\fP referenciada por
\fItermios_p\fP. Esta funo pode ser invocada por um processo em segundo plano;
porm, os atributos do terminal podem ser alterados subsequentemente por um processo
em primeiro plano.
.LP
.B tcsetattr()
seta os parmetros associados com o terminal (a menos que o suporte seja requerido por
parte do hardware base que no est disponvel) a partir da estrutura
\fBtermios\fP referida por \fItermios_p\fP.
\fIoptional_actions\fP especifica quando as alteraes tm efeito:
.IP \fBTCSANOW\fP
a mudana ocorre imediatamente.
.IP \fBTCSADRAIN\fP
a mudana ocorre depois de todas as sadas escritas em
.I fd
terem sido transmitidas. Esta funo deve ser usada ao alterar parmetros que afetam a sada.
.IP \fBTCSAFLUSH\fP
a mudana ocorre depois que todas as sadas escritas no objeto referenciado por
.I fd
foram transmitidas, e todas as entradas foram recebidas mas no lidas sero
descartadas antes que a mudana seja feita.
.LP
.B tcsendbreak()
transmite um fluxo contnuo de bits com valor zero de durao especfica, se o
terminal estiver usando transmisso assncrona de dados seriais. Se a
\fIdurao\fP zero, ele transmite bits de valor zero por pelo menos 0,25
segundos, e no mais que 0,5 segundos. Se a \fIdurao\fP no zero, ele envia
bits de valor zero por
.IB duration * N
segundos, onde \fIN\fP pelo menos 0,25, e no mais que 0,5.
.LP
Se o terminal no est usando transmisso assncrona de dados seriais,
\fBtcsendbreak()\fP retorna sem realizar nenhuma ao.
.LP
.B tcdrain()
espera at que toda a sada escrita para o objeto referido por
.I fd
tenha sido transmitida.
.LP
.B tcflush()
descarta dados escritos para o objeto referido por
.I fd
mas no transmitidos, ou dados recebidos mas no lidos, dependendo do valor de
.IR queue_selector :
.IP \fBTCIFLUSH\fP
esvazia os dados recebidos mas no lidos.
.IP \fBTCOFLUSH\fP
esvazi os dados escritos mas no transmitidos.
.IP \fBTCIOFLUSH\fP
esvazia os dados recebidos mas no lidos, e os dados escritos mas no transmitidos.
.LP
.B tcflow()
suspende a transmisso ou a recepo de dados no objeto referido por
.IR fd ,
dependendo do valor da
.IR ao :
.IP \fBTCOOFF\fP
suspende sada.
.IP \fBTCOON\fP
reinicia sada suspensa.
.IP \fBTCIOFF\fP
transmite um caractere STOP, que pra a transmisso de dados do dispositivo de terminal
para o sistema.
.IP \fBTCION\fP
transmite um caractere START, que inicia a transmisso de dados do dispositivo de terminal
para o sistema.
.LP
O padro na abertura de um arquivo de terminal que nem a entrada e nem a sada so
suspensas.
.LP
As funes de taxa de bauds so fornecidas para obter e setar os valores das taxas de bauds
de entrada e sada na estrutura \fBtermios\fP. Os novos valores no tm efeito at que
\fBtcsetattr()\fP seja chamado com sucesso.
Configurar a velocidade para \fBB0\fP instrui o modem para "pr no gancho".
A taxa de bits atual correspondente a \fBB38400\fP pode ser alterada com
\fBsetserial\fP(8).
.LP
As taxas de bauds de entrada e sada so armazenadas na estrutura \fBtermios\fP.
.LP
\fBcfmakeraw\fP seta os atributos do terminal como segue:
.nf
termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
|INLCR|IGNCR|ICRNL|IXON);
termios_p->c_oflag &= ~OPOST;
termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
termios_p->c_cflag &= ~(CSIZE|PARENB);
termios_p->c_cflag |= CS8;
.fi
.LP
.B cfgetospeed()
retorna a taxa de bauds de sada armazenadas na estrutura \fBtermios\fP apontada por
.IR termios_p .
.LP
.B cfsetospeed()
seta a taxa de bauds de sada armazenada na estrutura \fBtermios\fP apontada por
\fItermios_p\fP para \fIspeed\fP, que precisa ser uma dessas constantes:
.nf
.ft B
B0
B50
B75
B110
B134
B150
B200
B300
B600
B1200
B1800
B2400
B4800
B9600
B19200
B38400
B57600
B115200
B230400
.ft P
.fi
A taxa de bauds zero, \fBB0\fP,
usada para terminar a conexo. Se B0 especificado, as linhas de controle
do modem no sero mais confirmados. Normalmente, isto desconectar a linha.
\fBCBAUDEX\fP uma mscara para as velocidades alm daquelas definidas em
POSIX.1 (57600 e acima). Portanto, \fBB57600\fP & \fBCBAUDEX\fP diferente de zero.
.LP
.B cfgetispeed()
retorna a taxa de bauds da entrada armazenada na estrutura \fBtermios\fP.
.LP
.B cfsetispeed()
seta a taxa de bauds de entrada armazenada na estrutura \fBtermios\fP para
.IR velocidade.
Se a taxa de bauds da entrada setada para zero, a taxa de bauds da entrada
ser igual taxa de bauds da sada.
.LP
.B tcgetpgrp()
retorna o ID do grupo de processo de um grupo de processo em primeiro plano, ou -1 em caso de erro.
.LP
.B tcsetpgrp()
seta o ID de grupo de processo para \fIpgrpid\fP. \fIpgrpid\fP precisa ser o ID de um grupo de
processo na mesma sesso.
.SH "VALORES DE RETORNO"
.LP
.B cfgetispeed()
retorna a taxa de bauds de entrada armazenada na estrutura \fBtermios\fP.
.LP
.B cfgetospeed()
retorna a taxa de bauds de sada armazenada na estrutura \fBtermios\fP.
.LP
.B tcgetpgrp()
retorna o ID do grupo de processo de um grupo de processo em primeiro plano, ou -1 em caso de erro.
.LP
Todas as outras funes retornam:
.IP 0
em caso de sucesso.
.IP -1
em caso de falha e seta
.I errno
para indicar o erro.
.SH "VEJA TAMBM"
\fBsetserial\fP(8)
.SH TRADUO PARA A LNGUA PORTUGUESA
\&\fR\&\f(CWRUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWXXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (reviso)\fR
|