Provided by: manpages-pt-dev_20040726-4_all bug

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)