Provided by: manpages-pt_20040726-5_all bug

NOME

       lp - dispositivo de impressora de linha

SINOPSE

       #include <linux/lp.h>

CONFIGURAÇÃO

       lp[0–2] são dispositivos de caracter para impressoras de linha paralelas; o maior número de dispositivo é
       6  e  o  menor  é 0–2. O menor número de dispositivo corresponde ao endereço basse da porta da impressora
       0x03bc, 0x0378 e 0x0278.  Usualmente eles tem modo 220 e são and propriedadades do  super  usuário  e  do
       grupo  lp.  Você  pode  usar  a  porta  de  impressora  em  um dos dois modos polling ou com interrupção.
       Interrupções são recomendadas quando tráfego alto é esperado, por exemplo para  impressoras  laser.  Para
       impressoras matriciais polling é usualmente suficiente. O padrão é polling.

DESCRIÇÃO

       As seguintes chamadas ioctl(2) são suportadas:

       int ioctl(int fd, LPTIME, int arg)
              Seleciona  a quantia de tempo que o controlador aguarda antes de reverificar a impressora quando o
              buffer da impressora mostra-se cheio para arg. Se você tem uma  impressora  rápida,  diminua  este
              número,  se  você  tem  uma impressora lenta aumente-o. Isto é um centésimo de segundo, o padrão 2
              estando a 0.02 segundos. Ele somente influência o controlador de polling.

       int ioctl(int fd, LPCHAR, int arg)
              Seleciona o número máximo de iterações ocupada-espera o qual faz controlador de polling  passar  o
              tempo  aguardando  pela  impressora  para preparar-se para recepção de um caractere para arg. Se a
              impressora é muito lenta, aumente este número; se o sistema também é lento, diminua este número. O
              padrão é 1000.  Ele somente influência o controlador de polling.

       int ioctl(int fd, LPABORT, int arg)
              Se arg é 0, o controlador de impressora irá tentar em erro, de outro  forma  ele  irá  abortar.  O
              padrão é 0.

       int ioctl(int fd, LPABORTOPEN, int arg)
              Se  arg  é  0,  open(2) irá abortar em erro, de outra forma erros serão ignorados. O padrão é para
              ignorar.

       int ioctl(int fd, LPCAREFUL, int arg)
              Se arg é 0, então fim-de-papel, fora-de-linha e sinal de erros são requeridos para  ser  falso  em
              todas as escritas, de outra forma eles são ignorados. O padrão é para ignora-los.

       int ioctl(int fd, LPWAIT, int arg)
              Seleciona  o  número de iterações de esperar ocupado para aguardar antes strobing a impressor para
              acessar um caractere justamente escrito, e o número de iterações para aguardar antes de  tornar  o
              strobe  desligado  novamente,  para  arg. A especificação diz que este tempo precisaria ser de 0,5
              microsegundos, mas a experiência  tem  mostrado  o  intervalo  de  tempo  causado  pelo  código  é
              suficiente.  Por  essas  razões,  o  valor  padrão  é 0. Isto é usado por ambos os modos polling e
              controlador de interrupção.

       int ioctl(int fd, LPSETIRQ, int arg)
              Esta ioctl() requer privilégios de super usuário. Isso exige um inteiro contendo o novo  argumento
              IRQ.  Como  um  efeito  colateral, a impressora deverá ser religada. Quando arg é 0, o controlador
              polling irá ser usado, o qual é, além disso, padrão.

       int ioctl(int fd, LPGETIRQ, int *arg)
              Armazena oa IRQ atualmente usada em arg.

       int ioctl(int fd, LPGETSTATUS, int *arg)
              Armazena o valor do status da porta em arg. Os bits tem o seguinte significado:

              LP_PBUSY     entrada invertida ocupada, alta atividade
              LP_PACK      entrada reconhecida inalterada, baixa atividade
              LP_POUTPA    entrada "sem papel" inalterada, alta atividade
              LP_PSELECD   entrada selecionada inalterada, alta atividade
              LP_PERRORP   entrada de erro inalterada, baixa atividade

              Refira-se para o manual da sua impressora para entender  sobre  os  sinais.   Note  que  bits  não
              documentados também podem ser selecionados, depende da sua impressora.

       int ioctl(int fd, LPRESET)
              Religa sua impressora. É usado sem argumentos.

ARQUIVOS

       /dev/lp*

AUTORES

       O  controlador  de  impressão  foi  originalmente  escrito por Jim Weigand e Linus Torvalds. Ele tem sido
       aprimorado por Michael K. Johnson. O código da interrupção foi escrito por Nigel Gamble. Alan Cox  fez  a
       modularização.  LPCAREFUL, LPABORT, LPGETSTATUS são adições de Chris Metcalf.

VEJA TAMBÉM

       mknod(1), chown(1), chmod(1), tunelp(8), lpcntl(8)

TRADUZIDO POR LDP-BR em 21/08/2000.

       André    L.    Fassone    Canova    <lonelywolf@blv.com.br>    (tradução)    Carlos    Augusto    Horylka
       <horylka@conectiva.com.br> (revisão)

                                                   15/01/1995                                              LP(4)