Provided by: manpages-it_2.80-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 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)