Provided by: manpages-it_0.3.4-5_all bug

NOME

       lp - file speciali per le stampanti

SINTASSI

       #include <linux/lp.h>

CONFIGURAZIONE

       lp[0–2]  sono  dispositivi  a carattere per le stampanti connesse sulla
       porta parallela; hanno numero primario 6 e  numero  secondario  0–2.  I
       numeri  secondari  corrispondono  agli indirizzi base delle porte delle
       stampante 0x03bc, 0x0378 e 0x0278. Si solito hanno modo di accesso  220
       e  sono  di  proprietà di root e gruppo lp. Si può usare la porta della
       stampante  sia  in  polling  che  con  interrupt.  Gli  interrupt  sono
       raccomandati  quando  è previsto molto traffico, p.es. per le stampanti
       laser. Per le normali stampanti ad aghi  di  solito  è  sufficiente  il
       polling. Il default è il polling.

DESCRIZIONE

       Sono supportate le seguenti chiamate ioctl(2):

       int ioctl(int fd, LPTIME, int arg)
              Pone  uguale  ad  arg  l’ammontare  di  tempo che il driver deve
              aspettare prima di ricontrollare la stampante quando  il  buffer
              della  stampante  sembra  essere  pieno.  Se  si ha un stampante
              veloce, si può diminuire questo numero; se si ha  una  stampante
              lenta  conviene aumentarlo. Il valore È espresso in centesimi di
              secondo, e il default 2 significa 0.02  secondi.  Questo  valore
              influenza solo il driver di tipo "polling".

       int ioctl(int fd, LPCHAR, int arg)
              Assenga  ad arg il numero massimo di iterazioni in busy-wait che
              il driver di tipo "polling" effetua aspettando che la  stampante
              sia pronta a ricevere un carattere. Se la stampa è troppo lenta,
              si può incrementare questo numero; se il sistema va troppo piano
              lo si decrementi. Il default è 1000. Il valore ha influenza solo
              sul polling driver.

       int ioctl(int fd, LPABORT, int arg)
              Se arg è 0, il driver della stampante  riproverà  a  trasmettere
              nel  caso  si  verifichino  errori,  altrimenti  interromperà la
              stampa. Il default è 0.

       int ioctl(int fd, LPABORTOPEN, int arg)
              Se arg è 0, open(2) sarà terminato in caso un errore, altrimenti
              l’errore sarà ignorato. Il default è di ignorarlo.

       int ioctl(int fd, LPCAREFUL, int arg)
              Se  arg  è  0,  allora  i  segnali out-of-paper, offline e error
              devono essere falsi durante tutte le  operazioni  di  scrittura,
              altrimenti vengono ignorati. Il default è di ignorarli.

       int ioctl(int fd, LPWAIT, int arg)
              Assegna ad arg il numero di iterazioni in busy-wait da aspettare
              prima  di  abilitare  (strobe)  la  stampante  ad  accettare  il
              carattere appena scritto, e il numero di iterazioni da attendere
              prima di togliere ancora l’abilitazione.  Le  specifiche  dicono
              che  questo  tempo  dovrebbe  essere  di  0.5  microsecondi,  ma
              l’esperienza ha mostrato che il ritardo causato dal codice è già
              sufficiente.  Per  questa  ragione,  il  valore  di default è 0.
              Questi valori vengono usati sia  per  la  modalità  polling  che
              quella con interrupt.

       int ioctl(int fd, LPSETIRQ, int arg)
              Questa ioctl() richiede i privilegi del superutente. Prende come
              argomento un intero contenente il  nuovo  numero  di  IRQ.  Come
              effetto collaterale, la stampante sarà reimpostata. Quando arg è
              0, questa chiamata seleziona il driver di tipo "polling", che  è
              anche quello di default.

       int ioctl(int fd, LPGETIRQ, int *arg)
              Salva l’IRQ correntemente usato in arg.

       int ioctl(int fd, LPGETSTATUS, int *arg)
              Salva  il valore della porta di stato della stampante in arg.  I
              bit hanno i seguenti significati:

              LP_PBUSY     (invertito) busy, attivo alto
              LP_PACK      acknowledge, attivo basso
              LP_POUTPA    out-of-paper, attivo alto
              LP_PSELECD   selected, attivo alto
              LP_PERRORP   error, attivo basso

              Si faccia riferimento al manuale della propria stampante per  il
              significato  dei  segnali.  Si noti che possono essere impostati
              anche i bit non documentati, ma questo dipende  dalla  stampante
              usata.

       int ioctl(int fd, LPRESET)
              Reimposta la stampante. Non è necessario alcun argomento.

FILE

       /dev/lp*

AUTORI

       Il  driver  per  la  stampante  è  stato scritto originariamente da Jim
       Weigand e Linus Torvalds. È stato ulteriormente migliorato  da  Michael
       K.  Johnson.  Il  codice  per  gli  interrupt  è stato scritto da Nigel
       Gamble.  Alan Cox lo ha modularizzato.  LPCAREFUL, LPABORT, LPGETSTATUS
       sono state aggiunte da Chris Metcalf.

VEDERE ANCHE

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

                                15 gennaio 1995                          LP(4)