Provided by: manpages-it_2.80-3_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 sulla
              sequenza di interrogazione dei 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à
              interrogazione 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     input busy invertito, attivo alto
              LP_PACK      acknowledge, attivo basso
              LP_POUTPA    input "out-of-paper" invariato, attivo alto
              LP_PSELECD   input "selected" invariato, attivo alto
              LP_PERRORP   input "error" invariato, 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

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

                                         15 gennaio 1995                                    LP(4)