table of contents
other languages
other sections
TERMIOS(3) | Manual do Programador Linux | TERMIOS(3) |
NOME¶
termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed, tcgetpgrp, tcsetpgrp - obtém e seta atributos de terminal, controle de linha, obtém e seta taxa de bauds, obtém e seta o ID de grupos de processos em primeiro planoSINOPSE¶
#include <termios.h>DESCRIÇÃO¶
As funções termios descrevem uma interface de terminal geral que é fornecida para controlar portas de comunicação assíncronas. Muitas das funções descritas aqui têm um argumento termios_p que é um ponteiro para uma estrutura termios. Esta estrutura contém os seguintes membros:tcflag_t c_iflag; /* modos de entrada */ tcflag_t c_oflag; /* modos de saída */ 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 condições de BREAK na entrada
- BRKINT
- Se IGNBRK não estiver setado, gera SIGINT na condição de BREAK, senão lê o BREAK como o caractere \0.
- IGNPAR
- ignora erros de enquadramento e paridade.
- PARMRK
- se IGNPAR não estiver setado, prefixa um caractere com um erro de paridade ou um erro de enquadramento com \377 \0. Se nem IGNPAR nem PARMRK são setados, lê um caractere com um erro de paridade ou enquadramento como \0.
- INPCK
- habilita verificação 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 maiúsculos para minúsculos na entrada
- IXON
- habilita controle de fluxo XON/XOFF na entrada
- IXANY
- habilita qualquer caractere para reiniciar saída
- IXOFF
- habilita controle de fluxo XON/XOFF na entrada
- IMAXBEL
- aciona sinal sonoro quando a fila está cheia
- OPOST
- habilita processamento de saída definida pela implementação
- OLCUC
- mapeia caracteres minúsculos para maiúsculos na saída
- ONLCR
- mapeia NL para CR-NL na saída
- OCRNL
- mapeia CR para NL na saída
- ONOCR
- não envia CR na coluna 0
- ONLRET
- não envia CR
- OFILL
- envia caracteres de preenchimento para um atraso, em vez de usar um atraso por tempo
- OFDEL
- caractere de preenchimento é o ASCII DEL. Se não setado, o caractere de preenchimento é o ASCII NUL
- NLDLY
- máscara de atraso de nova linha. Valores são NL0 e NL1.
- CRDLY
- máscara de atraso de retorno de carro. Valores são CR0, CR1, CR2, ou CR3.
- TABDLY
- máscara de atraso de tabulação horizontal. Valores são TAB0, TAB1, TAB2, TAB3, ou XTABS. Um valor de XTABS expande tabulações para espaços (com paradas de tabulação a cada oito colunas).
- BSDLY
- máscara de atraso de 'backspace'. Valores são BS0 ou BS1.
- VTDLY
- máscara de atraso de tabulação vertical. Valores são VT0 ou VT1.
- FFDLY
- máscara de atraso de alimentação de formulário. Valores são FF0 ou FF1.
- CSIZE
- máscara de tamanho de caractere. Valores são CS5, CS6, CS7, ou CS8.
- CSTOPB
- seta dois bits de parada, em vez de um.
- CREAD
- habilita receptor.
- PARENB
- habilita geração de paridade na saída e verificação de paridade para a entrada.
- PARODD
- paridade para entrada e saída é ímpar.
- HUPCL
- linhas de controle de modem mais baixas depois que o último processo fecha o dispositivo (põe no gancho).
- CLOCAL
- ignora linhas de controe do modem
- CIBAUD
- máscaras para velocidades de entrada (não usados).
- CRTSCTS
- controle de fluxo.
- ISIG
- quando qualquer um dos caracteres INTR, QUIT, SUSP, ou DSUSP são recebidos, gera o sinal correspondente.
- ICANON
- habilita modo canônico. Isto habilita os caracteres especiais EOF, EOL, EOL2, ERASE, KILL, REPRINT, STATUS, e WERASE, e armazena por linha.
- XCASE
- se ICANON também é setado, o terminal é somente maiúsculo. A entrada é convertida para minúsculas, exceto para caracteres precedidos por \. Na saída, caracteres maiúsculos são precedidos por \ e caracteres minúsculos são convertidos para maiúsculos.
- ECHO
- ecoa caracteres de entrada.
- ECHOE
- se ICANON também é setado, o caractere ERASE apaga o caractere de entrada precedente, e WERASE apaga a palavra precedente.
- ECHOK
- se ICANON também é setado, o caractere KILL apaga a linha corrente.
- ECHONL
- se ICANON também é setado, ecoa o caractere NL mesmo se ECHO não está setado.
- ECHOCTL
- se ECHO também é setado, os sinais de controle ASCII diferentes de TAB, NL, START, e STOP são ecoados no formato ^X, onde X é o caractere com código ASCII 0x40 maior que o sinal de controle. Por exemplo, o caractere 0x08 (BS) é ecoado como ^H.
- ECHOPRT
- se ICANON e IECHO também são setados, os caracteres são impressos conforme eles estão sendo apagados.
- ECHOKE
- se ICANON também é setado, KILL é ecoado pelo apagamento de cada caractere na linha, como especificado por ECHOE e ECHOPRT.
- FLUSHO
- saída está sendo esvaziada. Este flag é invertido pela digitação do caractere DISCARD.
- NOFLSH
- desabilita o esvaziamento das filas de entrada e saída quando são gerados os sinais SIGINT e SIGQUIT, e o esvaziamento da fila de entrada quando é 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 são reimpressos quando o próximo caractere é lido. ( bash manipula o buffer de teclado desta forma.)
- IEXTEN
- habilita processamento de entrada definida por implementação.
- TCSANOW
- a mudança ocorre imediatamente.
- TCSADRAIN
- a mudança ocorre depois de todas as saídas escritas em fd terem sido transmitidas. Esta função deve ser usada ao alterar parâmetros que afetam a saída.
- TCSAFLUSH
- a mudança ocorre depois que todas as saídas escritas no objeto referenciado por fd foram transmitidas, e todas as entradas foram recebidas mas não lidas serão descartadas antes que a mudança seja feita.
- TCIFLUSH
- esvazia os dados recebidos mas não lidos.
- TCOFLUSH
- esvazi os dados escritos mas não transmitidos.
- TCIOFLUSH
- esvazia os dados recebidos mas não lidos, e os dados escritos mas não transmitidos.
- TCOOFF
- suspende saída.
- TCOON
- reinicia saída suspensa.
- TCIOFF
- transmite um caractere STOP, que pára a transmissão de dados do dispositivo de terminal para o sistema.
- TCION
- transmite um caractere START, que inicia a transmissão de dados do dispositivo de terminal para o sistema.
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 saída armazenadas na estrutura termios apontada por termios_p. cfsetospeed() seta a taxa de bauds de saída 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 B230400A taxa de bauds zero, B0, é usada para terminar a conexão. Se B0 é especificado, as linhas de controle do modem não serão mais confirmados. Normalmente, isto desconectará a linha. CBAUDEX é uma máscara para as velocidades além daquelas definidas em POSIX.1 (57600 e acima). Portanto, B57600 & CBAUDEX é 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 é setada para zero, a taxa de bauds da entrada será igual à taxa de bauds da saída. 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 sessão.
VALORES DE RETORNO¶
cfgetispeed() retorna a taxa de bauds de entrada armazenada na estrutura termios. cfgetospeed() retorna a taxa de bauds de saída 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 funções retornam:- 0
- em caso de sucesso.
- -1
- em caso de falha e seta errno para indicar o erro.
VEJA TAMBÉM¶
setserial(8)TRADUÇÃO PARA A LÍNGUA PORTUGUESA¶
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (tradução) XXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisão)2 de setembro de 1995 | Linux |