Provided by: manpages-es_1.55-10_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)