Provided by:
manpages-pt-dev_20040726-4_all 
NOME
termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow,
cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed,
tcgetpgrp, tcsetpgrp - obtem e seta atributos de terminal, controle de
linha, obtem e seta taxa de bauds, obtem e seta o ID de grupos de
processos em primeiro plano
SINOPSE
#include <termios.h>
#include <unistd.h>
int tcgetattr ( int fd, struct termios *termios_p );
int tcsetattr ( int fd, int optional_actions, struct termios *termios_p
);
int tcsendbreak ( int fd, int duration );
int tcdrain ( int fd );
int tcflush ( int fd, int queue_selector );
int tcflow ( int fd, int action );
int cfmakeraw ( struct termios *termios_p );
speed_t cfgetospeed ( struct termios *termios_p );
int cfsetospeed ( struct termios *termios_p, speed_t speed );
speed_t cfgetispeed ( struct termios *termios_p );
int cfsetispeed ( struct termios *termios_p, speed_t speed );
pid_t tcgetpgrp ( int fd );
int tcsetpgrp ( int fd, pid_t pgrpid );
DESCRI,C~AO
As funcoes termios descrevem uma interface de terminal geral que e
fornecida para controlar portas de comunicacao assincronas.
Muitas das funcoes descritas aqui tem um argumento termios_p que e um
ponteiro para uma estrutura termios. Esta estrutura contem os seguintes
membros:
tcflag_t c_iflag; /* modos de entrada */
tcflag_t c_oflag; /* modos de saida */
tcflag_t c_cflag; /* modos de controle */
tcflag_t c_lflag; /* modos locais */
cc_t c_cc[NCCS]; /* caracteres de controle */
constantes de flag c_iflag:
IGNBRK ignora condicoes de BREAK na entrada
BRKINT Se IGNBRK nao estiver setado, gera SIGINT na condicao de BREAK,
senao le o BREAK como o caractere \0.
IGNPAR ignora erros de enquadramento e paridade.
PARMRK se IGNPAR nao estiver setado, prefixa um caractere com um erro
de paridade ou um erro de enquadramento com \377 \0. Se nem
IGNPAR nem PARMRK sao setados, le um caractere com um erro de
paridade ou enquadramento como \0.
INPCK habilita verificacao de paridade na entrada
ISTRIP corta o oitavo bit
INLCR traduz NL para CR na entrada
IGNCR ignora retorno de carro na entrada
ICRNL traduz retorno de carro para nova linha na entrada (a menos que
IGNCR seja setado)
IUCLC mapeia caracteres maiusculos para minusculos na entrada
IXON habilita controle de fluxo XON/XOFF na entrada
IXANY habilita qualquer caractere para reiniciar saida
IXOFF habilita controle de fluxo XON/XOFF na entrada
IMAXBEL
aciona sinal sonoro quando a fila esta cheia
contantes de flag c_oflag:
OPOST habilita processamento de saida definida pela implementacao
OLCUC mapeia caracteres minusculos para maiusculos na saida
ONLCR mapeia NL para CR-NL na saida
OCRNL mapeia CR para NL na saida
ONOCR nao envia CR na coluna 0
ONLRET nao envia CR
OFILL envia caracteres de preenchimento para um atraso, em vez de usar
um atraso por tempo
OFDEL caractere de preenchimento e o ASCII DEL. Se nao setado, o
caractere de preenchimento e o ASCII NUL
NLDLY mascara de atraso de nova linha. Valores sao NL0 e NL1.
CRDLY mascara de atraso de retorno de carro. Valores sao CR0, CR1,
CR2, ou CR3.
TABDLY mascara de atraso de tabulacao horizontal. Valores sao TAB0,
TAB1, TAB2, TAB3, ou XTABS. Um valor de XTABS expande
tabulacoes para espacos (com paradas de tabulacao a cada oito
colunas).
BSDLY mascara de atraso de 'backspace'. Valores sao BS0 ou BS1.
VTDLY mascara de atraso de tabulacao vertical. Valores sao VT0 ou VT1.
FFDLY mascara de atraso de alimentacao de formulario. Valores sao FF0
ou FF1.
constantes de flag c_cflag:
CSIZE mascara de tamanho de caractere. Valores sao CS5, CS6, CS7, ou
CS8.
CSTOPB seta dois bits de parada, em vez de um.
CREAD habilita receptor.
PARENB habilita geracao de paridade na saida e verificacao de paridade
para a entrada.
PARODD paridade para entrada e saida e impar.
HUPCL linhas de controle de modem mais baixas depois que o ultimo
processo fecha o dispositivo (poe no gancho).
CLOCAL ignora linhas de controe do modem
CIBAUD mascaras para velocidades de entrada (nao usados).
CRTSCTS
controle de fluxo.
constantes de flag c_lflag:
ISIG quando qualquer um dos caracteres INTR, QUIT, SUSP, ou DSUSP sao
recebidos, gera o sinal correspondente.
ICANON habilita modo canonico. Isto habilita os caracteres especiais
EOF, EOL, EOL2, ERASE, KILL, REPRINT, STATUS, e WERASE, e
armazena por linha.
XCASE se ICANON tambem e setado, o terminal e somente maiusculo. A
entrada e convertida para minusculas, exceto para caracteres
precedidos por \. Na saida, caracteres maiusculos sao
precedidos por \ e caracteres minusculos sao convertidos para
maiusculos.
ECHO ecoa caracteres de entrada.
ECHOE se ICANON tambem e setado, o caractere ERASE apaga o caractere
de entrada precedente, e WERASE apaga a palavra precedente.
ECHOK se ICANON tambem e setado, o caractere KILL apaga a linha
corrente.
ECHONL se ICANON tambem e setado, ecoa o caractere NL mesmo se ECHO nao
esta setado.
ECHOCTL
se ECHO tambem e setado, os sinais de controle ASCII diferentes
de TAB, NL, START, e STOP sao ecoados no formato ^X, onde X e o
caractere com codigo ASCII 0x40 maior que o sinal de controle.
Por exemplo, o caractere 0x08 (BS) e ecoado como ^H.
ECHOPRT
se ICANON e IECHO tambem sao setados, os caracteres sao
impressos conforme eles estao sendo apagados.
ECHOKE se ICANON tambem e setado, KILL e ecoado pelo apagamento de cada
caractere na linha, como especificado por ECHOE e ECHOPRT.
FLUSHO saida esta sendo esvaziada. Este flag e invertido pela digitacao
do caractere DISCARD.
NOFLSH desabilita o esvaziamento das filas de entrada e saida quando
sao gerados os sinais SIGINT e SIGQUIT, e o esvaziamento da fila
de entrada quando e gerado o sinal SIGSUSP.
TOSTOP envia o sinal SIGTTOU para o grupo de processo de um processo em
segundo plano que tenta escrever no seu terminal de controle.
PENDIN todos os caracteres na fila de entrada sao reimpressos quando o
proximo caractere e lido. (bash manipula o buffer de teclado
desta forma.)
IEXTEN habilita processamento de entrada definida por implementacao.
tcgetattr() obtem os parametros associados com o objeto referido por fd
e armazena-os na estrutura termios referenciada por termios_p. Esta
funcao pode ser invocada por um processo em segundo plano; porem, os
atributos do terminal podem ser alterados subsequentemente por um
processo em primeiro plano.
tcsetattr() seta os parametros associados com o terminal (a menos que o
suporte seja requerido por parte do hardware base que nao esta
disponivel) a partir da estrutura termios referida por termios_p.
optional_actions especifica quando as alteracoes tem efeito:
TCSANOW
a mudanca ocorre imediatamente.
TCSADRAIN
a mudanca ocorre depois de todas as saidas escritas em fd terem
sido transmitidas. Esta funcao deve ser usada ao alterar
parametros que afetam a saida.
TCSAFLUSH
a mudanca ocorre depois que todas as saidas escritas no objeto
referenciado por fd foram transmitidas, e todas as entradas
foram recebidas mas nao lidas serao descartadas antes que a
mudanca seja feita.
tcsendbreak() transmite um fluxo continuo de bits com valor zero de
duracao especifica, se o terminal estiver usando transmissao assincrona
de dados seriais. Se a dura,c~ao e zero, ele transmite bits de valor zero
por pelo menos 0,25 segundos, e nao mais que 0,5 segundos. Se a dura,c~ao
nao e zero, ele envia bits de valor zero por duration*N segundos, onde
N e pelo menos 0,25, e nao mais que 0,5.
Se o terminal nao esta usando transmissao assincrona de dados seriais,
tcsendbreak() retorna sem realizar nenhuma acao.
tcdrain() espera ate que toda a saida escrita para o objeto referido
por fd tenha sido transmitida.
tcflush() descarta dados escritos para o objeto referido por fd mas nao
transmitidos, ou dados recebidos mas nao lidos, dependendo do valor de
queue_selector:
TCIFLUSH
esvazia os dados recebidos mas nao lidos.
TCOFLUSH
esvazi os dados escritos mas nao transmitidos.
TCIOFLUSH
esvazia os dados recebidos mas nao lidos, e os dados escritos
mas nao transmitidos.
tcflow() suspende a transmissao ou a recepcao de dados no objeto
referido por fd, dependendo do valor da a,c~ao:
TCOOFF suspende saida.
TCOON reinicia saida suspensa.
TCIOFF transmite um caractere STOP, que para a transmissao de dados do
dispositivo de terminal para o sistema.
TCION transmite um caractere START, que inicia a transmissao de dados
do dispositivo de terminal para o sistema.
O padrao na abertura de um arquivo de terminal e que nem a entrada e
nem a saida sao suspensas.
As funcoes de taxa de bauds sao fornecidas para obter e setar os
valores das taxas de bauds de entrada e saida na estrutura termios. Os
novos valores nao tem efeito ate que tcsetattr() seja chamado com
sucesso.
Configurar a velocidade para B0 instrui o modem para "por no gancho".
A taxa de bits atual correspondente a B38400 pode ser alterada com
setserial(8).
As taxas de bauds de entrada e saida sao armazenadas na estrutura
termios.
cfmakeraw seta os atributos do terminal como segue:
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;
cfgetospeed() retorna a taxa de bauds de saida armazenadas na estrutura
termios apontada por termios_p.
cfsetospeed() seta a taxa de bauds de saida armazenada na estrutura
termios apontada por termios_p para speed, que precisa ser uma dessas
constantes:
B0
B50
B75
B110
B134
B150
B200
B300
B600
B1200
B1800
B2400
B4800
B9600
B19200
B38400
B57600
B115200
B230400
A taxa de bauds zero, B0, e usada para terminar a conexao. Se B0 e
especificado, as linhas de controle do modem nao serao mais
confirmados. Normalmente, isto desconectara a linha. CBAUDEX e uma
mascara para as velocidades alem daquelas definidas em POSIX.1 (57600 e
acima). Portanto, B57600 & CBAUDEX e diferente de zero.
cfgetispeed() retorna a taxa de bauds da entrada armazenada na
estrutura termios.
cfsetispeed() seta a taxa de bauds de entrada armazenada na estrutura
termios para velocidade. Se a taxa de bauds da entrada e setada para
zero, a taxa de bauds da entrada sera igual a taxa de bauds da saida.
tcgetpgrp() retorna o ID do grupo de processo de um grupo de processo
em primeiro plano, ou -1 em caso de erro.
tcsetpgrp() seta o ID de grupo de processo para pgrpid. pgrpid precisa
ser o ID de um grupo de processo na mesma sessao.
VALORES DE RETORNO
cfgetispeed() retorna a taxa de bauds de entrada armazenada na
estrutura termios.
cfgetospeed() retorna a taxa de bauds de saida armazenada na estrutura
termios.
tcgetpgrp() retorna o ID do grupo de processo de um grupo de processo
em primeiro plano, ou -1 em caso de erro.
Todas as outras funcoes retornam:
0 em caso de sucesso.
-1 em caso de falha e seta errno para indicar o erro.
VEJA TAMB'EM
setserial(8)
TRADU,C~AO PARA A L'INGUA PORTUGUESA
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traducao) XXXXXX XX
XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisao)