File: termios.3

package info (click to toggle)
manpages-pt 20040726-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,988 kB
  • sloc: sh: 45; makefile: 16
file content (389 lines) | stat: -rw-r--r-- 14,187 bytes parent folder | download | duplicates (6)
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