1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
.\" Copyright (c) Michael Haardt (michael@cantor.informatik.rwth-aachen.de), Sun Jan 15 19:16:33 1995
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" Modified, Sun Feb 26 15:02:58 1995, faith@cs.unc.edu
.\"
.\" Traduzione in italiano di Giovanni Bortolozzo <borto@dei.unipd.it>
.\" Settembre 1996
.\" Aggiornamento alla versione 1.15 di Alessandro Rubini (rubini@linux.it)
.\" Maggio 1997
.\"
.TH LP 4 "15 gennaio 1995" "" "File speciali"
.SH NOME
lp \- file speciali per le stampanti
.SH SINTASSI
#include <linux/lp.h>
.SH CONFIGURAZIONE
\fBlp\fP[0\(en2] sono dispositivi a carattere per le stampanti
connesse sulla porta parallela; hanno numero primario 6 e numero secondario
0\(en2. 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.
.SH DESCRIZIONE
Sono supportate le seguenti chiamate
.IR ioctl (2):
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPTIME, int \fP\fIarg\fP\fB)\fP"
Pone uguale ad \fIarg\fP 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".
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPCHAR, int \fP\fIarg\fP\fB)\fP"
Assenga ad \fIarg\fP 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.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPABORT, int \fP\fIarg\fP\fB)\fP"
Se \fIarg\fP 0, il driver della stampante riprover a
trasmettere nel caso si verifichino errori, altrimenti interromper
la stampa. Il default 0.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPABORTOPEN, int \fP\fIarg\fP\fB)\fP"
Se \fIarg\fP 0,
.IR open (2)
sar terminato in caso un errore, altrimenti l'errore sar
ignorato. Il default di ignorarlo.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPCAREFUL, int \fP\fIarg\fP\fB)\fP"
Se \fIarg\fP 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.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPWAIT, int \fP\fIarg\fP\fB)\fP"
Assegna ad \fIarg\fP 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.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPSETIRQ, int \fP\fIarg\fP\fB)\fP"
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 \fIarg\fP 0,
questa chiamata seleziona il driver di tipo "polling", che anche
quello di default.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPGETIRQ, int *\fP\fIarg\fP\fB)\fP"
Salva l'IRQ correntemente usato in \fIarg\fP.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPGETSTATUS, int *\fP\fIarg\fP\fB)\fP"
Salva il valore della porta di stato della stampante in \fIarg\fP. I
bit hanno i seguenti significati:
.sp
.TS
l l.
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
.TE
.sp
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.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPRESET)\fP"
Reimposta la stampante. Non necessario alcun argomento.
.SH FILE
/dev/lp*
.SH 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.
.SH "VEDERE ANCHE"
.BR mknod "(1), " chown "(1), " chmod "(1), " tunelp "(8), " lpcntl (8)
|