NAME¶
backend - CUPS Backend-Übertragungsschnittstellen
SYNOPSIS¶
backend
backend Auftrag Benutzer Titel Anzahl-Kopien Optionen [
Dateiname
]
BESCHREIBUNG¶
Backends sind eine besondere Art von
filter(7), die verwendet werden, um
Daten zu verschiedenen Geräten auf dem System zu senden und entsprechende
Geräte zu ermitteln.
Wie Filter müssen Backends in der Lage sein, aus Dateinamen auf der
Befehlszeile oder von der Standardeingabe zu lesen, die Standardeingabe in
eine temporäre Datei zu kopieren, wie dies von der physischen
Schnittstelle gefordert wird.
Der Befehlsname (argv[0]) wird auf die Geräte-URI des Zieldruckers gesetzt.
Beginnend mit CUPS 1.1.22 wird jede Authentifizierungsinformation aus argv[0]
entfernt, daher wird Backend-Entwicklern empfohlen, die Umgebungsvariable
DEVICE_URI zu verwenden, wennimmer Authentifizierungsinformationen
benötigt werden. Das CUPS-API enthält eine Funktion
cupsBackendDeviceURI zum Ermitteln der korrekten Geräte-URI.
Rückgeleitete Daten vom Gerät sollten an die Filter für die
Aufträge weitergeleitet werden, indem auf Dateideskriptor 3 geschrieben
wird. Das CUPS-API enthält für diesen Zweck die Funktion
cupsBackChannelWrite.
GERÄTE-ERMITTLUNG¶
Beim Aufruf ohne Argumente sollte das Backend die Geräte und
unterstützten oder beworbenen Schemata auf Stdout aufführen. Die
Ausgabe besteht aus null oder mehr Zeilen, die in einer der folgenden Formen
vorliegen:
device-class scheme "Unknown" "device-info"
device-class device-uri "device-make-and-model" "device-info"
device-class device-uri "device-make-and-model" "device-info" "device-id"
device-class device-uri "device-make-and-model" "device-info" "device-id" "device-location"
Das Feld
device-class enthält einen der folgenden Werte:
- direct
-
Die Geräte-URI bezieht sich auf spezielle Geräte mit direktem
Zugriff ohne Optionen, wie z.B. parallele, USB- oder SCSI-Geräte.
- file
-
Die Geräte-URI bezieht sich auf eine Datei auf dem Speichermedium.
- network
-
Die Geräte-URI bezieht sich auf ein vernetztes Gerät und folgt der
allgemeinen Form für vernetzte URIs.
- serial
-
Die Geräte-URI bezieht sich auf ein serielles Gerät mit einer
konfigurierbaren Baudrate und anderen Optionen. Falls die Geräte-URI
einen Baud-Wert enthält, repräsentiert er die maximale vom
Gerät unterstützte Baudrate.
Das Feld
scheme stellt das vom Backend unterstützte URI-Schemata
bereit. Backends sollten diese Form nur verwenden, wenn das Backend jede dem
Schemata folgende URI unterstützt. Das Feld
device-uri
spezifiziert die komplette URI, die bei der Kommunikation mit dem Gerät
verwandt werden soll.
Das Feld
device-make-and-model spezifiziert die Marke und das Modell des
Gerätes, z.B. »Acme Foojet 2000«. Falls die Marke und das
Modell nicht bekannt ist, müssen Sie »Unknown« melden.
Das Feld
device-info spezifiziert zusätzliche Informationen
über das Gerät. Typischerweise enthält es die Marke und das
Modell zusammen mit der Port-Nummer oder der Netz-Adresse, z.B. »Acme
Foojet 2000 USB #1«.
Das optionale Feld
device-id spezifiziert die
IEEE-1284-Geräte-ID-Zeichenkette für das Gerät, die zur Auswahl
des passenden Treibers verwandt wird.
Das optionale Feld
device-location spezifiziert den physischen Standort
des Geräts. Es wird oft dazu verwandt, die Drucker-Standort-Attribute
vorab zu belegen, wenn ein Drucker hinzugefügt wird.
RECHTE¶
Backends, denen die Ausführungsrechte für »world« (andere)
fehlen, werden als Benutzer root ausgeführt. Andernfalls läuft das
Backend unter dem unprivilegierten Benutzerkonto, typischerweise
»lp«.
EXIT-CODES¶
Die folgenden Exit-Codes sind für Backends definiert; C API-Konstanten, die
in der Header-Datei <cups/backend.h> definiert sind, sind in Klammern
definiert:
- 0 (CUPS_BACKEND_OK)
-
Die Druckdatei wurde erfolgreich an das Gerät oder den entfernten
Server übertragen.
- 1 (CUPS_BACKEND_FAILED)
-
Die Druckdatei wurde nicht erfolgreich zum Gerät oder entfernten Server
übertragen. Der Auftragsplaner (Scheduler) wird daraufhin den Auftrag
abbrechen, den Auftrag erneut versuchen oder die Warteschlange anhalten,
abhängig vom Zustand des Attributs »error-policy«.
- 2 (CUPS_BACKEND_AUTH_REQUIRED)
-
Die Druckdatei wurde nicht erfolgreich übertragen, da gültige
Authentifizierungsinformationen benötigt werden. Der Auftragsplaner
wird darauf durch Halten des Auftrags reagieren und das Schlüsselwort
»authentication-required job-reasons« hinzufügen.
- 3 (CUPS_BACKEND_HOLD)
-
Die Druckdatei wurde nicht erfolgreich übertragen, da sie derzeit nicht
gedruckt werden kann. Der Auftragsplaner wird darauf durch Halten des
Auftrags reagieren.
- 4 (CUPS_BACKEND_STOP)
-
Die Druckdatei wurde nicht erfolgreich übertragen, da sie derzeit nicht
gedruckt werden kann. Der Auftragsplaner wird durch Anhalten der
Warteschlange darauf reagieren.
- 5 (CUPS_BACKEND_CANCEL)
-
Die Druckdatei wurde nicht erfolgreich übertragen, da eine oder mehrere
der Attribute nicht unterstützt werden. Der Auftragsplaner wird durch
Abbruch des Auftrages darauf reagieren.
- 6 (CUPS_BACKEND_RETRY)
-
Die Druckdatei wurde aufgrund eines temporären Problems nicht
erfolgreich übertragen. Der Auftragsplaner wird den Auftrag zu einem
zukünftigen Zeitpunkt erneut versuchen - andere Aufträge
können vor diesem drucken.
- 7 (CUPS_BACKEND_RETRY_CURRENT)
-
Die Druckdatei wurde aufgrund eines temporären Problems nicht
erfolgreich übertragen. Der Auftragsplaner wird den Auftrag sofort
erneut versuchen, ohne andere Aufträge dazwischen zu erlauben.
Alle anderen Exit-Codes sind reserviert.
SIEHE AUCH¶
cupsd(8),
cupsd.conf(5),
filter(7),
http://localhost:631/help
COPYRIGHT¶
Copyright 2007-2011 by Apple Inc.