lp - dispositivos de impresora.
lp[0–2] son dispositivos de carácter para las
impresoras en el puerto paralelo; tienen el número mayor 6 y el menor
0n]2. Los números 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 interrupción. Se recomienda usar el modo de interrupciones cuando
se espere gran cantidad de tráfico (p.ej. con impresoras
láser). Para las impresoras matriciales , el modo de sondeo suele ser
suficiente de ahí que se use por defecto.
Se aceptan las siguientes llamadas ioctl(2):
- int ioctl(int fd,
LPTIME, int arg)
- arg es la cantidad de tiempo que el controlador dormirá
antes de re-comprobar la impresora, cuando el tampón de la
impresora se haya llenado. Si se tiene una impresora rápida,
redúzcase este número; si se tiene una impresora lenta,
auméntese. Se mide en centésimas de segundo, siendo el valor
por omisión 2 (0,02 segundos). Sólo tiene influencia en el
controlador por sondeo.
- int ioctl(int fd,
LPCHAR, int arg)
- arg es el número máximo de iteraciones de espera que
efectuará el controlador por sondeo, mientras espera que la
impresora esté lista para recibir un carácter. Si la
impresora es demasiado lenta, hay que aumentar este número. Si el
sistema va demasiado lento, hay que disminuir este número. El valor
por omisión es 1000. Sólo tiene influencia en el controlador
por sondeo.
- int ioctl(int fd,
LPABORT, int arg)
- Si arg es 0, el controlador reintentará la operación
cuando se produzca un error. De lo contrario, abortará. El valor
por omisión es 0.
- int ioctl(int fd,
LPABORTOPEN, int arg)
- Si arg es 0, se abortará open(2) cuando se produzca
un error, de lo contrario el error será pasado por alto. El valor
por omisión es este último comportamiento.
- int ioctl(int fd,
LPCAREFUL, int arg)
- Si arg es 0, es necesario que las señales de sin-papel,
fuera de línea y error sean falsas en el momento de la escritura,
de lo contario no se tienen en cuenta. El valor por omisión es esto
último.
- int ioctl(int fd,
LPWAIT, int arg)
- arg fija el número de iteraciones de espera a efectuar antes
de enviar un pulso a la impresora para que acepte el carácter que
se acaba de escribir, y el número de iteraciones a esperar antes de
retirar el pulso. La especificación dice que su duración
debe ser 0,5 microsegundos, pero la experiencia muestra que el retardo
causado por el propio codigo es suficiente. Por esa razón, el valor
por omisión es 0. Lo usan tanto el controlador por interrupciones
como el controlador por sondeo.
- int ioctl(int fd,
LPSETIRQ, int arg)
- Esta ioctl(2) necesita los privilegios de administrador. Toma un
int que contiene la nueva IRQ a usar por el controlador. Como
efecto secundario, se reinicia la impresora. Si arg es 0, se
usará el controlador por sondeo, del mismo modo que se haría
por defecto.
- int ioctl(int fd,
LPGETIRQ, int *Iarg)
- 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 señales. Nótese que también pueden activarse
otros bits no documentados, dependiendo de la impresora.
- int ioctl(int
fd, LPRESET)
- Re-inicializa la impresora. No necesita argumento.
La traducción al español de esta página del
manual fue creada por Ignacio Arenaza <Ignacio.Arenaza@studi.epfl.ch>,
Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es> y Marcos
Fouces <marcos@debian.org>
Esta traducción es documentación libre; lea la
GNU General
Public License Version 3 o posterior con respecto a las condiciones de
copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta
página del manual, envíe un correo electrónico a
debian-l10n-spanish@lists.debian.org.