Provided by:
manpages-es_1.55-10_all 
NOMBRE
lp - dispositivos de impresora.
SINOPSIS
#include <linux/lp.h>
CONFIGURACI'ON
lp[0-2] son dispositivos de caracter para las impresoras en el puerto
paralelo; tienen el numero mayor 6 y el menor 0-2. Los numeros menores
corresponden a las direcciones de base de los puertos de impresora
0x03bc, 0x0378 y 0x0278. Normalmente tienen permisos 220 y su
propietario es root y son del grupo lp. Los puertos de impresora se
pueden usar o bien en modo de sondeo o bien en modo de interrupcion. Se
recomienda usar el modo de interrupciones cuando se espere gran
cantidad de trafico (p.ej. con impresoras laser). Para las impresoras
de matriz de puntos habituales, el modo de sondeo es suficiente. El
modo por omision es el de sondeo.
DESCRIPCI'ON
Se aceptan las siguientes llamadas ioctl(2):
int ioctl(int fd, LPTIME, int arg)
arg es la cantidad de tiempo que el controlador dormira antes de
re-comprobar la impresora, cuando el tampon de la impresora se
haya llenado. Si se tiene una impresora rapida, reduzcase este
numero; si se tiene una impresora lenta, aumentese. Se mide en
centesimas de segundo, siendo el valor por omision 2 (0,02
segundos). Solo tiene influencia en el controlador por sondeo.
int ioctl(int fd, LPCHAR, int arg)
arg es el numero maximo de iteraciones de espera que efectuara
el controlador por sondeo, mientras espera que la impresora este
lista para recibir un caracter. Si la impresora es demasiado
lenta, hay que aumentar este numero. Si el sistema va demasiado
lento, hay que disminuir este numero. El valor por omision es
1000. Solo tiene influencia en el controlador por sondeo.
int ioctl(int fd, LPABORT, int arg)
Si arg es 0, el controlador reintentara la operacion cuando se
produzca un error. De lo contrario, abortara. El valor por
omision es 0.
int ioctl(int fd, LPABORTOPEN, int arg)
Si arg es 0, se abortara open(2) cuando se produzca un error, de
lo contrario el error sera pasado por alto. El valor por omision
es este ultimo comportamiento.
int ioctl(int fd, LPCAREFUL, int arg)
Si arg es 0, es necesario que las senales de sin-papel, fuera de
linea y error sean falsas en el momento de la escritura, de lo
contario no se tienen en cuenta. El valor por omision es esto
ultimo.
int ioctl(int fd, LPWAIT, int arg)
arg fija el numero de iteraciones de espera a efectuar antes de
enviar un pulso a la impresora para que acepte el caracter que
se acaba de escribir, y el numero de iteraciones a esperar antes
de retirar el pulso. La especificacion dice que su duracion debe
ser 0,5 microsegundos, pero la experiencia muestra que el
retardo causado por el propio codigo es suficiente. Por esa
razon, el valor por omision es 0. Lo usan tanto el controlador
por interrupciones como el controlador por sondeo.
int ioctl(int fd, LPSETIRQ, int arg)
Esta ioctl() necesita los privilegios del super-usuario. arg
especifica la nueva IRQ a usar por el controlador. Como efecto
secundario, se re-inicializa la impresora. Si arg es 0, se usara
el controlador por sondeo, que es tambien el valor por omision.
int ioctl(int fd, LPGETIRQ, int *arg)
Devuelve en arg la IRQ en uso actualmente.
int ioctl(int fd, LPGETSTATUS, int *arg)
Devuelve en arg el valor del puerto de estado. El significado de
cada bit es el siguiente:
LP_PBUSY entrada de ocupado invertida, activa a nivel alto
LP_PACK entrada de reconocimiento, activa a nivel bajo.
LP_POUTPA entrada de sin papel, activa a nivel alto.
LP_PSELECD entrada de seleccionado, activa a nivel alto.
LP_PERRORP entrada de error, activa a nivel bajo.
Consulte el manual de su impresora para conocer el significado
exacto de las senales. Notese que tambien pueden activarse otros
bits no documentados, dependiendo de la impresora.
int ioctl(int fd, LPRESET)
Re-inicializa la impresora. No necesita argumento.
FICHEROS
/dev/lp*
AUTORES
El controlador de impresora fue escrito en su origen por Jim Weigand y
Linus Torvalds. Fue mejorado mas tarde por Michael K. Johnson. El
codigo de las interrupciones fue escrito por Nigel Gamble, y Alan Cox
lo modularizo. LPCAREFUL, LPABORT y LPGETSTATUS fueron anadidos por
Chris Metcalf.
V'EASE TAMBI'EN
mknod(1), chown(1), chmod(1), tunelp(8), lpcntl(8)