Provided by: manpages-es_1.55-8_all bug

NOMBRE

       lp - dispositivos de impresora.

SINOPSIS

       #include <linux/lp.h>

CONFIGURACIÓN

       lp[0–2]  son  dispositivos de carácter para las impresoras en el puerto
       paralelo; tienen el número mayor 6 y el menor 0–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
       de  matriz  de  puntos  habituales, el modo de sondeo es suficiente. El
       modo por omisión es el de sondeo.

DESCRIPCIÓN

       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() necesita los  privilegios  del  súper-usuario.  arg
              especifica  la  nueva IRQ a usar por el controlador. Como efecto
              secundario, se re-inicializa la impresora. Si arg es 0, se usará
              el  controlador por sondeo, que es también el valor por omisión.

       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 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.

FICHEROS

       /dev/lp*

AUTORES

       El  controlador de impresora fue escrito en su origen por Jim Weigand y
       Linus Torvalds.  Fue mejorado más tarde por  Michael  K.  Johnson.   El
       código  de  las interrupciones fue escrito por Nigel Gamble, y Alan Cox
       lo modularizó. LPCAREFUL, LPABORT y  LPGETSTATUS  fueron  añadidos  por
       Chris Metcalf.

VÉASE TAMBIÉN

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