Arquivo termios.h
Propósito
Define a estrutura do arquivo termério , que fornece a interface do terminal para compatibilidade POSIX .
Descrição
O arquivo /usr/include/termios.h contém informações usadas por subroutines que se aplicam a arquivos terminais. As definições, valores e estruturas neste arquivo são necessários para compatibilidade com o padrão POSIX . O arquivo termios.h também suporta ioctl operações de controle de modem
As informações gerais da interface de terminal estão contidas no arquivo termio.h .. A estrutura termio no arquivo termio.h define os modos de entrada, saída, controle e disciplina de linha básicos. Se um programa de chamada for identificado como requerendo compatibilidade POSIX , a estrutura termios e informações adicionais do pacote de controle POSIX no arquivo termios.h serão implementadas. As operações de tamanho de janela e de terminal usam a estrutura winsize , definida no arquivo ioctl.h . A estrutura termios no arquivo termios.h contém os seguintes campos:
- c_iflag
- c_oflag
- c_cflag
- c_lflag
- c_cc
O arquivo termios.h também define os valores para os parâmetros a seguir da sub-rotina tcsetattr :
- OptionalActions
- QueueSelector
- Ação
O arquivo termios.h também suporta ioctl operações de controle de modem
- Descrições do campo
- c_iflag
- Descreve o controle de entrada do terminal básico. O valor inicial de controle de entrada é todo bits claro. Os modos de entrada possíveis são:
- IGNBRK
- Ignora a condição de quebra. No contexto da transmissão de dados em série assíncrona, um condição de quebra é definido como uma sequência de bits valorizado zero que continua por mais do que o tempo necessário para enviar um byte. Toda a sequência de bits com valor zero é interpretada como uma única condição de quebra, mesmo que ela continue por uma quantidade de tempo equivalente a mais de um byte. Se a sinalização IGNBRK for definida, uma condição de quebra detectada na entrada é ignorada, o que significa que ele não é colocado na fila de entrada e, portanto, não lido por nenhum processo.
- BRKINT
- Interrupção de sinal na condição de quebra. Se a sinalização IGNBRK não for definida e a sinalização BRKINT for definida, a condição de quebra ossa as filas de entrada e saída. Se o terminal for o terminal controlador de um grupo de processos de primeiro plano, a condição de quebra gera um sinal SIGINT para aquele grupo de processo de primeiro plano. Se nem o IGNBRK nem a sinalização BRKINT estiver definida, uma condição de quebra é lida como um único \0, ou se a sinalização PARMRK estiver configurada, como \377, \0, \0.
- IGNPAR
- Ignora caracteres com erros de paridade. Se esta sinalização for definida, um byte com um erro de enquadramento ou paridade (diferente de break) é ignorado.
- PARMRK
- Marca erros de paridade. Se o sinalizador PARMRK estiver configurado, e a sinalização IGNPAR não for definida, um byte com um erro de enquadramento ou paridade (diferente de break) é dado ao aplicativo como a sequência de três caracteres \377, \0, x, em que \377, \0 é uma bandeira de dois caracteres precedendo a cada sequência e x são os dados do caractere recebidos com erro. Para evitar ambiguidade neste caso, se a sinalização ISTRIP não for definida, um caractere válido de \377 é dado para o aplicativo como \377, \377. Se nem o IGNPAR nem a sinalização PARMRK estiver configurado, um erro de enquadramento ou paridade (diferente de break) é dado ao aplicativo como um único caractere \0.
- INPCK
- Permite a verificação de paridade de entrada. Se esta sinalização for definida, a verificação de paridade de entrada está ativada. Se não for definido, a verificação de paridade de entrada está desativada. Isso permite a geração de paridade de saída sem erros de paridade de entrada.
- ISTRIP
- Caracteres de Listras. Se esta sinalização for definida, caracteres de entrada válidos são primeiramente despotados para 7 bits. Caso contrário, todos os 8 bits são processados.
- INLCR
- Mapeia um caractere de nova linha (NL) a um retorno de carro (CR) na entrada. Se esta sinalização for definida, um caractere NL recebido é traduzido em um caractere CR.
- IGNCR
- Ignora o caráter CR. Se esta sinalização for definida, um caractere de CR recebido é ignorado e não lido.
- ICRNL
- Mapeia um caractere CR para o caractere NL na entrada. Se a sinalização ICRNL estiver configurada e a sinalização IGNCR não for definida, um caractere de CR recebido será traduzido em um caractere NL.
- IUCLC
- Mapeia maiúsculas para minúsculas na entrada. Se esta sinalização for definida, um caractere maiústico recebido, caracteres alfabéticos é traduzido para o caractere minústico correspondente.
- IXON
- Permite iniciar e parar o controle de saída. Se esta sinalização for definida, um caractere STOP recebido suspende a saída e um caractere START recebido reinicia a saída. Quando a sinalização IXON é definida, os caracteres START e STOP não são lidos, mas meramente executam funções de controle de fluxo. Quando a sinalização IXON não é definida, os caracteres START e STOP são lidos.
- IXANY
- Permite que qualquer caractere reinicie a saída. Se esta sinalização for definida, qualquer caractere de entrada reinicia a saída que foi suspensa.
- IXOFF
- Habilita o controle de entrada de start-stop. Se esta sinalização for definida, o sistema transmite um caractere STOP quando a fila de entrada estiver quase cheia e um caractere START quando houver entrada suficiente foi lido que a fila está quase vazia novamente.
- IMAXBEL
- Ecoa o caractere ASCII BEL se o fluxo de entrada transborda. A entrada adicional não é armazenada, mas entrada já presente no fluxo de entrada não é perdida. Se esta sinalização não for definida, nenhum caractere BEL será ecoado; a entrada na fila de entrada é descartada se o fluxo de entrada transbordar. Essa função também requer que o bit IEXTEN seja configurado.
- c_oflag
- Especifica como o sistema trata a saída. O valor inicial de controle de saída é "todos os bits claros." Os modos de saída possíveis são:
- OPOST
- Saída de pós-processos. Se esta sinalização for definida, caracteres de saída são pós-processados conforme indicado pelas bandeiras restantes. Caso contrário, os caracteres são transmitidos sem alterações.
- OLCUC
- Mapeia minúsculas para maiús-saída na saída. Se esta sinalização for definida, um caractere alfabético minústico é transmitido como o caractere maiústico correspondente. Esta sinalização é frequentemente usada em conjunto com o modo de entrada IUCLC .
- ONLCR
- Mapas NL para CR-NL na saída. Se esta sinalização for definida, o caractere NL é transmitido como o par de caracteres CR-NL.
- OCRNL
- Mapas CR para NL na saída. Se esta sinalização for definida, o caractere CR é transmitido como o caractere NL.
- ONOCR
- Indica ausência de saída CR na coluna 0. Se esta sinalização for definida, nenhum caractere CR é transmitido quando na coluna 0 (primeira posição).
- ONLRET
- NL desempenha função CR. Se esta sinalização for definida, o caractere NL é assumido para fazer a função de retorno de carruagem. O ponteiro da coluna é configurado para 0, e o atraso especificado para retorno de carro é usado. Se nem o ONLCR, OCRNL, ONOCR, nem ONLRET flag for configurado, o caractere NL será assumido para fazer a função de alimentação de linha apenas. O ponteiro da coluna permanece inalterado. O ponteiro da coluna é configurado para 0 se o caractere CR for realmente transmitido.
Os bits de atraso especificam por quanto tempo uma transmissão pára para permitir o movimento mecânico ou outro quando determinados caracteres são enviados para o terminal. Os atrasos reais dependem da velocidade de linha e da carga do sistema.
- OFILL
- Usa caracteres de preenchimento por atraso. Se esta sinalização for definida, os caracteres de preenchimento são transmitidos por um atraso em vez de um atraso cronomeado. Isso é útil para terminais de alta taxa de baud que precisam apenas de um atraso mínimo.
- OFDEL
- Se esta sinalização for definida, o caractere de preenchimento será DEL. Se esta sinalização não for definida, o caractere de preenchimento será NULL.
- NLDLY
- Seleciona os atrasos de caracteres de nova linha. Esta é a máscara a usar antes de comparar a NL0 e NL1:
- NL0
- Especifica sem atraso.
- NL1
- Especifica um atraso de aproximadamente 0.10 segundos. Se a sinalização ONLRET for definida, os atrasos de retorno de vagão são usados em vez dos atrasos de nova linha. Se a sinalização OFILL for definida, dois caracteres de preenchimento serão transmitidos.
- CRDLY
- Seleciona os atrasos de retorno de carruagem. Esta é a máscara a usar antes de comparar a CR0, CR1, CR2e CR3:
- CR0
- Especifica sem atraso.
- CR1
- Especifica que o atraso é dependente da posição da coluna atual. Se a sinalização OFILL for definida, esse atraso transmite dois caracteres de preenchimento.
- CR2
- Especifica um atraso de aproximadamente 0.10 segundos. Se a sinalização OFILL for definida, esse atraso transmite quatro caracteres de preenchimento.
- CR3
- Especifica um atraso de aproximadamente 0.15 segundos.
- TABDLY
- Seleciona os atrasos na guia horizontal. Esta é a máscara a usar antes de comparar a TAB0, TAB1, TAB2e TAB3. Se a sinalização OFILL for definida, qualquer um desses atrasos (exceto TAB3) transmitem dois caracteres de preenchimento.
- TAB0
- Especifica sem atraso.
- TAB1
- Especifica que o atraso é dependente da posição da coluna atual. Se a sinalização OFILL for definida, dois caracteres de preenchimento serão transmitidos.
- TAB2
- Especifica um atraso de aproximadamente 0.10 segundos.
- TAB3
- Especifica que as guias devem ser expandidas em espaços.
- BSDLY
- Seleciona os atrasos do backspace. Esta é a máscara a usar antes de comparar a BS0 e BS1:
- BS0
- Especifica sem atraso.
- BS1
- Especifica um atraso de aproximadamente 0.05 segundos. Se a sinalização OFILL estiver configurada, esse atraso transmite um caractere de preenchimento.
- VTDLY
- Seleciona os atrasos na guia vertical. Esta é a máscara a usar antes de comparar a VT0 e VT1:
- VT0
- Especifica sem atraso.
- VT1
- Especifica um atraso de aproximadamente 2 seconds minutos.
- FFDLY
- Seleciona os atrasos de alimentação de forma. Esta é a máscara a usar antes de comparar a FF0 e FF1:
- FF0
- Especifica sem atraso.
- FF1
- Especifica um atraso de aproximadamente 2 seconds minutos.
- c_cflag
- Descreve o controle de hardware do terminal. Além dos modos básicos de controle, este campo utiliza os seguintes caracteres de controle:
- CBAUD
- Especifica taxa de baud. Esses bits especificam a taxa de baud para uma conexão. Para qualquer hardware em particular, mudanças de velocidade impossíveis são ignoradas.
- B50
- 50 bauds.
- B75
- 75 bauds.
- B110
- 110 bauds.
- B134
- 134.5 baud.
- B150
- 150 bauds.
- B200
- 200 bauds.
- B300
- 300 bauds.
- B600
- 600 bauds.
- B1200
- 1200 bauds.
- B1800
- 1800 bauds.
- B2400
- 2400 bauds.
- B4800
- 4800 bauds.
- B9600
- 9600 bauds.
- B19200
- 19.200 bauds.
- B38400
- 38.400 bauds.
- EXTA
- Externo A.
- EXTB
- Externo B.
- CSIZE
- Especifica o tamanho do caractere. Esses bits especificam o tamanho do caractere, em bits, para ambos transmitir e receber operações. O tamanho do caractere não inclui o bit de paridade, se um for usado:
- CS5
- 5 bits
- CS6
- 6 bits
- CS7
- 7 bits
- CS8
- 8 bits.
- CSTOPB
- Especifica número de bits de parada. Se esta sinalização for definida, 2 bits de parada são enviados; caso contrário, apenas 1 bit de parada é enviado.
- CREAD
- Possibilita o receptor. Se esta sinalização for definida, o receptor será ativado. Caso contrário, caracteres não são recebidos.
- PARENB
- Possibilita a paridade. Se esta sinalização for definida, a geração e detecção de paridade é ativada e um bit de paridade é adicionado a cada caractere.
- PARODD
- Especifica paridade Ímpar. Se a paridade estiver ativada, a sinalização PARODD especifica paridade ímpar se configurado. Se a paridade estiver ativada e a sinalização PARODD não for definida, mesmo a paridade é usada.
- HUPCL
- Hangs sobe em último fechamento. Se esta sinalização for definida, a linha será desconectada quando o último processo fechar a linha ou quando o processo for finalizado (quando o sinal ` data terminal pronto ' baixar).
- CLOCAL
- Especifica uma linha local. Se esta sinalização for definida, a linha é assumida para ter uma conexão local, direta, sem controle de modem. Se não for definido, o controle de modem (dial-up) é assumido.
- CIBAUD
- Especifica a taxa de baud de entrada se diferente da taxa de saída.
- PAREXT
- Especifica paridade estendida para a paridade de marca e de espaço.
- c_lflag
- Controla várias funções do terminal. O valor inicial depois de um aberto é "todos os bits claros." Além dos modos básicos, este campo utiliza os seguintes símbolos de nome da máscara:
- ISIG
- Ativa sinais. Se esta sinalização for definida, cada caractere de entrada é verificado em relação aos caracteres de controle especial INTR, QUIT, SUSP e DSUSP. Se um caractere de entrada corresponde a um destes caracteres de controle, a função associada a esse caractere é realizada. Se a sinalização ISIG não for definida, a verificação não será feita.
- ICANON
- Possibilita a entrada canônica. Se esta sinalização for definida, ela se transforma em processamento canônico, que possibilita as funções de apagar e kill editar, bem como a montagem de caracteres de entrada em linhas delimitadas por NL, EOF e caracteres EOL. Se a sinalização ICANON não for definida, os pedidos de leitura são satisfeitos diretamente na fila de entrada. Nesse caso, um pedido de leitura não fica satisfeito até que uma das seguintes condições seja atendida:
- O número mínimo de caracteres especificados por MIN são recebidos.
- O valor de tempo limite especificado por TEMPO expirou desde que o último caractere foi recebido. Isso permite que bursts de entrada sejam lidos, enquanto ainda permite a entrada de caracteres únicos.
Os valores MIN e TEMPO são armazenados nas posições para os caracteres EOF e EOL, respectivamente. Os valores de caracteres de MIN e TEMPO são convertidos em seus equivalentes ascii para obter o valor numérico. O valor de tempo representa décimos de segundos.
- XCASE
- Possibilita a apresentação de maiúsculas e minúsculas canonicais. Se esta sinalização for configurada juntamente com a sinalização ICANON , uma letra maiússona (ou a letra maiússona traduzida para minúsculas pelo modo de entrada IUCLC ) é aceita na entrada precedendo-a com um caractere \ (backslash). A saída é então também precedida por um caráter backslash. Neste modo, a saída gera e a entrada aceita as seguintes seqüências de escape:
- Para
- Use o
- (grave)
- \ `
- |
- \ !
- ~
- \ ^
- {
- \ (
- }
- \ )
- \
- \ \
Por exemplo, A é entrada como\a, \n como\\n, e \N como\\\n.
- NOFLSH
- Desativa a flushing da fila. Se esta sinalização for definida, o flushing normal das filas de entrada e saída associadas aos caracteres INTR, QUIT e SUSP não é feito.
- FLUSHO
- Fluste a saída. Quando este bit é configurado digitando-se o caractere FLUSH, dados gravados no terminal são descartados. Um terminal pode cancelar o efeito da digitação do caractere FLUSH clareando este bit.
- PENDIN
- Reimpressões de entrada pendente. Se esta sinalização for configurada, qualquer entrada que esteja pendente após um switch de raw para o modo canonical for re-input na próxima vez que uma operação de leitura se torna pendente ou a próxima entrada de tempo chega. A bandeira PENDIN é um bit de estado interno.
- IEXTEN
- Possibilita funções estendidas (implementation-definidas) a serem reconhecidas a partir dos dados de entrada. Se esta sinalização não for definida, funções definidas por implementação não são reconhecidas, e os caracteres de entrada correspondentes são processados conforme descrito para as bandeiras ICANON, ISIG, IXONe IXOFF . O reconhecimento dos seguintes caracteres de controle especial requer a sinalização IEXTEN a ser definida:
- VEOL2
- VDSUSP
- REIMPRESSÃO
- VDISCRD
- VWERSE
- VLNEXT
As funções associadas aos bits a seguir também requerem a sinalização IEXTEN a ser definida:
- IMAXBEL
- ECHOKE
- ECHOPRT
- ECHOCTL
- TOSTOP
- Envia um sinal SIGTTOU quando um processo em um grupo de processos de background tenta escrever para o seu terminal de controle. O sinal SIGTTOU impede os membros do grupo de processos.
- Eco
- Ativa eco. Se esta sinalização for definida, os caracteres são ecoados como são recebidos.
Quando o ICANON é configurado, as seguintes funções de eco também são possíveis:
- ECHOE
- Ecoa o caractere de apagamento como Backspace-Space-Backspace. Se as sinalizações ECHO e ECHOE estiverem ambas definidas e a sinalização ECHOPRT não for definida, os caracteres ERASE e WERASE são ecoados como uma ou mais sequências ASCII Backspace-Space-Backspace, que limpa os últimos caracteres da tela.
- ECHOPRT
- Se as bandeiras ECHO e ECHOPRT estiverem ambas definidas, o primeiro caractere ERASE e WERASE em uma sequência são ecoados como um \ (backslash), seguido pelos caracteres que estão sendo apagados. Os caracteres subsequentes ERASE e WERASE ecoam os caracteres sendo apagados, em ordem inversa. O próximo caractere não erase faz com que um / (slash) seja digitado antes que o caractere nonerase seja ecoado. Essa função também requer que o bit IEXTEN seja configurado.
- ECHOKE
- Backspace-Space-Backspace linha inteira on line kill. Se esta sinalização for definida, o caractere kill é ecoado apagando toda a linha da tela (usando o mecanismo selecionado pelas bandeiras ECHOE e ECHOPRT ). Essa função também requer que a sinalização IEXTEN seja definida.
- ECHOK
- Ecoa o personagem NL após matar. Se a sinalização ECHOK estiver configurada e a sinalização ECHOKE não for definida, o caractere NL será ecoado após o caractere de kill ser recebido. Isso enfatiza que a linha é excluída.
- ECHONL
- Ecoa o personagem NL. Se a sinalização ECHONL for definida, o caractere NL será ecoado mesmo se a sinalização ECHO não for definida. Isto é útil para terminais que são configurados para "eco local" (também chamado de "half duplex").
- ECHOCTL
- Ecoa caracteres de controle (com códigos entre 0 e 37 octal) como ^X, em que X é o caractere que resulta da adição de 100 octal ao código do caractere de controle. (Por exemplo, o caractere com código octal 1 é ecoado como^A). O caractere ASCII DEL (código 177 octal) é ecoado como^?. Os caracteres ASCII TAB, NL e START não estão ecoados. A menos que fugidos (precedidos por uma barra inversa), o caráter EOF não é ecoado. Como resultado, porque EOT é o caractere EOF padrão, terminais que respondo a EOT são impedidos de pendurar. Essa função também requer que a sinalização IEXTEN seja definida.
- c_cc
- Especifica uma matriz que define os caracteres de controle especial. As posições relativas e os valores iniciais para cada função são:
- VINTR
- Indexa o caractere especial INTR (Ctrl-c), que é reconhecido na entrada se a sinalização ISIG estiver definida. O caractere INTR gera um sinal SIGINT , que é enviado para todos os processos no grupo de processo de primeiro plano para o qual o terminal é o terminal de controle. Se a sinalização ISIG for definida, o caractere INTR será descartado quando processado.
- VQUIT
- Indexa o caractere especial QUIT (Ctrl-\), que é reconhecido na entrada se a sinalização ISIG estiver definida. O caractere QUIT gera um sinal SIGQUIT , que é enviado para todos os processos no grupo de processos de primeiro plano para o qual o terminal é o terminal de controle, e grava um arquivo de imagem núcleo no diretório de trabalho atual. Se a sinalização ISIG for definida, o caractere QUIT será descartado quando processado.
- VERASE
- Indexa o caractere especial da ERASE (Backspace), que é reconhecido na entrada se a sinalização ICANON estiver definida. O caráter ERASE não se apaga além do início da linha como delimitado por um caractere NL, EOL, EOF ou EOL2 . Se a sinalização ICANON for definida, o caractere ERASE será descartado quando processado.
- VKILL
- Indexa o caractere especial KILL (Ctrl-u), que é reconhecido na entrada se a sinalização ICANON estiver definida. O caractere KILL exclui a linha inteira, conforme delimitado por um caractere NL, EOL, EOF ou EOL2 . Se a sinalização ICANON for definida, o caractere KILL será descartado quando processado.
- VEOF
- Indexa o caractere especial EOF (Ctrl-d), que é reconhecido na entrada se a sinalização ICANON estiver definida. Quando o EOF é recebido, todos os caracteres que esperam para serem lidos são imediatamente passados para o processo, sem esperar por uma nova linha, e o EOF é descartado. Se o EOF for recebido no início de uma linha (nenhum caractere está esperando), uma contagem de caracteres de zero é devolvida a partir da leitura, indicando um fim-de-arquivo. Se a sinalização ICANON for definida, o caractere EOF é descartado quando processado.
- VEOL
- Indexa o caractere especial EOL (Ctrl-@ ou ASCII NULL), que é reconhecido na entrada se a sinalização ICANON estiver definida. O EOL é um delimitador de linha adicional, como NL, e normalmente não é usado.
- VEOL2
- Indexa o caractere especial EOL2 (Ctrl-@ ou ASCII NULL), que é reconhecido na entrada se as bandeiras ICANON e IEXTEN estiverem definidas. EOL2 é um delimitador de linha adicional, como NL, e normalmente não é usado.
- VSTART
- Indexa o caractere especial START (Ctrl-q), que é reconhecido na entrada se o sinalizador IXON estiver configurado, e gerado na saída se o sinalizador IXOFF estiver configurado. O caráter START pode ser usado para retomar a saída que foi suspensa por um caractere STOP. Se a sinalização IXON for definida, o caractere START será descartado quando processado. Enquanto a saída não é suspensa, os caracteres START são ignorados e não lidos. VSTRT é um alias para VSTART.
- VSTOP
- Indexa o caractere especial STOP (Ctrl-s), que é reconhecido na entrada se o sinalizador IXON estiver configurado, e gerado na saída se o sinalizador IXOFF estiver configurado. O caractere STOP pode ser usado para com terminais para evitar que a saída desapareça antes que ela possa ser lida. Se a sinalização IXON for definida, o caractere STOP será descartado quando processado. Enquanto a saída é suspensa, os caracteres STOP são ignorados e não lidos.
- VSUSP
- Indexa o caractere especial do SUSP (Ctrl-z), que é reconhecido na entrada se o sinalizador ISIG estiver configurado. O caractere SUSP gera um sinal SIGTSTP , que é enviado para todos os processos no grupo de processo de primeiro plano para o qual o terminal é o terminal de controle. Se a sinalização ISIG for definida, o caractere SUSP será descartado quando processado.
- VDSUSP
- Indexa o caractere especial DSUSP (Ctrl-y), que é reconhecido na entrada se as sinalizadores ISIG e IEXTEN estiverem definidas. O caractere DSUSP gera um sinal SIGTSTP como o caractere SUSP faz, mas o sinal é enviado quando um processo em grupo de processo de primeiro plano tenta ler o caractere DSUSP, em vez de quando o DSUSP é digitado. Se as bandeiras ISIG e IEXTEN estiverem definidas, o caractere DSUSP será descartado quando processado.
- REIMPRESSÃO
- Indexa o caractere especial REPRINT (Ctrl-r), que é reconhecido na entrada se as sinalizadores ICANON e IEXTEN estiverem definidas. O caractere REPRINT reprime todos os caracteres, precedidos por uma nova linha, que não foram lidos. Se as bandeiras ICANON e IEXTEN estiverem definidas, o caractere REPRINT será descartado quando processado.
- VDISCRD
- Indexa o caractere especial DISCARD (Ctrl-o), que é reconhecido na entrada se as sinalizadores ICANON e IEXTEN estiverem definidas. O caractere DISCARD faz com que a saída subsequente seja descartada até que outro caractere DISCARD seja digitado, mais entrada chega ou a condição é liberada por um programa. Se as bandeiras ICANON e IEXTEN estiverem definidas, o caractere DISCARD é descartado quando processado.
- VWERSE
- Indexa o caractere especial WERASE (Ctrl-w), que é reconhecido na entrada se as sinalizadores ICANON e IEXTEN estiverem definidas. O caractere WERASE faz com que a palavra anterior seja apagada. O caractere WERASE não se apaga além do início da linha como delimitado por um caractere NL, EOL, EOF ou EOL2 . Se as bandeiras ICANON e IEXTEN estiverem definidas, o caractere WERASE é descartado quando processado.
- VLNEXT
- Indexa o caractere especial LNEXT (literal próximo) especial (Ctrl-v), que é reconhecido na entrada se as bandeiras ICANON e IEXTEN estiverem definidas. O caractere LNEXT faz com que o significado especial do próximo caractere seja ignorado para que os caracteres possam ser input sem serem interpretados pelo sistema. Se as bandeiras ICANON, ECHOe IEXTEN estiverem definidas, o caractere LNEXT é substituído por uma sequência de ^ -Backspace quando processado.
- VMIN
- Indexa o valor MIN , que não é um caractere especial. O uso do valor MIN é descrito na discussão de processamento de entrada de modo não canônico em "Disciplina de Linha de ldterm" em Conceitos Gerais de Programação: Programas de escrita e depuração.
- VTIME
- Indexa o valor TEMPO , que não é um caractere especial. O uso do valor TEMPO é descrito na discussão de processamento de entrada de modo não canônico em "Disciplina de Linha de ldterm" em Conceitos Gerais de Programação: Programas de escrita e depuração.
Os valores de caracteres para os seguintes caracteres de controle podem ser alterados:
Item Descrição Valor Valor INTR EOF PARE DISCARD ENCERRAR EOL SUSP WERASE ERASE EOL2 DSUSP LNEXT kill INICIE REIMPRESSÃO REIMPRESSÃO Os caracteres ERASE, KILL e EOF também podem ser escapados (precedidos por uma barra invernada) para que nenhum processamento especial seja feito.
Definições De Valor Do Parâmetro
Os valores a seguir para o parâmetro OptionalActions da sub-rotina tcsetattr também são definidos no arquivo termios.h :
| Item | Descrição |
|---|---|
| TCSANOW | Estabelece imediatamente os parâmetros associados ao terminal a partir da estrutura termério referenciada. |
| TCSADRAIN | Aguarda-se até que toda a saída gravada no arquivo objeto tenha sido transmitida antes de configurar os parâmetros do terminal a partir da estrutura termério . |
| TCSAFLUSH | Aguarda até que toda a saída gravada no arquivo do objeto tenha sido transmitida e até que toda entrada recebida mas não lida tenha sido descartada antes de configurar os parâmetros do terminal a partir da estrutura termério . |
Os valores a seguir para o parâmetro QueueSelector da sub-rotina tcflush também são definidos nesse arquivo de cabeçalho:
| Item | Descrição |
|---|---|
| TCIFLUSH | Flushes dados que são recebidos mas não lidos. |
| TCOFLUSH | Flushes dados que são escritos mas não transmitidos. |
| TCIOFLUSH | Flushes dados que são recebidos mas não lidos assim como dados que são escritos mas não transmitidos. |
Os valores a seguir para o parâmetro Action da sub-rotina tcflow também são definidos no arquivo termios.h :
| Item | Descrição |
|---|---|
| TCOOFF | Suspende a saída de dados pelo arquivo objeto denominado no subbroutine tcflow . |
| TCOON | Reinicia a saída de dados que foi suspensa pela ação TCOOFF . |
| TCIOFF | Transmite um caractere de parada para interromper a transmissão de dados pelo dispositivo terminal. |
| TCION | Transmite um caractere de início para iniciar ou reiniciar a transmissão de dados pelo dispositivo do terminal. |
Operações de Controle de Modem
As operações ioctl a seguir, usadas para controle de modem, são uma extensão para a interface de disciplina de linha POSIX . Para usar essas operações em um programa, o programa deve conter uma instrução #include para o arquivo ioctl.h
| Item | Descrição |
|---|---|
| TIOCMBIS | O argumento para este comando é um ponteiro para um número inteiro que liga as linhas de controle especificadas pelo valor de máscara inteiro. Nenhuma outra linha de controle é afetada. |
| TIOCMBIC | O argumento para este comando é um ponteiro para um inteiro que desliga as linhas de controle especificadas pelo valor de máscara inteiro. Nenhuma outra linha de controle é afetada. |
| TIOCMGET | Obtém todos os bits do modem. O argumento para este comando é um ponteiro para um inteiro onde o estado atual das linhas de status do modem é armazenado. Quais as linhas de controle de status e modem são suportadas depende das capacidades do hardware e do driver de dispositivo do hardware. |
| TIOCMSET | Configura todos os bits do modem. O argumento para este comando é um ponteiro para um inteiro contendo um novo conjunto de bits de modem. Os bits de controle do modem usam esses bits para ligar ou desligar as linhas de controle do modem, dependendo se o bit para essa linha está definido ou claro. Quaisquer bits de status do modem são ignorados. As linhas de controle real do modem que são suportadas dependem das capacidades do hardware e do driver de dispositivo do hardware. O inteiro especifica uma das seguintes linhas de controle de modem ou status em que o comando modem controle ioctl opera:
|
| TIOCMIWAIT | Aguarde a linha de status do modem para alterar o status. O argumento é um ponteiro para um valor de máscara de número inteiro especificando a (s) linha (s) de status do modem (s) em que esperar por uma mudança de status, e pode consistir em um ou mais dos seguintes valores:
Se nenhuma das linhas especificadas alterar o status, o ioctl pode bloquear indefinidamente, então ele deve ser usado em conjunto com um temporizador alarme () . Se TIOCM_RNG ou TIOCM_RI for especificado, a transição será relatada apenas quando as transições de linha de status de
on para off devido a restrições de hardware.Nota: Operação correta deste ioctl depende de cabeamento correto.
|