Provided by: manpages-de_4.15.0-9_all bug

BEZEICHNUNG

       lp - Zeilendrucker (line printer devices)

ÜBERSICHT

       #include <linux/lp.h>

KONFIGURATION

       lp[0…2]  sind  zeichenorientierte Geräte für Drucker an der parallelen Schnittstelle; ihre
       Hauptnummer (Major Number)  ist  6,  ihre  Nebennummern  (Minor  Numbers)  sind  0…2.  Die
       Nebennummern   korrespondieren  mit  den  Basisadressen  0x03bc,  0x0378  und  0x0278  der
       Druckerports. Normalerweise ist ihr Zugriffsmodus 220,  der  Besitzer  ist  root  und  die
       Gruppe  lp.  Die  Druckerports  können entweder im Polling- oder Interrupt-Betrieb benutzt
       werden. Falls ein größerer Datendurchsatz erwartet wird, z.B.  für  Laserdrucker,  sollten
       Interrupts  benutzt  werden.  Für  typische  Matrixdrucker  sollte Polling ausreichen. Der
       Vorgabewert ist Polling.

BESCHREIBUNG

       Die folgenden Aufrufe von ioctl(2) werden unterstützt:

       int ioctl(int fd, LPTIME, int arg)
              Wenn der Druckerpuffer voll ist, schläft der Treiber für  arg  Hundertstelsekunden,
              bevor  er  den  Puffer erneut prüft. Für einen schnellen Drucker sollte dieser Wert
              niedrig, für einen langsamen Drucker dagegen hoch gewählt werden. Die  Vorgabe  ist
              2, also 0,02 Sekunden. Dies beeinflusst nur den abrufenden Treiber (Polling).

       int ioctl(int fd, LPCHAR, int arg)
              Setzt die maximale Anzahl der Durchgänge, die der abrufende Treiber wartet, bis der
              Drucker bereit ist, ein Zeichen für arg zu empfangen. Die  Zahl  sollte  vergrößert
              werden, falls das Drucken zu langsam ist und verkleinert werden, wenn das System zu
              langsam wird. Der Standardwert  ist  1000.  Dies  beeinflusst  nur  den  abrufenden
              Treiber (Polling).

       int ioctl(int fd, LPABORT, int arg)
              Falls arg 0 ist, wird es der Druckertreiber bei Fehlern erneut versuchen, ansonsten
              aufgeben. Der Standardwert ist 0.

       int ioctl(int fd, LPABORTOPEN, int arg)
              Falls arg 0 ist, wird  open(2)  bei  auftretenden  Fehlern  abgebrochen,  ansonsten
              werden Fehler ignoriert. Standardmäßig werden Fehler ignoriert.

       int ioctl(int fd, LPCAREFUL, int arg)
              Falls arg 0 ist, müssen die Signale »out-of-paper«, »offline« und »error« bei allen
              Schreibzugriffen logisch falsch  sein,  ansonsten  werden  sie  ignoriert.  Es  ist
              Standard, sie zu ignorieren.

       int ioctl(int fd, LPWAIT, int arg)
              Setzt  die  Anzahl  von  »busy-wait«-Iterationen,  die ausgeführt werden, bevor der
              Strobe-Impuls  beginnt.  (Strobe  signalisiert  dem  Drucker,  dass  die  Daten  am
              Datenport stabil anliegen und ein neues Zeichen enthalten.) Es werden ebenfalls arg
              Iterationen ausgeführt, bevor der Strobe-Impuls  beendet  wird.  Die  Spezifikation
              gibt  eine  Impulslänge  von 0,5 Mikrosekunden vor. Die Erfahrung hat gezeigt, dass
              die Verzögerung durch den Code selbst ausreicht. Darum ist der Standardwert  0.  Er
              wird für den interruptgetriebenen wie für den abrufenden Treiber verwendet.

       int ioctl(int fd, LPSETIRQ, int arg)
              Dieser  ioctl(2)  benötigt  Superuser-Rechte.  Das  Argument arg ist die Nummer des
              neuen IRQs. Der Wert 0 schaltet Interrupts ab und Polling ein,  was  auch  Standard
              ist.

       int ioctl(int fd, LPGETIRQ, int *arg)
              Speichert den zurzeit genutzten IRQ in arg.

       int ioctl(int fd, LPGETSTATUS, int *arg)
              Speichert den Wert des Statusports in arg. Die Bits haben folgende Bedeutung:

              LP_PBUSY     invertierter Busy-Eingang, aktiv hoch
              LP_PACK      unveränderter Acknowledge-Eingang, aktiv niedrig
              LP_POUTPA    unveränderter »out-of-paper«-Eingang, aktiv hoch
              LP_PSELECD   unveränderter Selected-Eingang, aktiv hoch
              LP_PERRORP   unveränderter Error-Eingang, aktiv niedrig

              Lesen  Sie  auch  Ihr Drucker-Handbuch für die Bedeutung der Signale. Beachten Sie,
              dass abhängig vom Drucker auch undokumentierte Bits gesetzt werden können.

       int ioctl(int fd, LPRESET)
              Setzt den Drucker zurück. Ohne Argument.

DATEIEN

       /dev/lp*

SIEHE AUCH

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

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  5.13  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Michael Haardt <michael@moria.de>,
       Martin    Eberhard    Schauer   <Martin.E.Schauer@gmx.de>   und   Dr.   Tobias   Quathamer
       <toddy@debian.org> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version  3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.