lp(4) Device Drivers Manual lp(4) NOMBRE lp - dispositivos de impresora. SINOPSIS #include CONFIGURACION lp[0-2] son dispositivos de caracter para las impresoras en el puerto paralelo; tienen el numero mayor 6 y el menor 0n]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 matriciales , el modo de sondeo suele ser suficiente de ahi que se use por defecto. DESCRIPCION 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(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 usara el controlador por sondeo, del mismo modo que se haria 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 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. ARCHIVOS /dev/lp* VEASE TAMBIEN chmod(1), chown(1), mknod(1), lpcntl(8), tunelp(8) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Ignacio Arenaza , Gerardo Aburruzaga Garcia y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de manual de Linux 6.06 5 Febrero 2023 lp(4)