Scroll to navigation

Backend(7) Apple Inc. Backend(7)

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.
CUPS 15. April 2011