lp - dispositivo de impressora de linha
lp[0–2] são dispositivos de caractere para
impressoras de linha paralelas; o número de dispositivo principal
é 6 e o secundário é 0–2. Os números
secundários correspondem ao endereço base da porta da
impressora 0x03bc, 0x0378 e 0x0278. Usualmente eles tem modo 220 e
são de propriedade do usuário root e grupo lp.
Você pode usar portas 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 típicas, 'polling'
é usualmente suficiente. O padrão é 'polling'.
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 de 'strobing' a impressora 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(2) requer privilégios de super usuário.
Isso exige um int 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.
A tradução para português brasileiro desta
página man foi criada por André Luiz Fassone
<lonely_wolf@ig.com.br>, Carlos Augusto Horylka
<horylka@conectiva.com.br> e Rafael Fontenelle
<rafaelff@gnome.org>.
Esta tradução é uma
documentação livre; leia a
Licença
Pública Geral GNU Versão 3 ou posterior para as
condições de direitos autorais. Nenhuma responsabilidade
é aceita.
Se você encontrar algum erro na tradução
desta página de manual, envie um e-mail para
a lista
de discussão de tradutores.