File: lp.4

package info (click to toggle)
manpages-de 0.1-7
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 2,448 kB
  • ctags: 10
  • sloc: makefile: 90
file content (121 lines) | stat: -rw-r--r-- 5,953 bytes parent folder | download | duplicates (2)
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
121
'\" t
.\" 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
.\" Modified Mon Jun 10 01:32:53 1996 by Martin Schulze (joey@linux.de)
.\"
.TH LP 4 "15. Januar, 1995" "" "Gertedateien"
.SH BEZEICHNUNG
lp \- line printer devices (Zeilendrucker)
.SH BERSICHT
#include <linux/lp.h>
.SH KONFIGURATION
\fBlp\fP[0\(en2] sind zeichenorientierte Gerte fr Drucker an der
parallelen Schnittstelle; ihre major numbers sind 6, ihre minor numbers
sind 0\(en2.  Die minor numbers korrespondieren zu den Basisadressen
0x03bc, 0x0378 and 0x0278 der Druckerports.  Normalerweise haben sie
mode 220 und gehren root und Gruppe lp.  Die Druckerports knnen
entweder im polling- oder interrupt-Betrieb benutzt werden.  Falls ein
groer Datendurchsatz erwartet wird, z.B. fr Laserdrucker, sollten
Interrupts benutzt werden.  Fr normale Matrixdrucker sollte polling
ausreichen.  Der default ist polling.
.SH BESCHREIBUNG
Die folgenden
.IR ioctl (2)
Aufrufe werden untersttzt:
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPTIME, int \fP\fIarg\fP\fB)\fP"
Wenn der Druckerpuffer voll ist, schlft der Treiber fr \fIarg\fP
Hundertstelsekunden, bevor er den Puffer erneut prft.  Fr einen
schnellen Drucker sollte dieser Wert niedrig, fr einen langsamen
Drucker dagegen hoch gewhlt werden.  Der default betrgt 2, also 0,02
Sekunden.  Dies beeinflut nur den pollenden Treiber.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPCHAR, int \fP\fIarg\fP\fB)\fP"
Setzt die maximale Anzahl von busy-wait Iterationen des pollenden
Treibers, die gemacht werden wenn der Treiber darauf wartet da der
Drucker bereit wird, auf \fIarg\fP.  Die Zahl sollte erhht werden falls
das Drucken zu langsam ist und erniedrigt werden, wenn das System zu
stark belastet wird.  Der Standardwert ist 1000.  Dies beeinflut nur
den pollenden Treiber.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPABORT, int \fP\fIarg\fP\fB)\fP"
Falls \fIarg\fP 0 ist, wird es der Druckertreiber bei Fehlern erneut
versuchen, ansonsten aufgeben.  Der Standardwert ist 0.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPABORTOPEN, int \fP\fIarg\fP\fB)\fP"
Falls \fIarg\fP 0 ist, wird
.IR open (2)
bei auftretenden Fehlern abgebrochen, ansonsten werden Fehler ignoriert.
Der default ist ignorieren.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPCAREFUL, int \fP\fIarg\fP\fB)\fP"
Falls \fIarg\fP 0 ist, mssen alle out-of-paper-, offline- und
Fehlersignale bei allen Schreibzugriffen logisch falsch sein, ansonsten
werden sie ignoriert.  Standard ist es, sie zu ignorieren.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPWAIT, int \fP\fIarg\fP\fB)\fP"
Setzt die Anzahl von busy-wait Iterationen, die ausgefhrt werden, bevor
der strobe Impuls beginnt.  (Strobe signalisiert dem Drucker, da die
Daten am Datenport stabil anliegen und ein neues Zeichen enthalten.)  Es
werden ebenfalls \fIarg\fP Iterationen ausgefhrt, bevor der strobe
Impuls beendet wird.  Die Spezifikation gibt eine Impulslnge von 1 bis
500 Mikrosekunden vor.  Der Impuls darf frhestens eine Mikrosekunde
nach dem Anlegen der Daten gegeben werden, welche mit seinem Ende
bernommen werden, und die Daten mssen noch mindestens eine Mikrosekunde
nach dem Ende anliegen.  Der Default ist 0, es werden also keine
zustzlichen Verzgerungsschleifen ausgefhrt.  Die Erfahrung hat gezeigt, da
die verzgerung durch den code selbst ausreicht.  Dies gilt fr den 
Interruptgetriebenen wie fr den pollenden Treiber.  
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPSETIRQ, int \fP\fIarg\fP\fB)\fP"
Dieser ioctl() bentigt superuser Privilegien.  \fIarg\fP gibt den neuen
IRQ an, der Wert 0 schaltet interrupts ab und polling ein, was auch
default ist.  Als Seiteneffekt wird der Drucker dabei zurckgesetzt.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPGETIRQ, int *\fP\fIarg\fP\fB)\fP"
Speichert den zur Zeit genutzten IRQ in \fIarg\fP.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPGETSTATUS, int *\fP\fIarg\fP\fB)\fP"
Speichert den Wert des status port in \fIarg\fP.  Die Bits haben
folgende Bedeutung:
.sp
.TS
l l.
LP_PBUSY	invertierter busy Eingang, aktiv high
LP_PACK	unvernderter acknowledge Eingang, aktiv low
LP_POUTPA	unvernderter out-of-paper Eingang, aktiv high
LP_PSELECD	unvernderter selected Eingang, aktiv high
LP_PERRORP	unvernderter error Eingang, aktiv low
.TE
.sp
Siehe auch Dein Drucker Handbuch fr die Bedeutung der Signale.  Beachte
dabei, da auch undokumentierte Bits, in Abhngigkeit vom Drucker,
gesetzt werden knnen.
.IP "\fBint ioctl(int \fP\fIfd\fP\fB, LPRESET)\fP"
Setzt den Drucker zurck.  Ohne Argument.
.SH FILES
/dev/lp[0\(en2]
.SH AUTOREN
Der Druckertreiber ist im Original von Jim Weigand und Linus Torvalds
geschrieben worden.  Michael K.\& Johnson hat ihn weiter verbessert.
Der Interrupt code stammt von Nigel Gamble.  Alan Cox modularisierte
ihn.  LPCAREFUL, LPABORT, LPGETSTATUS wurden von Chris Metcalf
hinzugefgt.
.SH "SIEHE AUCH"
.BR mknod (1),
.BR chown (1),
.BR chmod (1),
.BR tunelp (8),
.BR lpcntl (8).