Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
.
Copyright und Handelsmarken
Copyright © Océ Software Laboratories Namur S.A. 2009
Alle Rechte vorbehalten.Liefermöglichkeiten und technische Änderungen vorbehalten.
Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Warenzeichen der jeweiligen Hersteller.
Einleitung
Einführung
Die Objekte und Datenstrukturen der Xprint API
Speicherverwaltung
Erstellen einer Anwendung
Funktionsbeschreibungen
Serielle Zugriffskontrolle bei Druckern
Anhang
Literatur
Stichwörter
Inhalt1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Zielgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Darstellungsmittel . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Konzept dieses Handbuchs . . . . . . . . . . . . . . . . . . . . 21.4 Weitere Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1 Datenbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Speicherverwaltung . . . . . . . . . . . . . . . . . . . . . . . . 72.5 Xprint-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . 72.5.1 Der Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.5.2 Der Supervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.5.3 Der Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.5.4 Der Datenbasisverwalter . . . . . . . . . . . . . . . . . . . . . . 82.5.5 Der Xprint-Dämon . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Die Objekte und Datenstrukturen der Xprint API . . . . . . . 113.1 Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Objektstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.1 Hinzufügestrukturen . . . . . . . . . . . . . . . . . . . . . . . 133.2.2 Auswahlstrukturen . . . . . . . . . . . . . . . . . . . . . . . . 143.2.3 Modifizierungsstrukturen . . . . . . . . . . . . . . . . . . . . . 153.2.4 Folgestrukturen . . . . . . . . . . . . . . . . . . . . . . . . . 163.2.5 Skalierte Wertstrukturen . . . . . . . . . . . . . . . . . . . . . 193.2.6 Parameterstrukturen . . . . . . . . . . . . . . . . . . . . . . . 203.2.7 Ergebnisstrukturen . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Speicherverwaltung . . . . . . . . . . . . . . . . . . . . . . 234.1 Explizite Bereitstellung von Speicher . . . . . . . . . . . . . . 244.2 Implizite Bereitstellung von Speicher . . . . . . . . . . . . . . 25
5 Erstellen einer Anwendung . . . . . . . . . . . . . . . . . . 27
6 Funktionsbeschreibungen . . . . . . . . . . . . . . . . . . . 296.1 add_all_cli – Hinzufügen eines Objekts . . . . . . . . . . . . . 296.2 add_job_cli – Hinzufügen eines Auftrags . . . . . . . . . . . . 326.3 chg_dev_cli – Ändern des Druckerstatus . . . . . . . . . . . . 366.4 chg_dgr_cli – Ändern des Status einer Druckergruppe . . . . . 406.5 chg_gtw_cli – Ändern des Status von Gateways . . . . . . . . 436.6 chg_job_cli – Ändern des Auftrags-Status . . . . . . . . . . . . 45
OSL-Xprint80A-API-De-02
Inhalt
6.7 chg_spv_cli – Ändern des Supervisor-Status . . . . . . . . . . . 486.8 chg_srv_cli – Ändern des Server-Status . . . . . . . . . . . . . 506.9 chg_usr_cli – Ändern des Benutzer-Status . . . . . . . . . . . . 526.10 cpy_all_cli – Kopieren eines Objekts . . . . . . . . . . . . . . . 536.11 del_all_cli – Löschen von Objekten . . . . . . . . . . . . . . . . 566.12 del_job_cli – Löschen von Aufträgen . . . . . . . . . . . . . . . 606.13 mod_all_cli – Modifizieren von Objekten . . . . . . . . . . . . . 626.14 mod_job_cli – Modifizieren von Aufträgen . . . . . . . . . . . . 666.15 release_cli – Freigeben von Speicher . . . . . . . . . . . . . . 696.16 shw_all_cli – Anzeige von Informationen über Objekte . . . . . 706.17 shw_job_cli – Anzeige von Informationen über Aufträge . . . . . 726.18 shw_ref_cli – Referenzen auf ein bestimmtes Objekt anzeigen . 766.19 sta_all_cli – Objekt-Status ausgeben . . . . . . . . . . . . . . . 796.20 sta_job_cli – Auftrags-Status ausgeben . . . . . . . . . . . . . 826.21 Xp_alloc – Speicher für Struktur reservieren . . . . . . . . . . . 856.22 Xp_clean – Struktur löschen . . . . . . . . . . . . . . . . . . . 866.23 Xp_free – Speicher für Struktur freigeben . . . . . . . . . . . . 886.24 xpstart_cli – Xprint starten . . . . . . . . . . . . . . . . . . . . 896.25 xpstop_cli – Xprint beenden . . . . . . . . . . . . . . . . . . . 91
7 Serielle Zugriffskontrolle bei Druckern . . . . . . . . . . . . 957.1 acquire_dev( ) – Geräteschnittstelle öffnen . . . . . . . . . . . . 957.2 release_dev( ) – Geräteschnittstelle freigeben . . . . . . . . . . 98
8 Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Die Datei client.h . . . . . . . . . . . . . . . . . . . . . . . . 101Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Ergebnisstrukturen . . . . . . . . . . . . . . . . . . . . . . . 102Strukturen für die Referenzanzeige . . . . . . . . . . . . . . . 102Ergebnisstrukturen für Xpstat . . . . . . . . . . . . . . . . . . 103Strukturen zur Parameterdefinition . . . . . . . . . . . . . . . 107Union-Strukturen . . . . . . . . . . . . . . . . . . . . . . . . 111Die Datei xprint.h . . . . . . . . . . . . . . . . . . . . . . . . 112Allgemeine Konstanten und Datentypen . . . . . . . . . . . . 112 */Verschiedene Definitionen . . . . . . . . . . . . . . . . . . 113Beschreibende Strukturen . . . . . . . . . . . . . . . . . . . 124Primäre Objektstrukturen . . . . . . . . . . . . . . . . . . . . 127ECMA-spezifische Strukturen . . . . . . . . . . . . . . . . . . 137Auftrags-Strukturen . . . . . . . . . . . . . . . . . . . . . . . 143Mögliche Xprint-Objekte . . . . . . . . . . . . . . . . . . . . 144xp-Kommandos und zugehörige Strukturen . . . . . . . . . . 145Das Kommando xpadd . . . . . . . . . . . . . . . . . . . . . 145Das Kommando xpchange . . . . . . . . . . . . . . . . . . . 162Das Kommando xpcopy . . . . . . . . . . . . . . . . . . . . . 164
OSL-Xprint80A-API-De-02
Inhalt
Das Kommando xpdel . . . . . . . . . . . . . . . . . . . . . . 176Das Kommando xpmod . . . . . . . . . . . . . . . . . . . . . 177Das Kommando xpshow . . . . . . . . . . . . . . . . . . . . . 195Das Kommando xpstat . . . . . . . . . . . . . . . . . . . . . . 197Die Kommandos xpstart -sys und xpstop -sys . . . . . . . . . . 199Liste der Meldungen . . . . . . . . . . . . . . . . . . . . . . . 200Zur Bestätigung ausgegebene Meldungen . . . . . . . . . . . 200Warnhinweise . . . . . . . . . . . . . . . . . . . . . . . . . . 201Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . 202Bei der PCL/RR-Übersetzung ausgegebene Meldungen . . . . 211
Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Stichwörter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
OSL-Xprint80A-API-De-02
1 EinleitungDas vorliegende Handbuch beschreibt die API (Application Programming Inter-face, Programmier-Schnittstelle) von Xprint V8.0. Die API ermöglicht dem Pro-grammierer den Zugriff auf die Funktionen von Xprint über eine Programmier-Schnittstelle der Sprache C. Dieses Handbuch enthält Informationen über die C-Funktionen und C-Datenstrukturen, aus denen die API besteht.
1.1 Zielgruppen
Dieses Handbuch wendet sich an den Anwendungsprogrammierer, der bereits fundierte Kenntnisse in der Programmiersprache C besitzt. Außerdem werden Grundkenntnisse über die Verwaltung und die allgemeine Bedienung von Xprint vorausgesetzt.
1.2 Darstellungsmittel
In diesem Handbuch werden folgende Darstellungsmittel verwendet:
Konvention Verwendung
„Anführungszeichen“ für Verweise innerhalb des Handbuchs und auf andere Handbücher
kursive Schrift Im Fließtext: für Kommandos und Optionen ABSATZ In Beispielen: für variable Teile von Kom-mandos
dicktengleiche Schrift
für Konstanten, Dateinamen und Eigennamen, für Bildschirmausgaben und Menütexte, sowie für feste Teile von Beispielen
halbfette Schrift für Hervorhebungen im Fließtext
dicktengleich und halbfett
in Beispiel-Dialogen für Ihre Eingaben
● eine Aktion, die Sie ausführen müssen
dieses Symbol kennzeichnet wichtige Hinweise.i
OSL-Xprint80A-API-De-02 1
Konzept dieses Handbuchs Einleitung
1.3 Konzept dieses Handbuchs
Das vorliegende Handbuch besteht neben der Einleitung aus fünf weiteren Kapiteln und einem Anhang.
Die Einleitung, in der Sie sich gerade befinden, enthält allgemeine Informatio-nen zur API von Xprint und zu diesem Handbuch.
Kapitel 2 „Einführung“ auf Seite 5, beschreibt die wichtigsten Konzepte der Xprint API.
Kapitel 3 „Die Objekte und Datenstrukturen der Xprint API“ auf Seite 11, enthält eine Übersicht über die Datenbasis-Objekte und Datenstrukturen, die zusam-men mit der Xprint-Datenbasis benutzt werden können.
Kapitel 4 „Speicherverwaltung“ auf Seite 23, erklärt die vier API-Funktionen Xp_alloc(), Xp_free(), Xp_clean() und release_cli(), die den Anwendungsprogram-men eine effiziente Speicherverwaltung ermöglichen.
Kapitel 5 „Erstellen einer Anwendung“ auf Seite 27, enthält Hinweise zum Ers-tellen einer Xprint-Anwendung.
Kapitel 6 „Funktionsbeschreibungen“ auf Seite 29“, beschreibt die Funktionen der Xprint API.
Kapitel 7 „Serielle Zugriffskontrolle bei Druckern“ auf Seite 95 beschreibt, wie Sie Konflikte zwischen Xprint und anderen Anwendungen, die denselben Port benutzen, vermeiden können.
Kapitel „Anhang“ auf Seite 101 besteht aus mehreren Hauptabschnitten. In den ersten beiden Abschnitten, „Die Datei client.h“ auf Seite 101 und „Die Datei xprint.h“ auf Seite 112, sind die Definitionen von Datenstrukturen aus den Include-Dateien client.h und xprint.h abgedruckt, die direkt durch Anwendungsprogramme genutzt werden. Darauf folgt der Abschnitt „xp-Kom-mandos und zugehörige Strukturen“, in dem für die verschiedenen möglichen Optionen der einzelnen Xprint-Kommandos angegeben wird, welche Strukturen bzw. Struktur-Elemente bei den ensprechenden API-Funktionen anzugeben sind. Im letzten Abschnitt „Liste der Meldungen“ auf Seite 200 ist eine vollstän-dige Auflistung der Fehler-, Warn- und zur Information ausgegebenen Meldun-gen von Xprint V8.0 enthalten.
2 OSL-Xprint80A-API-De-02
Einleitung Weitere Literatur
1.4 Weitere Literatur
Außer dem vorliegenden Handbuch gehören noch zwei weitere Handbücher zur Dokumentation von Xprint V8.0:
– „Xprint V8.0 - Leitfaden für Benutzer und Verwalter“
Dieses Handbuch beschreibt, wie mit den Xprint-Kommandos gearbeitet werden kann. Es beschreibt die Aufgaben, die mit Hilfe von Xprint erledigt werden können, und welche Methoden dazu angewendet werden müssen.
– „Xprint V8.0 - Referenzhandbuch“
Dieses Handbuch enthält in erster Linie eine alphabetische Beschreibung aller Xprint-Kommandos und der dort möglichen Optionen. Zusätzlich finden Sie dort weitere Informationen wie z.B.:
– Die Xprint-Benutzerklassen
– Regeln zur Benennung von Objekten
– Auswahl von Xprint-Objekten
– Meldungen
– Xprint V8.0. Grafische Bedienoberfläche
Dieses Handbuch enthält eine Einführung in Mercator, die grafische Bedienoberfläche für Xprint.
OSL-Xprint80A-API-De-02 3
2 Einführung Die Xprint API stellt ’C‘-Programmen eine Schnittstelle für den Zugriff auf die Funktionen von Xprint zur Verfügung. Die API besteht aus einer Funktionsbib-liothek sowie aus einer Reihe von Datenstrukturen und Konstanten-Definitio-nen. Zusammen ermöglichen diese Komponenten einem Anwendungspro-gramm den Zugriff auf die Funktionen des Xprint-Systems.
2.1 Datenbasis
Xprint ist ein zentrales Drucksystem mit verteiltem Zugriff. Das Xprint-System besteht aus Objekten, die zu einem Drucker-Spooler-System gehören (z.B. Druckergeräte, Schriften, Formulare und Benutzer-Beschreibungen).
Die Bedienung von Xprint erfolgt vollständig über die Manipulation dieser Objekte; so wird z.B. beim Absetzen einer Druckdatei ein Auftrag zum System hinzugefügt. Die Objekte sind in zwei verschiedenen Bereichen abgelegt: die statischen Objekte (also alle Objekte mit Ausnahme der Druckaufträge) in der zentralen Datenbasis und die Druckaufträge in den Auftrags-Warteschlangen der Server.
Auf die zentrale Datenbasis, die in diesem Handbuch der Einfachheit halber als Datenbasis bezeichnet wird, kann von jedem beliebigen Hostrechner im Sys-tem aus zugegriffen werden (sogenannter verteilter Zugriff); um die Integrität der Datenbasis sicherzustellen, wird sie durch die leistungsfähigen Verwal-tungsfunktionen von Xprint unterstützt.
Die Auftrags-Warteschlangen des Servers, die in diesem Handbuch als die Xprint-Warteschlangen bezeichnet werden, sind auf jedem Hostrechner vorhanden, auf dem ein Xprint-Server in Betrieb ist.
Die Verwaltung der Datenbasis und Xprint-Warteschlangen wird voll durch das Xprint-System unterstützt und sollte das Anwendungsprogramm bzw. dessen Benutzung der API nicht unmittelbar betreffen.
OSL-Xprint80A-API-De-02 5
Funktionen Einführung
2.2 Funktionen
Die Xprint API stellt eine Schnittstelle zu einer Gruppe von ’C-’Funktionen zur Verfügung, mit denen die Objekte in der Xprint-Datenbasis und den Xprint-Warteschlangen manipuliert werden können. Wenn auch der Zugriff auf die Drukker-Warteschlange und die Datenbasis mit unterschiedlichen Funktionen erfolgt, haben die Funktionen in beiden Gruppen eine ähnliche Aufgabe und ein ähnliches Format. Dazu zwei Beispiele:
Auf die einzelnen Funktionen wird im Kapitel „Funktionsbeschreibungen“ auf Seite 29 eingegangen.
2.3 Datenstrukturen
Die Datenstrukturen beschreiben die Objekte in der Datenbasis und müssen konsistent sein, um Probleme bei der Benutzung der API zu vermeiden. Die Xprint API wird durch die ’C-’Strukturen unterstützt. Diese Strukturen sind, zusammen mit den Konstanten-Definitionen, in den beiden Include-Dateien xprint.h und client.h enthalten. Auf die Benutzung von Datenstrukturen wird in Kapitel „Die Objekte und Datenstrukturen der Xprint API“ auf Seite 11, eingegangen. Die Definitionen der gängigsten Datenstrukturen sind in den Abschnitten „„Die Datei client.h“ auf Seite 101“ und „Die Datei xprint.h“ im Anhang aufgeführt.
add_all_cli() fügt der Datenbasis ein Objekt hinzu
add_job_cli() fügt einer Drucker-Warteschlange einen Druckauftrag hinzu
6 OSL-Xprint80A-API-De-02
Einführung Speicherverwaltung
2.4 Speicherverwaltung
Xprint API stellt Funktionen zur Unterstützung des Anwendungsprogramms und zur Verbesserung der Sicherheit der Xprint-Umgebung zur Verfügung. Auf das Thema Speicherverwaltung wird in Kapitel „Speicherverwaltung“ auf Seite 23, eingegangen. Die Architektur von Xprint
2.5 Xprint-Architektur
Dieser Abschnitt enthält für interessierte Benutzer eine Einführung in die Architektur von Xprint; für den normalen Benutzer ist es nicht notwendig, diesen Abschnitt zu lesen. Das Spooler-System Xprint besteht aus folgenden fünf Grundeinheiten:
– Client – Server – Supervisor – Datenbasisverwalter – Xprint-Dämonprozeß.
2.5.1 Der Client
Unter dem Client versteht man das Programm bzw. den Code zum Aufrufen der Xprint-Dienste über die API. Der Client überprüft üblicherweise die syntaktische und semantische Parameterliste von API und steht im Austausch mit anderen Xprint-Komponenten, wobei diese als eigenständige Prozesse laufen. Jede Interaktion mit Xprint schließt die Client-Komponente ein. Die Komman-dozeilen-Interfaces werden in API übersetzt und benutzen die Client-Kompo-nente.
2.5.2 Der Supervisor
Ein Supervisor ist für die Ausführung von Druckaufträgen auf Druckern zuständig, die er steuert. Außerdem übernimmt der Supervisor während der Ausführung des Druckauftrags die folgenden Aufgaben:
– Umwandlung der Daten (falls bei der Funktion add_job_cli() angegeben).
– Übertragung der Daten zum Drucker.
OSL-Xprint80A-API-De-02 7
Xprint-Architektur Einführung
– Steuerung des Druckers und Beseitigung von Druckerfehlern, so daß der Druckvorgang fortgesetzt werden kann.
Zusätzlich zur Auftragsbearbeitung kann der Supervisor jederzeit Anforderun-gen zum Unterbrechen oder Beenden des Druckauftrags, sowie sonstige vom Server benötigte Informationen empfangen. Sobald der Supervisor sich für die Ansteuerung eines Druckers initialisiert, erhält er einen Satz von Recovery-Regeln (Regeln zur Fehlerbeseitigung bei Druckern). Tritt während der Aus-führung eines Druckauftrags ein Fehler auf, so sorgt der Supervisor für die Feh-lerbeseitigung. Außerdem kann der Supervisor im Falle einer Beendigungs-Anforderung für die ordnungsgemäße Beendigung eines Druckauftrags sorgen.
2.5.3 Der Server
Der Server ist ein in Xprint eingebauter Verwaltungsprozeß, der für die Steuerung einer Reihe von Supervisor-Objekten (Druckern) sowie für die Zeit-steuerung der Druckaufträge zuständig ist, die von den Supervisor-Objekten verarbeitet werden sollen. Der Server übernimmt folgende Aufgaben:
● Verwaltung einer Reihe von Supervisor-Objekten sowie der von ihnen bedi-enten Druckaufträge
● Zeitsteuerung von Druckaufträgen zwischen verschiedenen Supervisor-Objekten.
● Verwaltung seiner Auftrags-Warteschlange. Dazu gehören folgende Aufga-ben:
– Hinzufügen von neuen Druckaufträgen auf Anforderung eines Client; – Modifizieren von vorhandenen Druckaufträgen auf Anforderung eines
Clients; – Modifizieren eines Auftrags-Status auf Anforderung eines Client oder
eines Supervisors; – Löschen von Druckaufträgen aus der Warteschlange auf Anforderung
eines Clients oder eines Supervisors.
2.5.4 Der Datenbasisverwalter
Der Xprint-Datenbasisverwalter speichert sämtliche Informationen über die Xprint-Objekte, Informationen über die Druckaufträge ausgenommen (diese werden vom Server verwaltet). Jeder Hostrechner innerhalb des Netzwerks speichert eine Sicherungskopie der Xprint-Datenbasis, wobei einer der Hos-
8 OSL-Xprint80A-API-De-02
Einführung Xprint-Architektur
trechner die Funktion des Master-Datenbasisverwalters übernimmt. Obwohl jeder lokale Hostrechner sowohl Anfragen als auch Aktualisierungsanforderun-gen bearbeiten kann, werden vom lokalen Hostrechner ausschließlich Anfragen bedient. Aktualisierungsanforderungen werden in eine Anforderung an den Master-Datenbasisverwalter umgewandelt, der die neuen Informationen nach der Aktualisierung seiner eigenen Datenbasis an die übrigen Hostrechner im Netzwerk übermittelt. Die Datenbasisverwalter können Aktualisierungsinforma-tionen untereinander austauschen, ohne dabei eingehende Anforderungen zu blockieren.
Wenn auch nur jeweils ein Hostrechner der Master-Datenbasisverwalter sein kann, wird durch den Xprint-Verwalter eine Hierarchie festgelegt, so daß die Fehlerbeseitigung bei einem Ausfall des Master-Datenbasisverwalters an eine zweite oder dritte Ebene delegiert werden kann. Auf diesen Punkt wird im Hand-buch „Xprint V8.0 - Leitfaden für Benutzer und Verwalter“ ausführlich eingegan-gen.
2.5.5 Der Xprint-Dämon
Beim Starten des Xprint-Systems auf den einzelnen Hostrechnern ist der Xprint-Dämon der erste ablaufende Prozeß. Er bestimmt den Datenbasisver-walter und wartet auf Anforderungen von Clients zum Starten von Server- und Supervisorprozessen. Jeder Xprint-Dämonprozeß ist dafür verantwortlich, daß die Prozesse auf seinem Hostrechner verfügbar sind und beim Beenden von Xprint auch ordnungsgemäß beendet werden. Um diese Verwaltungsaufgaben zu erleichtern, führt der Xprint-Dämon eine Prozeßtabelle, in der jeder aktive Prozeß eingetragen ist.
OSL-Xprint80A-API-De-02 9
3 Die Objekte und Datenstrukturen der Xprint API
Dieses Kapitel enthält einen Überblick über die Datenbasis-Objekte und Daten-strukturen, über die die Kommunikation zwischen einem Anwendungspro-gramm und Xprint stattfindet. Außerdem wird die Logik beschrieben, nach der die Datenbasis-Objekte und Datenstrukturen vom Anwendungsprogramm für die jeweilige Aufgabe ausgewählt werden.
Xprint arbeitet objektorientiert. Beim Dialog mit Xprint geht es ausschließlich um das Hinzufügen, Löschen, Modifizieren, Anzeigen und Kopieren von Objekten.
Xprint stellt Datenstrukturen für sämtliche Objekte zur Verfügung, die in der Datenbasis oder den Xprint-Warteschlangen enthalten sein können. Außer Objekt-Datenstrukturen benutzt Xprint Datenstrukturen zur Kommunikation; so antwortet Xprint z.B. auf die Abfrage des Status von Objekten mit einer Daten-struktur, die mit den Objektstatusinformationen belegt ist.
3.1 Objekte
Das Xprint-System kennt 17 Objekte. Zu jedem Objekt gehören eine Struktur sowie ein zweistelliger Bezeichner (ein Bezeichner ist ein in Großbuchstaben angegebener Name, dem in einer define-Anweisung numerische Werte zugew-iesen werden). Die Bezeichner und Strukturen werden in der Datei xprint.h definiert. In dieser Tabelle sind in der Spalte sta-Struktur noch weitere Strukturen enthalten. Ihre Funktion und ihre Beziehung zu Objekten wird im Abschnitt „Ergebnisstrukturen“ auf Seite 21 an einer späteren Stelle dieses Kapitels beschrieben.
Objekt Bezeichner Objekt-Struktur sta-Struktur
Server-Prozeß SV Xp_server sta_sv_ext
Supervisor-Prozeß SP Xp_superv sta_sp_ext
System SY Xp_sys
Drucker-Gerät DV ECM_printer sta_dv_ext
Drucker-Gerätegruppe DG Xp_dgroup sta_dg_ext
Gateway GW Xp_gateway sta_gw_ext
Schriftbeschreibung FT Xp_font
OSL-Xprint80A-API-De-02 11
Objekte Die Objekte und Datenstrukturen der Xprint API
In dieser Tabelle sind sämtliche Objekte aufgeführt, die von Xprint verwaltet werden können. Das System speichert Daten und Informationen in zwei unter-schiedlichen Bereichstypen; zum einen in einer zentralen Datenbasis, die von jedem Hostrechner innerhalb des Xprint-Systems genutzt werden kann (sogen-annter verteilter Zugriff), zum anderen in den lokalen Auftrags-Warteschlangen der Server. In diesem Handbuch werden diese Bereiche als die Datenbasis und die Xprint-Warteschlangen bezeichnet. Der Zugriff auf die Datenbasis und die Xprint-Warteschlangen erfolgt nach einem ähnlichen Prinzip, wenn auch unter-schiedlich benannte Funktionen für den Zugriff auf die Xprint-Warteschlange benutzt werden. So wird der Xprint-Warteschlange ein Druckauftrag z.B. mit der Funktion add_job_cli() hinzugefügt, während der Datenbasis mit der Funktion add_all_cli() ein beliebiges anderes Objekt hinzugefügt wird.
Formularbeschreibung FM Xp_form
Berechtigungsliste PN Xp_perm
Benutzer-Definition US ECM_security sta_us_ext
Filterdeskriptor FL Xp_filter
PCL PL Xp_pcl
Recovery-Regel RR Xp_rec_rule
Host-Deskriptor HO Xp_host sta_ho_ext
Auftragsschablone JT Xp_job_temp
Auftrag JO Xp_job sta_jo_ext
Ladbare Ressource LR Xp_soft_load
Objekt Bezeichner Objekt-Struktur sta-Struktur
12 OSL-Xprint80A-API-De-02
Die Objekte und Datenstrukturen der Xprint API Objektstrukturen
3.2 Objektstrukturen
Für jedes Objekt gibt es eine Datenstruktur, die das Objekt bei einer bestim-mten Verwendung beschreibt. Xprint stellt die Definitionen für diese Datenstruk-turen zur Verfügung, um das Erstellen von Anwendungsprogrammen zu erleichtern und die Zuverlässigkeit des Systems zu erhöhen.
Bei sämtlichen API-Funktionen zur Manipulation von Objekten innerhalb der Datenbasis bzw. der Xprint-Warteschlange muß der Anwendungs-Code zumindest eine Objektdatenstruktur als Parameter übergeben. Die Bereitstel-lung von Speicherplatz für diese Strukturen und die Initialisierung der Struktur erfolgt über die Funktion Xp_alloc(). Weitere Informationen über die Bereitstel-lung von Strukturen finden Sie im Kapitel „Speicherverwaltung“ auf Seite 23.
Zur Benutzung von Objektstrukturen gibt es drei verschiedene Möglichkeiten:
– Definition eines Eintrags des betreffenden Objekttyps, der der Datenbasis bzw. der Auftrags-Warteschlange hinzugefügt werden soll. In diesem Fall wird die Datenstruktur als Hinzufügestruktur bezeichnet.
– Auswahl von ein oder mehreren Einträgen des betreffenden, in der Daten-basis bzw. in der Auftrags-Warteschlange enthaltenen Objekttyps, so daß er geändert, kopiert, gelöscht, modifiziert oder sein Status abgefragt (angezeigt) werden kann. Derartige Datenstrukturen werden als Auswahl-strukturen bezeichnet.
– Bereitstellung der Änderungs-Informationen für modifizierte Einträge. Der-artige Datenstrukturen werden als Modifizierungsstrukturen bezeichnet.
Die Definition der Datenstruktur bleibt immer gleich, unabhängig davon, wie sie benutzt wird; der Inhalt der Datenstruktur dagegen hängt von ihrer Benutzung-sweise ab.
Die Definitionen der Datenstrukturen sind in der Datei xprint.h enthalten und im Anhang abgedruckt. Die Benutzung der Datenstrukturen nach einer der drei Methoden wird in den nachfolgenden Abschnitten beschrieben.
3.2.1 Hinzufügestrukturen
Hinzufügestrukturen werden zur Beschreibung eines bestimmten Objekts benutzt, das der Datenbasis bzw. den Auftrags-Warteschlangen hinzugefügt werden soll. Eine Datenstruktur wird beim Bereitstellen (mit Xp_alloc()) als leer initialisiert. Der Anwendungs-Code muß die Felder so belegen, daß die jeweili-gen Attribute des betreffenden hinzuzufügenden Objekts beschrieben werden.
OSL-Xprint80A-API-De-02 13
Objektstrukturen Die Objekte und Datenstrukturen der Xprint API
Wenn eine Anwendung einem bestimmten Attribut keine Bedeutung zuweisen muß, sollte das zugehörige Feld leer bleiben; Xprint setzt dann die Standardw-erte ein.
Anhand der Definition der Datenstruktur sollten die verfügbaren Felder (Attribute) und die zulässigen Einstellungen ermittelt werden. Diese Definitio-nen sind in der Datei xprint.h enthalten und im Anhang abgedruckt. Außer-dem ist es sinnvoll, das entsprechende Hinzufüge-Kommando für das Objekt im „Xprint V8.0 - Referenzhandbuch“ bzw. für das Auftrags-Objekt im „Xprint V8.0 - Leitfaden für Benutzer und Verwalter“ nachzuschlagen.
In vielen string-Feldern ist eine Liste zulässig; in diesen Listen sollten die Einträge durch mindestens ein Leer- oder Tabulatorzeichen getrennt sein.
3.2.2 Auswahlstrukturen
Auswahlstrukturen werden bei Funktionen zum Ändern, Kopieren, Löschen, Modifizieren oder Anzeigen von Objekten benutzt. Über die Auswahlstruktur werden die Auswahlkriterien festgelegt, über die das Ziel-Objekt oder die in der Datenbasis bzw. Xprint-Warteschlange enthaltenen Objekte angegeben wer-den. Auswahlstrukturen werden durch Xp_alloc() bereitgestellt und als nicht modifiziert initialisiert. Die Felder in der Auswahlstruktur, die nicht modifiziert bleiben, spielen bei der Auswahl von Objekten keine Rolle.
Die Kriterien können spezifisch oder nicht-spezifisch sein; im ersteren Fall wird maximal ein einziges Objekt ausgewählt, während im letzteren Fall eine Gruppe von Objekten ausgewählt werden kann. Für eine spezifische Auswahl werden ein oder mehrere Felder belegt, deren zugehörige Objekte (die alle vom selben Typ sein müssen) einen eindeutigen Wert haben müssen. So muß beispiels-weise der Benutzername eines Benutzerdefinitions-Objekts (Struktur ECM_security) eindeutig sein; wenn somit der vollständige Benutzername in dieses Feld (sc_usr_name) der Auswahlstruktur eingetragen wird, wird maximal ein Objekt ausgewählt.
Zur Auswahl von zwei oder mehr Objekten gibt es zwei Möglichkeiten: Das ausschließliche Belegen von nicht eindeutigen Feldern, oder das Benutzen von Platzhaltern. Diese Möglichkeiten sollen nachfolgend anhand von zwei Beispie-len veranschaulicht werden, in denen es um die Auswahl von Benutzerdefini-tions-Objekten geht.
14 OSL-Xprint80A-API-De-02
Die Objekte und Datenstrukturen der Xprint API Objektstrukturen
Beispiel 1: Wenn das Feld für die maximale Priorität (sc_max_priority) z.B. mit dem Wert 10 belegt wird und alle anderen Felder nicht modifiziert bleiben, so werden alle Benutzerdefinitions-Objekte gewählt, deren maximale Priorität 10 ist.
Beispiel 2: Sämtliche Benutzerdefinitions-Objekte, bei denen der Benut-zername (sc_usr_name) mit „jo“ beginnt, können ausgewählt werden, indem dieses Feld in der Auswahlstruktur mit dem Platzhalter „jo*“ belegt wird.
Als Platzhalter können die Standardzeichen „*“ und „?“ in der üblichen Bedeutung benutzt werden. Angaben mit Platzhalter passen zu jedem Feld in der Struktur, das als string definiert ist.
Wenn zwei oder mehr Felder in der Auswahlstruktur belegt sind, werden die Kri-terien durch logisches UND miteinander verknüpft. Würden die oben beschrie-benen Beispiele zu einem einzigen Auswahl-Kriterium verknüpft, so würden sämtliche Benutzer-Definitionsobjekte ausgewählt, die die maximale Priorität 10 und mit „jo“ beginnende Benutzernamen haben. Dies wird im folgenden Pro-grammbeispiel gezeigt, im dem die Benutzung der Auswahlstruktur mit einer Funktion zur Anzeige von Objektinformationen veranschaulicht wird.
struct disp_mdl *ptrstruct ECM_security *sec;short size;
sec = (struct ECM_security *) Xp_alloc(US,SEL_OR_MOD);sec->sc_usr_name = "jo*";sec->sc_max_priority = 10;size=shw_all_cli(US,sec,NULL,&ptr);
3.2.3 Modifizierungsstrukturen
Mit Modifizierungsstrukturen können die expliziten Felder (Attribute) von aus-gewählten Objekten modifiziert oder geändert werden. Bei API-Funktionen zur Modifizierung von Objekten muß sowohl eine Auswahl- als auch eine Modifi-zierungsstruktur angegeben werden.
Modifizierungsstrukturen werden durch Xp_alloc() bereitgestellt und als nicht modifiziert initialisiert. Bleiben Felder in der Modifizierungsstruktur nicht modifi-ziert, so werden auch die entsprechenden Felder in den ausgewählten Objek-ten nicht modifiziert. Es werden nur Felder modifziert, für die in die Modifi-zierungsstruktur ein neuer Wert eingetragen wird (für alle ausgewählten Objekte).
i
OSL-Xprint80A-API-De-02 15
Objektstrukturen Die Objekte und Datenstrukturen der Xprint API
Die neuen Werte in einer Modifizierungsstruktur sind identisch mit den Werten für die entsprechende Hinzufügestruktur, wobei folgende Werte hinzukommen:
Bei diesen Werten muß das Feld auf seinen Standardwert gesetzt werden (d.h. auf den Wert, der beim Hinzufügen des Objekts zugeordnet würde, wenn das Feld leer gelassen wird!).
3.2.4 Folgestrukturen
Zusätzlich zu den bisher beschriebenen Objekt-Datenstrukturen gibt es eine Substruktur, die für einige Objekt-Datenstrukturen definiert ist und gesondert beschrieben werden muß; hierbei handelt es sich um die sogenannte Folge-struktur.
Bei einigen Elementen von Objekt-Definitionen ist eine Liste erforderlich; so muß z.B. bei einer Druckergruppe (DG) eine Liste von Druckern angegeben werden. Derartige Listen haben eine variable Länge und können daher nicht direkt in die Objektstruktur eingebracht werden. In einem solchen Fall kommt eine Folgestruktur zum Einsatz. Die Objektstruktur enthält einfach eine Folge-struktur.
Folgestrukturen beschreiben keine Xprint-Objekte, sondern sind lediglich Teil der vollständigen Objektstrukturen. Wenn somit Speicher für eine Folgestruktur bereitgestellt werden muß, sollte die Funktion Xp_alloc() nicht benutzt werden; stattdessen sollte eine Standard-Funk-tion zur Bereitstellung von Speicher (z.B. malloc()) verwendet werden.
Zu beachten ist außerdem, daß der Anwendungs-Code dafür zuständig ist, den von der Folgestruktur belegten Speicher freizugeben, bevor die Objekt-Datenstruktur mit Xp_free() freigegeben wird.
Feld-Art Erweiterung
unsigned short RESET_US
short RESET_S
unsigned long RESET_UL
long RESET_L
string RESET_ST
i
16 OSL-Xprint80A-API-De-02
Die Objekte und Datenstrukturen der Xprint API Objektstrukturen
Eine Folgestruktur wird folgendermaßen definiert:
struct sequence{ long seq_card; /* Anzahl der Elemente in der Folge */
char *seq_ptr; /* Ein Array von Elementen der Dimensionseq_card */
};
Der Zeiger seq_ptr kann auf ein Array vom Typ char oder auf ein Array vom Typ string (definiert als Typ char*) zeigen. Die Angabe des jeweils adressierten Array-Typs erfolgt in sämtlichen Include-Dateien ebenso wie in diesem Hand-buch in einem Format, das im folgenden Beispiel gezeigt wird:
struct /* string */ sequence dg_devlst; /* device list */struct /* char */ sequence sv_schedpol /* scheduling policy */
Folgestrukturen sind Teil der Objekt-Datenstrukturdefinition und kommen daher in den drei Varianten der Hinzufüge-, Auswahl- und Modifizierungsstrukturen vor. Wird die Folgestruktur in einer Auswahlstruktur oder Modifizierungsstruktur benutzt, so werden die bereits für diese Strukturen beschriebenen Mögli-chkeiten durch leistungsfähige Eigenschaften ergänzt. So ist z.B. die Auswahl einer Reihe von Druckergruppen (Struktur Xp_dgroup), die zumindest die Drucker dv1 und dv2 enthält, mit den oben beschriebenen Methoden nicht möglich, während dies mit einer Folgestruktur kein Problem ist.
Die Benutzung einer Folgestruktur als Auswahlkriterium erfolgt in folgendem Format: Das erste Element ist eine Aktionsmarke und nicht Element der Folge selbst. Die Aktionsmarke kann zwei Werte annehmen, die entweder vom Typ char (z.B. „+“) für eine Folge von Zeichenelementen oder vom Typ string (z.B. „+“) für eine Folge von Zeichenketten-Elementen sind. Das erste Element hat folgende Auswirkung, wenn es zur Auswahl von Objekten benutzt wird (das zweite und die nachfolgenden Elemente bilden die Vergleichsfolge):
+ Hiermit wird angegeben, daß die Vergleichsfolge als Teilmenge der zum Vergleich herangezogenen Folge betrachtet wird.
= Hiermit wird angegeben, daß die Vergleichsfolge mit den auszuwäh-lenden Ziel-Objekten exakt übereinstimmen muß.
Bei Folgen vom Typ string können die Elemente beliebig angeordnet sein. Bei Folgen vom Typ char dagegen wird die Reihenfolge berücksichtigt. Ein Element in der Vergleichsfolge mit dem numerischen Wert Null als Kardinalzahl und NULL als Zeiger paßt zu jedem Element in der Zielfolge.
OSL-Xprint80A-API-De-02 17
Objektstrukturen Die Objekte und Datenstrukturen der Xprint API
Beispiel:
struct Xp_dgroup *dgrstatic char * seq[3] = {"+","dv1","dv2"};dgr = (struct Xp_dgroup *) Xp_alloc(DG,SEL_OR_MOD);dgr->dg_devlst.seq_card = 3;dgr->dg_devlst.seq_ptr = (char*)seq;
Mit dieser Auswahlstruktur werden alle Druckergruppen-Objekte ausgewählt, in deren Geräteliste mindestens dv1 und dv2 enthalten sind. Im folgenden Beispiel dagegen werden die Druckergruppen gewählt, in deren Liste auss-chließlich dv1 und dv2 enthalten sind.
struct Xp_dgroup *dgrstatic char * seq[3] = {"=","dv1","dv2"};dgr = (struct Xp_dgroup *) Xp_alloc(DG,SEL_OR_MOD);dgr->dg_devlst.seq_card = 3;dgr->dg_devlst.seq_ptr = (char*)seq;
Innerhalb einer Modifizierungsstruktur wird eine Folgestruktur in folgendem For-mat angegeben: Das erste Element ist eine Aktionsmarke, die nicht Teil der Folge selbst ist. Dieses Element kann drei verschiedene Werte annehmen, die entweder vom Typ char (z.B.„+“) für eine Folge von Zeichenelementen oder vom Typ string (z.B. „+“) für eine Folge von Zeichenketten-Elementen sind. Das Ele-ment hat auf die betreffende Folge von ausgewählten Objekten die nachfolgend beschriebenen Auswirkungen (das zweite bildet zusammen mit den nachfol-genden Elementen die Modifizierungs-Sequenz):
+ Hiermit wird angegeben, daß die Modifizierungs-Sequenz in allen aus-gewählten Objekten an die vorhandene Folge angehängt werden soll.
- Hiermit wird angegeben, daß die in der Modifizierungs-Sequenz angegebenen Elemente innerhalb der ausgewählten Objekte aus der Folge gelöscht werden sollen.
Wenn einige der in der Modifizierungs-Sequenz angegebenen Elemente nicht in den ausgewählten Objekten enthalten sind, werden diese Elemente einfach ignoriert.
= Hiermit wird angegeben, daß die Modifizierungs-Sequenz die vorhandene Folge innerhalb der ausgewählten Objekte ersetzen soll.
i
18 OSL-Xprint80A-API-De-02
Die Objekte und Datenstrukturen der Xprint API Objektstrukturen
Beispiel:
struct Xp_dgroup *dgr;static char * seq[3] = {"+","dv1","dv2"};dgr = (struct Xp_dgroup *) Xp_alloc(DG,SEL_OR_MOD);dgr->dg_devlst.seq_card = 3;dgr->dg_devlst.seq_ptr = (char*)seq;
Die Modifizierungsstruktur in diesem Beispiel hängt die Geräte dv1 und dv2 an die Geräteliste der ausgewählten Druckergruppen an.
3.2.5 Skalierte Wertstrukturen
Einige Parameter der Objektdefinitionen erfordern skalierte Werte. So werden beispielsweise die Seitenhöhe und die Zeilenlänge eines Objekts vom Typ For-mular mit skalierten Werten angegeben.
Die Definition einer skalierten Wertestruktur sieht folgendermaßen aus:
struct_scaled_value{ u_short value;u_short unit;
};
Das Feld unit enthält die Einheit, in welcher der numerische Wert des Feldes value angegegeben ist. Die Einheit kann mit XP_COLUMN (Spalten), XP_LINE (Zeilen), XP_HUNDREDTH_OF_CENTIMETER (hundertstel Zentimeter) oder XP_HUNDREDTH_OF_INCH (hundertstel Zoll) angegeben sein.
Das Feld value enthält den numerischen Wert an Einheiten aus unit. Um einen Dezimalwert in anderen Einheiten anzugeben, z.B. Zoll, Zentimeter oder Millim-eter, muß der Wert je nach Einheit multipliziert werden: bei Zentimeter mit 100 und bei Millimeter mit 10, um den jeweiligen Wert in hundertstel Zentimeter (XP_HUNDREDTH_OF_CENTIMETER) zu erhalten; bei Zoll mit 100, um den Wert in hundertstel Zoll (XP_HUNDREDTH_OF_INCH) zu erhalten. So muß zum Beispiel der Wert 2,5 cm als 250 hundertstel Zentimeter angegeben werden (d.h. mit den Werten 250 für value und XP_HUNDREDTH_OF_CENTIMETER für unit).
Liegt der numerische Wert als Spaltenanzahl (XP_COLUMN) oder als Zeilenan-zahl (XP_LINE) vor, ist davon auszugehen, daß der in value abgelegte Wert ganzzahlig ist und dem gewünschten Wert entspricht. In diesem Fall kann der Wert für value direkt angegeben werden.
OSL-Xprint80A-API-De-02 19
Objektstrukturen Die Objekte und Datenstrukturen der Xprint API
Beispiel:
struct Xp_form *frm;
frm = (Xp_from *) Xp_alloc(FM,ADDITION)frm->fm_paper_size[0].value = 1100;frm->fm_paper_size[0].unit = XP_HUNDREDTH_OF_INCH;frm->fm_paper_size[1].value = 850;frm->fm_paper_size[1].unit = XP_HUNDREDTH_OF_INCH;
Mit diesen Strukturen werden der Seitenhöhe 11 Zoll zugewiesen und der Seitenbreite 8,5 Zoll (Papiergröße Letter).
3.2.6 Parameterstrukturen
Sämtliche Funktionen der Xprint API, die auf die Datenbasis oder die Xprint-Warteschlangen angewandt werden, enthalten in ihrer beim Aufruf überge-benen Parameterliste einen Parameter mit dem Label params. Dieser Parameter ist ein Zeiger auf eine Struktur, die der Funktion zusätzliche oder ergänzende Informationen zur Verfügung stellt. Durch eine derartig aufgebaute Parame-terübergabe an API-Funktionen wird vermieden, daß im Funktionsaufruf selbst zu viele Parameter enthalten sind.
Der Parameter params wird derzeit noch nicht in allen Funktionen der Xprint API benutzt. In diesen Fällen wird der Parameter zur späteren Benutzung reserviert, und es sollte ein NULL-Zeiger übergeben werden.
Jede Funktion hat ihre eigene Parameterstruktur. Der vollständige Strukturen-Satz wird in xprint.h und client.h definiert. Zusätzlich sind die Definitionen und Strukturbezeichner bei den einzelnen Funktionsbeschreibungen im Kapitel „Funktionsbeschreibungen“ auf Seite 29 abgedruckt. Zur Bereitstellung von Speicher für eine Parameterstruktur sollte die Funktion Xp_alloc() benutzt wer-den, bei der der Bezeichner der Parameterstruktur als der Parameter zur Ang-abe des Typs übergeben wird. Die bereitgestellte Struktur wird durchgehend mit leeren Feldern initialisiert.
20 OSL-Xprint80A-API-De-02
Die Objekte und Datenstrukturen der Xprint API Objektstrukturen
3.2.7 Ergebnisstrukturen
Die Funktionen, durch die die Datenbasis manipuliert wird, geben das Ergebnis der von ihnen ausgeführten Aktionen alle nach derselben Methode aus. Der Rückgabewert ist in jedem Fall eine positive Ganzzahl (vom Typ short), die die Größe eines Ergebnis-Arrays angibt. Das Ergebnis-Array selbst kann zwei ver-schiedene, funktionsabhängige Strukturen haben und wird für jede Funktion im Kapitel „Funktionsbeschreibungen“ auf Seite 29 angegeben. Die Definition der Strukturen ist in client.h enthalten und wird nachfolgend abgedruckt.
struct struct_ret_code{ short ret_code;short reserved;string msg;
}
Dabei ist msg ein Zeiger auf eine Meldung und ret_code der zugehörige Code. Die tatsächlichen Werte hängen von der jeweils aufgerufenen Funktion ab.
Das Feld msg ist ein Zeiger auf eine Meldung. Die Meldung beschreibt in der für Xprint eingestellten Landessprache das Ergebnis derjenigen Funktion, die auf das ausgewählte Objekt angewandt wird. Über diese Meldungen kann das Anwendungsprogramm die Aktion des Funktionsaufrufs beschreiben. Das Feld ret_code ist ein Meldungscode, der zur Meldung in msg gehört. Über diesen Code kann die betreffende Meldung angegeben werden; somit kann er das Ergebnis der Funktion sein (siehe Abschnitt „Liste der Meldungen“ auf Seite 200 im Anhang dieses Handbuchs). Dieser Code ist der jeweiligen Mel-dung eindeutig zugeordnet und ist in allen möglichen Landessprachen iden-tisch.
struct disp_mdl{ struct struct_ret_code diag;
char *disp_obj; /* pointer to a structure containing theresult of a show or get state request */
}
Dabei ist disp_obj ein Zeiger auf eine Struktur mit Anzeige- oder Status-Informa-tionen für einen ausgewählten Eintrag. Jedes Element des Arrays von disp_mdl-Strukturen ist einem einzigen ausgewählten Objekt zugeordnet. Der Zeiger disp_obj ist nur dann gültig, wenn die Funktion bei der Ausführung ihrer Opera-tion für diesen Eintrag keinen Fehler festgestellt hat. Die tatsächliche Struktur, auf die disp_obj zeigt, hängt vom Objekttyp ab und ist unabhängig von der Funk-tion. Die Struktur, die jedem Objekttyp zugeordnet werden kann, ist in der Tabelle auf Seite 11 angegeben. Die bei Status-Funktionen zurückgegebene Struktur ist in der Spalte „sta structure“ aufgeführt. Die bei Anzeige-Funktionen
OSL-Xprint80A-API-De-02 21
Objektstrukturen Die Objekte und Datenstrukturen der Xprint API
zurückgegebene Struktur ist die Objekt-Datenstruktur selbst. Die Definition für die sta-Strukturen ist in client.h, jene für die anderen Strukturen in xprint.h enthalten und im Anhang abgedruckt.
Ob der Funktionsaufruf für jeden Auftrag erfolgeich ausgeführt werden konnte, wird über den ret_code angezeigt. Bei Erfolg wird der Wert OKAY zurückgege-ben. Im Falle eines Fehlers wird statt OKAY der jeweilige Fehler-Code ausgege-ben.
Wenn ein Fehler festgestellt wird, enthält msg einen Zeiger auf die Fehlermel-dung, die zum Meldungs-Code in der jeweiligen, für Xprint ausgewählten Landessprache gehört. Die Fehlermeldungen sind im Abschnitt „Liste der Mel-dungen“ auf Seite 200 im Anhang aufgelistet.
Passen die benutzten Auswahlkriterien zu mehr als einem Objekt, so enthält das Array der struct_ret_code- bzw. disp_mdl-Struktur mehrere Elemente (ein Element pro ausgewähltes Objekt). Die Verarbeitung derartiger Strukturen bereitet im allgemeinen größeren Aufwand als die Verarbeitung nur eines aus-gewählten Elements.
Passen die Selektionskriterien zu keinem Objekt, enthält das Ergebnis-Array einen Eintrag mit der Fehlermeldung, daß kein Objekt ausgewählt wurde.
22 OSL-Xprint80A-API-De-02
4 Speicherverwaltung Die Xprint V8.0 API enthält vier Funktionen, mit denen Anwendungsprogramme den Speicher auf einfache und sichere Weise verwalten können. Diese Funk-tionen sind in der folgenden Tabelle aufgeführt:
Bei der Speicher-Bereitstellung im Zusammmenhang mit Funktionen der Xprint V8.0 API wird zwischen der expliziten und der impliziten Speicherbelegung unterschieden:
Bei der expliziten Speicherbelegung handelt es sich um eine Speicher-Bere-itstellung für die Belegung mit Objektstrukturen oder Parameterstrukturen (siehe „Abschnitt „Objektstrukturen“ auf Seite 13“ und Abschnitt „Parameter-strukturen“ auf Seite 20).
Zu einer impliziten Speicherbelegung kommt es, wenn beim Aufruf einer Xprint V8.0-Funktion eine Struktur zur Rückgabe der Ergebnisse des Funktionsaufrufs generiert wird (siehe „Abschnitt „Ergebnisstrukturen“ auf Seite 21“).
Funktion Kurze Beschreibung
Xp_alloc() Hiermit wird Speicher bereitgestellt und für die Belegung mit Objektstrukturen oder Parameterstrukturen initialisiert
Xp_free() Hiermit wird Speicher freigegeben, der mit Xp_alloc() bereitgestellt wurde
Xp_clean() Hiermit wird eine Struktur neu initialisiert, die bereits mit Xp_alloc() bereitgestellt wurde.
release_cli() Diese Funktion muß zur Freigabe von Speicher auf-gerufen werden, der mit Xprint V8.0-Funktionen für die Ergebnisstruktur bereitgestellt wurde.
OSL-Xprint80A-API-De-02 23
Explizite Bereitstellung von Speicher Speicherverwaltung
4.1 Explizite Bereitstellung von Speicher
Explizite Strukturen werden in jedem Fall durch den Aufruf der Funktion Xp_alloc() bereitgestellt. Der Funktion werden zwei Parameter übergeben. Einer der Parameter definiert den Typ der Struktur, der andere ihre vorgesehene Benutzungsweise (Hinzufügen, Modifzieren oder Auswählen). Dadurch kann Xp_alloc() eine Struktur mit der korrekten Größe bereitstellen und die Struktur ihrer Funktion entsprechend initialisieren.
Explizit bereitgestellter Speicher muß durch Aufruf der Funktion Xp_free() freigegeben werden. Durch diese Funktion wird exakt der Speicher freigege-ben, der durch die zugehörige Xp_alloc()-Funktion bereitgestellt wurde. Alle Substrukturen, die vom Anwendungs-Code möglicherweise mit einer Objek-struktur verknüpft worden sind, werden nicht mit Xp_free() freigegeben (dies gilt insbesondere für Folgestrukturen). Für die Freigabe (oder sonstige Verwaltung) des Substrukturspeichers ist die Anwendung zuständig.
Xprint V8.0 enthält eine weitere Funktion zur Benutzung mit explizit bereit-gestelltem Speicher, die Funktion Xp_clean(). Diese Funktion initialisiert eine Struktur, die neu benutzt werden kann. Die neue Benutzungsweise kann mit der ursprünglich bei Xp_alloc() angegebenen Benutzungsweise identisch sein oder sich davon unterscheiden; der Typ der Struktur dagegen darf sich nicht ändern. Alle Zeiger auf Substrukturen, die die Anwendung gegebenenfalls mit der ursprünglichen Benutzungsweise der Struktur verknüpft hat, werden beim Aufruf von Xp_clean() gelöscht. Die Anwendung sollte entweder derartige Sub-strukturen freigeben oder den von ihnen belegten Speicher auf andere Weise verwalten.
Parameterstrukturen werden in jedem Fall durchgehend mit binär „Null“ initialisiert. i
24 OSL-Xprint80A-API-De-02
Speicherverwaltung Implizite Bereitstellung von Speicher
4.2 Implizite Bereitstellung von Speicher
Die implizite Speicher-Bereitstellung erfolgt innerhalb der Funktionen der Xprint V8.0 API. Implizit bereitgestellter Speicher wird für Strukturen benutzt, über die das Ergebnis der Funktion zurückgegeben wird. Die Adresse dieser Strukturen wird an die Anwendung in der Variablen rc_tab übergeben. Implizit bereitgestell-ter Speicher muß vom Anwendungs-Code zum frühestmöglichen Zeitpunkt, zu dem es ohne Risiko möglich ist, durch den Aufruf der Funktion release_cli() freigegeben werden. Der Inhalt von implizit bereitgestelltem Speicher sollte als schreibgeschützt betrachtet und vom Anwendungs-Code nicht modifiziert wer-den.
release_cli() gibt exakt den Speicher frei, der innerhalb der betreffenden Funktion bereitgestellt wurde. Hierzu gehören sämtliche Elemente des Arrays rc_tab sowie sämtliche Substrukturen, die durch dieses Array adressiert werden.
i
OSL-Xprint80A-API-De-02 25
5 Erstellen einer Anwendung Das Erstellen einer Xprint-Anwendung besteht aus zwei Schritten: Übersetzen und Binden.
Benötigte Include-Dateien
Die Module eines Anwendungsprogramms werden wie üblich mit dem/den gee-igneten unterstützten Compiler(n) übersetzt. Die Module einer Anwendung, durch die API-Funktionen aufgerufen werden oder auf Xprint-Datenstrukturen Bezug genommen wird, müssen die zwei Xprint-Include-Dateien enthalten. Dazu werden die beiden folgenden Zeilen am Anfang des Moduls eingefügt:
#include <xprint.h>#include <client.h>
Bei der Ausführung des Compilers muß der Suchpfad für die Include-Dateien so eingestellt werden, daß er das Unterverzeichnis innerhalb des Xprint-Verzeichnisses mit den beiden oben erwähnten Include-Dateien enthält. Diese Include-Dateien befinden sich immer in folgendem Verzeichnis (auch wenn Xprint in ein anderes Verzeichnis als /var/spool/Xprint installiert wurde):
/var/spool/Xprint/config/include
Benötigte Bibliotheken
Die übersetzten Module des Anwendungsprogramms müssen mit den Xprint-Bibliotheken gebunden werden. Um eine durchgängige Binärkompatibilität zwischen den Xprint-Versionen zu gewährleisten, wurden die Bibliotheken in der Version V8.0 umbenannt:
Diese Bibliotheken befindet sich in jedem Fall in folgendem Verzeichnis:
/var/spool/Xprint/config/lib
Um das Binden zu vereinfachen, sollte der Bibliotheken-Suchpfad vor dem Binden folgendermaßen eingestellt sein:
Bibliothek Beschreibung
libXpCLI enthält alle Schnittstellen, die in diesem Handbuch beschrie-ben werden
libXpNET enthält alle Netzwerk-Dienste, die von Xprint verwendet wer-den
OSL-Xprint80A-API-De-02 27
Erstellen einer Anwendung
export LD_RUN_PATH=/var/spool/Xprint/config/lib:$LD_RUN_PATH
Übersetzen einer Anwendung
Die eigentliche Übersetzung einer Xprint-Anwendung kann schließlich folgen-dermaßen erfolgen:
cc -I/var/spool/Xprint/config/include \ -L/var/spool/Xprint/config/lib \ -lXpCLI -lXpNET
Die Funktion xpstart_cli muß unter root mit den Zugriffsrechten 500 (-r-x------) ablaufen.
Besonderheiten bei Windows
Bei der Installation bietet eine „kundenspezifische“ Installation die Möglichkeit, die “Developpement Kit”-Komponente auszuwählen. Dieser Teil der Software stellt die Include-Dateien und die Bibliothek (libXpCLI.lib) zur Verfügung, die benötigt werden, um Anwendungen mit Hilfe des Xprint-API zu erstellen.
In der Visual Studio-Umgebung müssen die Projekteinstellungen folgende Pfade hinzufügen: den Pfad %Xprint%\include für die Header-Suche bei den Compile-Eigenschaften und den Pfad %Xprint%\lib und die Bibliothek libXp-CLI.lib bei den Link-Eigenschaften.
28 OSL-Xprint80A-API-De-02
6 Funktionsbeschreibungen Dieses Kapitel beschreibt die Funktionen der Xprint-Programmschnittstelle. Die in den Funktionsbeschreibungen erwähnten Datenstrukturen sind im Anhang beschrieben. Da die param-Datenstruktur für jede Funktion anders definiert wird, sind diese Definitionen zusammen mit den einzelnen Funktionsbesch-reibungen in diesem Kapitel abgedruckt. Die tatsächlichen Definitionen für die param-Datenstruktur sind in der Include-Datei client.h enthalten.
Die Funktionen in diesem Kapitel sind in alphabetischer Reihenfolge angeord-net.
Zu vielen der Funktionen gibt es äquivalente Kommandos für den Xprint-Ver-walter. Die Beispiele, die bei den Verwaltungskommandos angegeben sind, sollen das Verständnis der API-Funktionen erheblich erleichtern. Die meisten der angegebenen Beispiele sind nach der Installation von Xprint im Verzeichnis /var/spool/Xprint/config/goodies/samples verfügbar und können direkt übersetzt werden. In diesem Verzeichnis stellt die Datei readme die Verbindung zwischen den Kommandooptionen und den korrespondierenden Feldern in den Datenstrukturen dar. Zusätzlich wird für einige Felder eine Liste von möglichen Werten angezeigt.
Die Xprint-Meldungen, die in den Abschnitten mit dem Titel „Rückkehrw-erte“ dieses Kapitels aufgeführt sind, werden ohne Meldungsbezeichner, nur mit dem Meldungstext angegeben (Beispiel: Auftrag <%u> (<%.128s>)).
Die Xprint-Meldungen mit den zugehörigen Bezeichnern finden Sie im Abschnitt „Liste der Meldungen“ auf Seite 200 im Anhang.
6.1 add_all_cli – Hinzufügen eines Objekts
Durch diese Funktion wird ein Objekt zur Xprint-Datenbasis hinzugefügt. Objekte vom Typ Auftrag und vom Typ System können mit dieser Funktion nicht hinzugefügt werden. Nach der erfolgreichen Beendigung dieser Funktion steht das Objekt für den sofortigen Gebrauch innerhalb der Xprint-Konfiguration zur Verfügung.
Bei einem Objekt vom Typ PL (Printer Capability List für Druckerfähigkeits-Liste) oder RR (Recovery Regeln) wird die Datei mit den Anweisungen innerhalb der Funktion add_all_cli() übersetzt.
i
OSL-Xprint80A-API-De-02 29
add_all_cli Funktionsbeschreibungen
Mit Ausnahme des Benutzers kann jeweils nur ein Objekt gleichzeitig hinzuge-fügt werden; lediglich vom Objekt Benutzer können mehrere gleichzeitig defini-ert werden.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 add_all_cli (typ,obj,params,rc_tab)unsigned short typ;union Xp_object *obj;struct add_all_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
typ ist der Bezeichner für den Objekttyp, der hinzugefügt werden soll; dies kann sein: DV (Drucker), DG (Druckergruppe), FL (Filter), FT (Schrift), FM (Form), GW (Gateway), HO (Host), JT (Auftragsschablone), LR (Ladbare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regeln), SP (Supervisor), SV (Server) oder US (Benutzer). Die vollständige Liste der Bezeichner ist in der Tabelle auf Seite 11 enthalten.
obj ist ein Zeiger auf die Struktur, die durch Xp_alloc() als Hinzufügestruktur bereitgestellt wird, und enthält die Beschreibung für das hinzuzufügende Objekt. Die Struktur hängt vom Objekttyp ab. Die passende Struktur für jeden Objekttyp entnehmen Sie bitte dem Abschnitt „xp-Kommandos und zugehörige Strukturen“ auf Seite 145.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von add_all_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element außer beim Hinzufügen eines Benutzers.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus (1 für alle Obekttypen außer Benutzer).
i
30 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen add_all_cli
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende Objekt in der obj-Struktur ausgeführt wurde. Nach dem erfolgreichen Hinzufügen eines Objekts wird ret_code auf den Meldungsbezeichner CL_OBADD und das Feld msg auf die zuge-hörige Meldung (<%.128s> eingetragen <%.128s>) gesetzt. Dabei sind beide %.128s-Variablen bereits durch die Objektnamen ersetzt. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die betreffende Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird ein Drucker vom Typ HP-Laserjet der Spooler-Daten-basis hinzugefügt. Den Namen des Druckers und die physikalische Adresse können Sie optional angeben, für die anderen Werte werden Standardwerte verwendet.
#include "stdio.h"#include "sys/types.h"#include <xprint.h>#include <client.h>/** Add an HP LaserJet device to the spooler database* xpadd -dev <device name> -da <device address> -pc HP-LASERJET * -ca <comment> * The name of the device and the physical device address are* optional. Default values are used for the other options */main(argc,argv) int argc; char **argv;{ union Xp_object *obj; /* object structure used asadd structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num,i;
/* Collect arguments : device name - device address */ /* ------------------------------------------------ */ if (argc < 3) { printf("Usage %s <device name> <device address>
OSL-Xprint80A-API-De-02 31
add_job_cli Funktionsbeschreibungen
\n",argv[0]); exit (1); } /* Allocate an add structure and fill it */ /*--------------------------------------------*/ obj = (union Xp_object *) Xp_alloc(DV,ADDITION); obj->dv.dv_name = argv[1]; obj->dv.dv_pcl = "HP-LASERJET"; obj->dv.dv_add = argv[2]; obj->dv.dv_comment[CM_ADMIN] = "hp printer on 1st floor /double side";
/* Call Xprint for adding the device */ /*-----------------------------------*/ rc_num = add_all_cli(DV,obj,NULL,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) {
printf("%s",rc_tab[i].msg);printf("corresponding return code: %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /*----------------------*/ release_cli((char *) rc_tab); Xp_free(obj);}
6.2 add_job_cli – Hinzufügen eines Auftrags
Durch diese Funktion wird ein Auftrag an die Xprint-Warteschlange übergeben. Man spricht hier vom ’Hinzufügen’ des Auftrags-Objekts zum System, wo es von Xprint zum Drucken abgesetzt wird. Ein Auftrag kann auch aus zwei oder mehr Dateien bestehen. Der Auftragsbezeichner, der durch diese Funktion zurückgegeben wird, kann beim Abfragen oder Ändern des Auftragsverlaufs benutzt werden.
Syntax
#include <xprint.h>#include <client.h>
32 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen add_job_cli
xp_int32 add_job_cli (job,params,rc_tab)struct Xp_job *job;struct add_job_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
job ist ein Zeiger auf eine Xp_job-Struktur, die durch Xp_alloc() als Hin-zufügestruktur bereitgestellt wird und die Beschreibung des betreffenden hinzuzufügenden Auftrags enthält.
params ist entweder ein NULL-Zeiger (für "keine Auftragsschablone") oder ein Zeiger auf eine add_job_params-Struktur mit den Daten der Auft-ragsschablone. Diese Struktur muß mit der Funktion Xp_alloc() bereitgestellt werden.
rc_tab wird von add_job_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element; d.h., für jeden Aufruf dieser Funktion kann nur ein einziger Auftrag hinzugefügt werden.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die add_job_params-Struktur ist folgendermaßen definiert:
Identifier: ADD_JOB_PARAMS
struct add_job_params { string version; /* filled by Xp_alloc() */ string job_template;};
Das Feld job_template enthält den Namen einer Auftragsschablone, die für den hinzugefügten Auftrag verwendet werden soll. Von API aus sind nur die System-schablonen verwendbar. Die Werte, die in der job-Datenstruktur enthalten sind, haben eine höhere Priorität als die Schablone; somit werden die Werte in der Schablone nur dann benutzt, wenn die entsprechenden Felder in der job-Struk-tur leer gelassen wurden. Weitere Informationen über Auftragsschablonen finden Sie im Handbuch „Xprint V5.2 – Leitfaden für Benutzer und Verwalter“.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente in *rc_tab aus. Da immer nur jeweils ein Auftrag hinzugefügt werden kann, ist dieser Wert in jedem Fall 1.
i
OSL-Xprint80A-API-De-02 33
add_job_cli Funktionsbeschreibungen
Die rc_tab-Struktur zeigt den Erfolg bzw. das Fehlschlagen der Funktion an. Für einen erfolgreich hinzugefügten Auftrag wird das Feld ret_code auf den Mel-dungsbezeichner CL_JOADD und das Feld msg auf die zugehörige Meldung Auftrag <%u> (<%.128s>) eingetragen gesetzt (dabei sind %u und %.128s bereits durch die Auftragsbezeichner ersetzt worden, die durch die Funktion add_job_cli() bereitgestellt worden sind). Bei jedem anderen Wert in ret_code handelt es sich um einen Fehlermeldungsbezeichner; msg wird auf die entsprechende Fehlermeldung gesetzt.
In der Struktur Xp_job, die der aufrufende Code zur Verfügung gestellt hat, ist die Substruktur jo_id nach der erfolgreichen Ausführung von add_job ebenfalls auf den Auftragsbezeichner gesetzt. Nach dem Fehlschlagen von add_job sind die Werte dieser Substruktur nicht definiert.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird ein Druckauftrag an einem angegebenen Drucker ausgedruckt, wobei die Standardwerte verwendet werden. Der Auftrag kann auch aus einer Liste von Dokumenten bestehen.
#include "sys/types.h"#include "stdio.h"#include <xprint.h>#include <client.h>
/*
* Submit a job to a specific device. * xpadd -de <device> [-dr <list of documents>] * The job may consist of a list of documents. Stdin is * considered when no document name is given. * The job is printed with all defaulted options. */
main (argc, argv) int argc; char **argv;{ char *stdinput = ""; /* stdin when no document*/ struct Xp_job *job; /* add structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num,i;
34 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen add_job_cli
/* Collect arguments : use stdin when no document */ /*------------------------------------------------*/ if (argc < 2) { printf("Usage %s <destination> [<list of documents>]\n",argv[0]); exit (1); }
/* Allocate an add structure and fill it */ /*--------------------------------------------*/ job = (struct Xp_job *) Xp_alloc(JO,ADDITION);
/* destination */ /*-------------*/ job->jo_schedul.sch_destin = argv[1];
/* list of documents */ /*-------------------*/ if (argc > 2) { job->jo_document.doc_doc_ref.seq_card = argc - 2; job->jo_document.doc_doc_ref.seq_ptr = (char*)&argv[2]; } else {
job->jo_document.doc_doc_ref.seq_card = 1;job->jo_document.doc_doc_ref.seq_ptr = (char *)(&stdinput);
}
/* Call Xprint for adding the job */ /*--------------------------------*/ rc_num = add_job_cli(job,NULL,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */ release_cli((char *) rc_tab); Xp_free(job);}
OSL-Xprint80A-API-De-02 35
chg_dev_cli Funktionsbeschreibungen
6.3 chg_dev_cli – Ändern des Druckerstatus
Diese Funktion weist Xprint an, den Status von einem oder mehreren aus-gewählten Druckern zu ändern.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 chg_dev_cli (dev,params,rc_tab)struct ECM_printer *dev;struct chg_dev_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
dev ist ein Zeiger auf eine ECM_printer-Struktur, die durch Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Geräte ausgewählt, deren Status geändert werden soll. Nähere Informationen über das Arbeiten mit Auswahlstrukturen finden Sie im Abschnitt „Objektstruk-turen“ auf Seite 13.
params ist ein Zeiger auf eine chg_dev_params-Struktur. Diese Struktur muß von Xp_alloc() bereitgestellt und so konfiguriert werden, daß sie die gewün-schte Statusänderung angibt, die dann auf alle ausgewählten Drucker ange-wandt wird. Nachfolgend finden Sie Informationen über die Benutzung die-ser Struktur.
rc_tab wird von chg_dev_cli() zur Rückgabe der Adresse der struct_ret_code-Struktur benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das in der dev-Struktur definiert ist.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Definition der Struktur chg_dev_params ist nachfolgend abgedruckt.
Identifier: CHG_DEV_PARAMS
struct chg_dev_params {string version; /* filled by Xp_alloc() */string cur_form; /* xpchange -dev -mf form_name */string justification; /* xpchange -dev -ju */u_short new_priority; /* xpchange -dev -pr */v_short change_type; /* (see manual) */v_short new_state; /* xpchange -dev -st */
i
36 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_dev_cli
v_short new_spoolin; /* xpchange -dev -si */v_short new_spoolout; /* xpchange -dev -so */v_short when_tbd; /* xpchange -dev -wn */v_short form_manip; /* mount or unmount (see manual) */string dv_redirect; /* xpchange -dev -rd #2 */};
Diese Struktur wird folgendermaßen benutzt:
Feld Gesetzt auf Kommentare
cur_form Gibt den Namen eines einzulegen-den Formulars an (MANUAL-Modus)
justification String Kommentar zur Statusänderung
new_priority Neuer Prioritäts-wert
change_type Steuert die Gesamtaktion der ange-forderten Änderung
CH_STATE Statusänderung anfordern. Die fol-genden Felder werden relevant; new state; new_spoolout; justifica-tion undwhen_tbd
CH_FORM Fordert eine Änderung des Einlege-Modus an. Die folgenden Felder wer-den relevant: form_manip und cur_form
CH_STOP_AFP Drucker wird nach dem Ausdrucken der ersten Seite angehalten
CH_UNTIL_END Druckvorgang fortsetzen bis
Auftragsende
CH_NEXT_PAGE Nächste Seite drucken
CH_AGAIN Aktuelle Seite erneut drucken
CH_PRIORITY Prioritätsänderung anfordern. Das Feld new_priority enthält den neuen Wert
OSL-Xprint80A-API-De-02 37
chg_dev_cli Funktionsbeschreibungen
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für den betreffenden, in der dev-Struktur enthaltenen Drucker ausgeführt wurde. Nach der erfolgreichen Änderung eines Drukkerobjekts ist ret_code auf den Meldungsbezeichner CL_OBCHG gesetzt und das Feld msg auf die korrespondierende Nachricht <%.128s> geändert ges-etzt (wobei <%.128s> bereits durch den Druckernamen ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
new_state CH_ACTIVECH_NOT_ACTIVE
Drucker in Status ACTIVE setzen
Drucker in Status NOT ACTIVE setzen
new_spoolin CH_ON oder CH_OFF
Auftragsannahme auf ON oder OFF
new_spoolout CH_ON oder CH_OFF
Auftragsbearbeitung auf ON oder OFF
when_tbd Definiert den Punkt, zu dem die Sta-tusänderung wirksam wird. Nur rele-vant in Verbindung mit new_state auf CH_ACTIVE bzw. Auftragsbearbeitung auf OFF
WT_END Am Ende des aktuellen Auftrags
WT_LAST Wenn alle aktuellen aktiven und anstehenden Aufträge ausgedruckt worden sind
WT_NOW Sofort
WT_DELETE Sofort; aktuellen Auftrag löschen
form_manip CH_MOUNT_FORM
CH_UNMOUNT_FORM
Manueller Formular-Modus. In Verbindung mit Formular-Modus MAN-UALFormular-Modus MANUAL deak-tivieren
Feld Gesetzt auf Kommentare
38 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_dev_cli
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird der Status von bestimmten Druckern geändert. Optional können Sie den Namen eines Hostrechners angeben.
#include "stdio.h"#include "sys/types.h"
#include <xprint.h>#include <client.h>
/** Change the state of a set of controlled devices. * xpchange -dev dv\* dev\* -st <state> [-scl -ho <host>] * The new state is given as argument. The name of a host can be * specified (optional). The name of the devices are known by * the application. */
main(argc,argv) char **argv;{ struct ECM_printer *dev; /* select structure */ struct chg_dev_params *params; /* parameter structure */ struct struct_ret_code *rc_tab; /* result array */ char state; /* requested device state */ xp_int32 rc_num,i;
/* Collect arguments : new state [ - host ] */ /* ---------------------------------------- */ if (argc < 2) { printf("Usage %s <state {ACTIVE/NOT_ACTIVE}> [<host>] \n", argv[0]); exit(1); }
state = CH_ACTIVE; if (strcmp (argv[1],"NOT_ACTIVE") == 0) { state = CH_NOT_ACTIVE; }
/* Allocate a select structure and build the selection * criteria */
OSL-Xprint80A-API-De-02 39
chg_dgr_cli Funktionsbeschreibungen
/*------------------------------------------------------- *----------*/ dev = (struct ECM_printer *) Xp_alloc(DV,SEL_OR_MOD); dev->dv_name = "dv* dev*"; if (argc > 2) { dev->dv_host = argv[2]; }
/* Allocate a parameter structure and fill it */ /*--------------------------------------------*/ params = (struct chg_dev_params *)
Xp_alloc(CHG_DEV_PARAMS,0); params->change_type = CH_STATE; params->new_state = state;
/* Call Xprint for changing the state of devices */ /*-----------------------------------------------*/ rc_num = chg_dev_cli(dev,params,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */ release_cli((char*)rc_tab); Xp_free(dev); Xp_free(params);}
6.4 chg_dgr_cli – Ändern des Status einer Druckergruppe
Diese Funktion weist Xprint an, den Status von einer oder mehreren aus-gewählten Druckergruppen zu ändern.
Syntax
#include <xprint.h>#include <client.h>
40 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_dgr_cli
xp_int32 chg_dgr_cli (dgr,params,rc_tab)struct Xp_dgroup *dgr;struct chg_dgr_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
dgr ist ein Zeiger auf eine Xp_dgroup-Struktur, die durch Xp_alloc() als Auswahlstruktur eingerichtet wird. Über diese Struktur werden die Geräte-gruppen ausgewählt, deren Status geändert werden soll. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Objekt-strukturen“ auf Seite 13.
params ist ein Zeiger auf eine chg_dgr_params-Struktur. Diese Struktur muß durch Xp_alloc bereitgestellt und so konfiguriert werden, daß sie die gewün-schte Statusänderung angibt, die auf alle ausgewählten Druckergruppen angewandt werden soll. Informationen über die Benutzung dieser Struktur finden Sie in einem der nachfolgenden Absätze.
rc_tab wird von chg_dgr_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Gerätegruppenobjekt, das durch die dgr-Struktur ausgewählt wird.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur chg_dgr_params ist folgendermaßen definiert:
Identifier: CHG_DGR_PARAMS
struct chg_dgr_params {string version; /* filled by Xp_alloc() */string justification; /* xpchange -dgr -ju */char new_spoolin; /* xpchange -dgr -si */};
Diese Struktur wird folgendermaßen benutzt:
Feld Gesetzt auf Kommentare
justification string Erklärender Kommentar
new_spoolin CH_ON oder CH_OFF
Setzt die Auftragsannahme auf ON bzw. OFF
i
OSL-Xprint80A-API-De-02 41
chg_dgr_cli Funktionsbeschreibungen
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschalten der Funktion an, die für das betreffende, durch die dgr-Struktur ausgewählte Gerätegruppenobjekt ausgeführt wurde. Für ein erfolgreich geändertes Druckergruppenobjekt wird das Feld ret_code auf den Meldungs-bezeichner CL_OBCHG und das Feld msg auf die zugehörige Meldung <%.128s> geaendert gesetzt (wobei %.128s bereits durch den betreffenden Gerätegrup-pennamen ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermel-dungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird die Auftragsannahme (spoolin) von sämtlichen Druck-ergruppen aktiviert, in deren Geräteliste zumindest die Drucker dv1 und dv2 enthalten sind.
#include <xprint.h>#include <client.h>
main(){ struct Xp_dgroup *dgr; /* select structure */ struct chg_dgr_params *params; /* parameter structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num i; static char* seq[3] = { "+","dv1","dv2" }; /* Allocate a select structure and build the selection criteria */
/*_______________________________________________________*/ dgr = (struct Xp_dgroup *) Xp_alloc(DG,SEL_OR_MOD); dgr->dg_devlst.seq_card = 3; dgr->dg_devlst.seq_ptr = (char*)seq; /* Allocate a parameter structure and fill it */ /*____________________________________________*/ params =(struct chg_dgr_params*) Xp_alloc(CHG_DGR_PARAMS,0); params->new_spoolin = CH_ON; /* Call Xprint for changing the spoolin of device groups */ /*_____________________________________________________*/
42 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_gtw_cli
rc_num = chg_dgr_cli(dgr,params,&rc_tab); /* Display the results */ /*_____________________*/
for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code: %d\n",
rc_tab[i].ret_code); } Xp_free(params); Xp_free(dgr); release_cli((char*) rc_tab);}
6.5 chg_gtw_cli – Ändern des Status von Gateways
Diese Funktion ändert den Status eines oder mehrerer Gateways.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 chg_gtw_cli (gtw,params,rc_tab)struct Xp_gateway *gtw;struct chg_gtw_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
gtw ist ein Zeiger auf eine XP_gateway-Struktur, die dazu benutzt wird, ein oder mehrere Gateways auszuwählen, deren Status geändert werden soll. Objekte dieser Struktur müssen mit der XP_alloc-Funktion reserviert wer-den. Ersatzzeichen dürfen Sie in Feldern vom Typ string verwenden. Namen von Gateways müssen im Feld gw_name angegeben und durch mindestens ein Leerzeichen oder einen Tabulator getrennt werden.
params ist ein Zeiger auf eine Struktur
struct chg_gtw_params{ string version; /* filled by XP_alloc() */string justification; /* xpchange -gtw -ju */v_short new_state; /* xpchange -gtw -st (see
below) */v_short new_in; /* xpchange -gtw -gi (see
OSL-Xprint80A-API-De-02 43
chg_gtw_cli Funktionsbeschreibungen
below) */v_short new_out; /* xpchange -gtw -st (see
below) */v_short when_tbd; /* xpchange -gtw -wn */v_short activation; /* xpchange -gtw -sa */
Das Feld new_state kann folgende Werte enthalten:
CH_NOT_ACTIVE (Einstellung NOT_ACTIVE)CH_ACTIVE (Einstellung ACTIVE)
Das Feld new_in kann folgende Werte enthalten:
CH_OFF (Einstellung nicht empfangsbereit)CH_ON (Einstellung empfangsbereit)
Das Feld new_out kann folgende Werte enthalten:
CH_OFF (Einstellung nicht sendebereit)CH_ON (Einstellung sendebereit)
rc_tab ist ein Array der Struktur struct_ret_code. Dessen Adresse muß als letztes Argument der Funktion angegeben werden. Der Array erhält die Nachrichten und Rückkehrwerte, die mitteilen, wie die Funktion gearbe-itet hat:
– Für jede korrekt durchgeführte Statusänderung eines Gateways gibt es in dem Array ein Element, dessen Feld ret_code auf CL_OBCHG gesetzt wird und dessen Feld msg die Meldung "%s wird geaendert" enthält (% steht für den Namen des Gateways).
– Im Falle von Fehlern oder Warnungen werden die Rückkehrwerte und Meldungen verwendet, die im Abschnitt „Fehler“ weiter unten erläutert sind.
Rückkehrwerte
Die Funktion liefert die Anzahl der Elemente im Array rc_tab.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
44 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_job_cli
6.6 chg_job_cli – Ändern des Auftrags-Status
Diese Funktion weist Xprint an, den Status von einem oder mehreren Aufträgen zu ändern.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 chg_job_cli (job,params,rc_tab)struct Xp_job *job;struct chg_job_params *params;
wobei gilt:
job ist ein Zeiger auf eine Xp_job-Struktur, die durch Xp_alloc() als Auswahl-struktur bereitgestellt wird. Über diese Struktur werden die Aufträge aus-gewählt, deren Status geändert werden soll. Informationen über die Benut-zung von Auswahlstrukturen finden Sie im Abschnitt „Objektstrukturen“ auf Seite 13.
params ist ein Zeiger auf eine chg_job_params-Struktur. Diese Struktur muß von Xp_alloc() bereitgestellt und so konfiguriert werden, daß sie die gewün-schte Statusänderung angibt, die dann auf alle ausgewählten Aufträge angewandt wird. Nachfolgend finden Sie Informationen über die Benutzung dieser Struktur.
rc_tab wird von chg_job_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das von der job-Struktur aus-gewählt wird.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur chg_job_params hat die nachfolgend dargestellte Definition:
Identifier: CHG_JOB_PARAMS
struct chg_job_params { string version; /* filled by Xp_alloc() */ string page_select; /* xpchange -job -ps */ char new_state; /* xpchange -job -st */ };
i
OSL-Xprint80A-API-De-02 45
chg_job_cli Funktionsbeschreibungen
Diese Struktur wird folgendermaßen benutzt:
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende, über die job-Struktur ausgewählte Auftrags-Objekt ausgeführt wurde. Nach der erfolgreichen Änderung eines Auftrags-Objekts wird sein Feld ret_code auf den Meldungsbez-eichner CL_JOCHG und das Feld msg auf die zugehörige Meldung Auftrag <%u> (<%.128s>) geaendert gesetzt (dabei ist %u (<%.128s>) bereits durch den globalen Auftragsbezeichner ersetzt worden). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehler-meldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel ändern Sie den Status von Druckaufträgen von SUSPEND zu WAIT. Die Aufträge werden von den Servern sv1 und sv2 kontrolliert.
Feld Gesetzt auf Kommentare
page_select eine Zeichen-kette zur Angabe der Kriterien zur Seitenauswahl
Informationen über das Format dieser Zeichenkette finden Sie in der Besch-reibung des Kommandos xpadd -job im Handbuch „Xprint V5.2 – Referenzhand-buch“
new_state CH_WAIT Auftrag bzw. Aufträge in Status WAIT ver-setzen
CH_SUSPEND Auftrag bzw. Aufträge in Status SUSPEND versetzen
CH_TOP Auftrag bzw. Aufträge an den Anfang der Warteschlange setzen
46 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_job_cli
#include "stdio.h"#include "sys/types.h"
#include <xprint.h>#include <client.h>
/* * Change the state of jobs, controlled by an application, from * SUSPEND to WAIT * xpchange <list of jobs> -st WAIT * -scl " -jc application -st SUSPEND". * Jobs are controlled by both sv1 and sv2 servers. Jobs are * signed by the application that submitted them. The job * comment was used for that purpose */
main(argc,argv) int argc; char *argv;{ struct Xp_job *job; /* select structure */ struct chg_job_params *params; /* parameter structure */vv struct struct_ret_code *rc_tab; /* result array */v xp_int32 rc_num,i;
/* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ job = (struct Xp_job *) Xp_alloc(JO,SEL_OR_MOD); job->jo_id.jid_jid = "sv1:* sv2:*"; job->jo_info.j_comment = "application"; job->jo_info.j_state = ST_SUSPEND;
/* Allocate a parameter structure and fill it */ /*--------------------------------------------*/ params = (struct chg_job_params *)
Xp_alloc(CHG_JOB_PARAMS,0); params->new_state = CH_WAIT;
/* Call Xprint for changing the state of jobs */ /*--------------------------------------------*/ rc_num = chg_job_cli(job,params,&rc_tab); /* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code :
OSL-Xprint80A-API-De-02 47
chg_spv_cli Funktionsbeschreibungen
%d\n",rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */ release_cli((char *) rc_tab); Xp_free(job); Xp_free(params);}
6.7 chg_spv_cli – Ändern des Supervisor-Status
Diese Funktion weist Xprint an, den Status von einem oder mehreren Supervi-sor-Objekten zu ändern.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 chg_spv_cli (spv,params,rc_tab)struct Xp_superv *spv;struct chg_spv_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
spv ist ein Zeiger auf eine Xp_superv-Struktur, die durch Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Supervi-sor-Objekte ausgewählt, deren Status geändert werden soll. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Auswahlstrukturen“ auf Seite 14.
params ist ein Zeiger auf eine chg_spv_params-Struktur. Diese Struktur muß von Xp_alloc() bereitgestellt und so konfiguriert werden, daß sie die gewün-schte Statusänderung angibt, die dann auf alle ausgewählten Supervisor-Objekte angewandt wird. Nachfolgend finden Sie u.a. Informationen über die Benutzung dieser Struktur.
rc_tab wird von chg_spv_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Supervisor-Objekt, das durch die spv-Struktur ausgewählt wurde.
48 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_spv_cli
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur chg_spv_params hat nachfolgend dargestellte Definition:
Identifier: CHG_SPV_PARAMS
struct chg_spv_params { string version; /* filled by Xp_alloc() */ char new_state; /* xpchange -spv -st */ char when_tbd; /* not used */ };
Diese Struktur wird folgendermaßen benutzt:
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für die betreffenden, über die spv-Struktur ausgewählten Supervisor-Objekte ausgeführt wurde. Nach der erfolgreichen Änderung eines Supervisor-Objekts wird das Feld ret_code auf den Meldungs-bezeichner CL_OBCHG und das Feld msg auf die zugehörige Meldung <%.128s> geaendert gesetzt (wobei %.128s bereits durch den betreffenden Supervisor-Namen ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermeldungs-bezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Feld Gesetzt auf Kommentare
new_state CH_ACTIVE Supervisor-Objekt(e) aktivieren
CH_NOT_ACTIVE Supervisor-Objekt(e) deaktivieren
i
OSL-Xprint80A-API-De-02 49
chg_srv_cli Funktionsbeschreibungen
6.8 chg_srv_cli – Ändern des Server-Status
Diese Funktion weist Xprint an, den Status von einem oder mehreren Servern zu ändern.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 chg_srv_cli (srv,params,rc_tab)struct Xp_server *srv;struct chg_srv_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
srv ist ein Zeiger auf eine Xp_server-Struktur, die durch Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Server ausgewählt, deren Status geändert werden soll. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Objektstruk-turen“ auf Seite 13.
params ist ein Zeiger auf eine chg_srv_params-Struktur. Diese Struktur muß von Xp_alloc() bereitgestellt und so konfiguriert werden, daß sie die gewün-schte Statusänderung angibt, die dann auf alle ausgewählten Server ange-wandt wird. Nachfolgend finden Sie Informationen über die Benutzung die-ser Struktur.
rc_tab wird von chg_srv_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Server-Objekt, das durch die srv-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur chg_srv_params hat nachfolgend dargestellte Definition:
Identifier: CHG_SVR_PARAMS
struct chg_srv_params { string version; /* filled by Xp_alloc() */ char new_state; /* xpchange -srv -st */ char new_spoolin; /* xpchange -srv -si */ char new_spoolout; /* xpchange -srv -so */
i
50 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_srv_cli
char when_tbd; /* unused */ char activation; /* xpchange -srv -sa */};
Diese Struktur wird folgendermaßen benutzt:
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende, über die srv-Struktur aus-gewählte Server-Objekt ausgeführt wurde. Für ein erfolgreich geändertes Server-Objekt wird das Feld ret_code auf den Meldungsbezeichner CL_OBCHG und das Feld msg auf die zugehörige Meldung <%.128s> geaendert gesetzt (wobei %.128s bereits durch den betreffenden Servernamen ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Feld Gesetzt auf Kommentare
new_state CH_ACTIVECH_NOT_ACTIVE
Server in den Status ACTIVE setzen
Server in den Status NOT_ACTIVE setzen
new_spoolin CH_ON oder CH_OFF
Auftragsannahme bzw. ON oder OFF setzen
new_spoolout CH_ON oder CH_OFF
Auftragsbearbeitung auf ON bzw. OFF setzen
activation XP_COLD oder XP_WARM
Aktivierung des/der Server(s) im Modus COLD bzw. WARM. Wenn dieses Feld nicht gesetzt wird, wird der Aktivierungs-Modus des lokalen Systems benutzt. Der Aktivierungs-Modus ist nur relevant, wenn der/die Server durch diese Funktion aktiviert wird
OSL-Xprint80A-API-De-02 51
chg_usr_cli Funktionsbeschreibungen
6.9 chg_usr_cli – Ändern des Benutzer-Status
Diese Funktion weist Xprint an, für die verbrauchten Seiten- und Auftrags-Kon-tingente neue Werte einzustellen. Da diese Kontingente nicht automatisch von Xprint zurückgesetzt werden, müssen sie durch diese Funktion neu initialisiert werden.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 chg_usr_cli (usr,params,rc_tab)struct ECM_security *usr;struct chg_usr_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
usr ist ein Zeiger auf eine ECM_security-Struktur, die von Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Benut-zer ausgewählt, deren Status geändert werden soll. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Objektstruk-turen“ auf Seite 13.
params ist ein Zeiger auf eine chg_usr_params-Struktur. Diese Struktur muß von Xp_alloc() bereitgestellt und so konfiguriert werden, daß sie die gewün-schte Statusänderung angibt, die dann auf alle ausgewählten Benutzer angewandt wird. Nachfolgend finden Sie u.a. Informationen über die Benut-zung dieser Struktur.
rc_tab wird von chg_usr_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Benutzer-Objekt, das durch die usr-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur chg_usr_params hat nachfolgend dargestellte Definition:
Identifier: CHG_USR_PARAMS
struct chg_usr_params { string version; /* filled by Xp_alloc() */
i
52 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen chg_usr_cli
u_long cons_pages; /* xpchange -usr -cp */ u_long cons_jobs; /* xpchange -usr -cj */ };
Diese Struktur wird folgendermaßen benutzt:
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende, über die usr-Struktur ausgewählte Benutzer-Objekt ausgeführt wurde. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
6.10 cpy_all_cli – Kopieren eines Objekts
Diese Funktion weist Xprint an, in der zentralen Datenbank eine neue Objekt-beschreibung zu erstellen, indem es eine vorhandene Beschreibung kopiert. Die Funktion kann Xprint anweisen, während des Kopiervorgangs Werte für das erstellte Objekt zu modifizieren.
Syntax
#include <xprint.h>#include <client.h>
Feld Gesetzt auf Kommentare
cons_pages <numerisch> Neuer Kontingent-Wert für die Anzahl der verbrauchten Seiten
cons_jobs <numerisch> Neuer Kontingent-Wert für die Anzahl der verbrauchten Aufträge
OSL-Xprint80A-API-De-02 53
cpy_all_cli Funktionsbeschreibungen
xp_int32 cpy_all_cli (typ,from,to,mod,params,rc_tab)unsigned short typ;char *from;char *to;union Xp_object *mod;struct cpy_all_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
typ ist der Bezeichner für den Objekttyp, der kopiert werden soll. Von den verfügbaren Objekttypen in der Tabelle auf Seite 11 kann einer der folgen-den Objekttypen für diese Funktion angegeben werden: DV (Drucker), DG (Drukkergruppe), FL (Filter), FT (Schrift), FM (Formular), GW (Gateway), JT (Auftragsschablone), LR (Ladbare Ressource), PN (Berechtigungsliste), SP (Supervisor), SV (Server) und US (Benutzer).
from ist eine Zeichenkette, die den Namen des zu kopierenden Objekts angibt. Dieser Name wird mit dem Namens-Feld der Struktur des Objektt-yps, der durch typ angegeben wird, auf exakte Übereinstimmung verglichen.
to ist eine Zeichenkette zur Angabe des Namens des beim Kopiervorgang erstellten Objekts. Objekte eines bestimmten Typs müssen innerhalb der Datenbank eindeutige Namen haben. Daher muß für das neu erstellte Objekt zumindest ein neuer Name angegeben werden.
mod ist ein Zeiger auf eine Struktur, die durch Xp_alloc() als Modifi-zierungsstruktur bereitgestellt wird. Der Strukturtyp muß dem durch typ angegebenen Typ entsprechen.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von cpy_all_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktionrelease_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus, also 1.
i
54 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen cpy_all_cli
Für die rc_tab-Struktur zeigt das einzige Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an. Nach dem erfolgreichen Kopieren eines Objekts wird dieses Feld auf den Meldungsbezeichner CL_OBCPY und das Feld msg auf die zugehörige Meldung <%.128s> kopiert nach <%.128s> gesetzt (dabei wurden beide %.128s-Variablen bereits durch die Objektnamen ersetzt). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird eine Druckerdefinition auf der Basis eines bereits vorhandenen Geräts erstellt, wobei sie sowohl den Namen als auch die Adresse ändern.
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>
/* * Duplicate a device definition, changing its name and device * address * xpcopy <device1> <device2> -da <device address> * Both device names and the new physical device address are * optional. */
main (argc, argv) int argc; char **argv;{ union Xp_object *obj; /* Xprint object structure used as modification structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num,i;
/* Collect arguments : use stdin when no document */ /*------------------------------------------------*/ if (argc < 4) {
OSL-Xprint80A-API-De-02 55
del_all_cli Funktionsbeschreibungen
printf("Usage %s <device1><device2><deviceaddress>\n",argv[0]);
exit (1); }
/* Allocate a modify structure and fill it */ /*-----------------------------------------------*/ obj = (union Xp_object *) Xp_alloc(DV,SEL_OR_MOD); obj->dv.dv_add = argv[3];
/* Call Xprint for a device copy */ /*-------------------------------*/ rc_num = cpy_all_cli(DV,argv[1],argv[2],obj,NULL,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */ release_cli((char *) rc_tab); Xp_free(obj);}
6.11 del_all_cli – Löschen von Objekten
Diese Funktion weist Xprint an, einen oder mehrere ausgewählte Objekte zu löschen. Beachten Sie bitte, daß Xprint das Löschen des Schrift-Objekts mit dem Namen "GENERIC" bzw. des Formular-Objekts mit dem Namen "GENERIC" oder des PCL-Objekts mit dem Namen "GENERIC" nicht zuläßt.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 del_all_cli (typ,obj,params,rc_tab)unsigned short typ;union Xp_object *obj;struct del_all_params *params;struct struct_ret_code **rc_tab;
56 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen del_all_cli
wobei gilt:
typ ist der Bezeichner für den Objekttyp, der gelöscht werden soll. Von den verfügbaren Objekttypen (vollständige Liste siehe Tabelle auf Seite 11) kann einer der folgenden Objekttypen für diese Funktion angegeben wer-den: DV (Drukker), DG (Druckergruppe), FL (Filter), FT (Schrift), FM (For-mular), GW (Gateway), HO (Host), JT (Auftragsschablone), LR (Ladbare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regeln), SP (Supervisor), SV (Server) und US (Benutzer).
obj ist ein Zeiger auf die Struktur, die durch Xp_alloc() als Auswahlstruktur bereitgestellt wird, und die Auswahlkriterien zur Auswahl der Objekte enthält. Es wird nur nach Objekten vom Typ typ gesucht; obj muß die zuge-hörige Struktur sein. Die zu jedem Objekttyp gehörige Struktur ist in der Tabelle auf Seite 11 aufgeführt.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von del_all_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die obj-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktionrelease_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die auf das betreffende, durch die obj-Struktur ausgewählte Objekt angewandt wurde. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung ges-etzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
i
OSL-Xprint80A-API-De-02 57
del_all_cli Funktionsbeschreibungen
Beispiel
In diesem Beispiel werden alle Druckergruppen gelöscht, die mindestens dv1 und dv2 in ihrer Definition haben.
#include "stdio.h"#include "sys/types.h"
#include <xprint.h>#include <client.h>
/* * Delete all device groups defined with at least dv1 and dv2 * xpdel -dgr -scl -dl "dv1 dv2" */
main(argc,argv) int argc; char **argv;{ union Xp_object *obj; /* object structure used as select structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num,i; static char * seq[3] = { "+","dv1","dv2" };
/* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ obj = (union Xp_object *) Xp_alloc(DG,SEL_OR_MOD); obj->dg.dg_devlst.seq_card = sizeof(seq) / sizeof(char *); obj->dg.dg_devlst.seq_ptr = (char *)seq; /* Call Xprint for deleting the device groups */ /*--------------------------------------------*/ rc_num = del_all_cli(DG,obj,NULL,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */
58 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen del_all_cli
release_cli((char *)rc_tab); Xp_free(obj);}
OSL-Xprint80A-API-De-02 59
del_job_cli Funktionsbeschreibungen
6.12 del_job_cli – Löschen von Aufträgen
Diese Funktion weist Xprint an, einen oder mehrere ausgewählte Aufträge aus einer oder mehreren Auftrags-Warteschlangen zu löschen.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 del_job_cli (job,params,rc_tab)struct Xp_job *job;struct del_job_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
job ist ein Zeiger auf eine Xp_job-Struktur, die durch Xp_alloc() als Auswahl-struktur bereitgestellt wird und die Auswahlkriterien zur Auswahl der Druck-aufträge enthält. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Objektstrukturen“ auf Seite 13.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von del_job_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jeden Auftrag, der durch die job-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die auf den betreffenden, durch die job-Struktur ausgewählten Auftrag angewandt wurde. Nach dem erfolgreichen Löschen eines Auftrags wird das ret_code-Feld auf den Meldungsbezeichner CL_JODEL und das Feld msg auf die zugehörige Meldung Auftrag <%.128s> (<%.128s>) geloescht gesetzt (wobei <%.128s> (<%.128s>) bereits durch
i
60 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen del_job_cli
den globalen Auftragsbezeichner ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel werden alle Aufträge gelöscht, die von einer Anwendung kontrolliert werden und sich im Status SUSPEND befinden.
Es werden alle Aufträge (die die obigen Bedingungen erfüllen) des gewählten Servers gelöscht; wenn Sie keinen Servernamen angegeben haben, werden alle Aufträge, die die obigen Bedingungen erfüllen, gelöscht.
#include "stdio.h"#include "sys/types.h"
#include <xprint.h>#include <client.h>
/* * Delete all jobs controlled by an application and that are in * SUSPEND state * xpdel <list of jobs> -scl " -st SUSPEND -jc application " * All jobs for a given server are considered. When no server is * specified, all servers are considered. * Jobs are signed with the name of an application */
main(argc,argv) int argc; char *argv;{ struct Xp_job *job; /* select structure */ struct struct_ret_code *rc_tab; /* result array */ char jids[128]; /* list of jids */ xp_int32 rc_num,i;
/* Collect arguments : <server> */ /* ---------------------------- */ if (argc < 2) { sprintf(jids,"*:*"); }
OSL-Xprint80A-API-De-02 61
mod_all_cli Funktionsbeschreibungen
else { sprintf(jids,"%s:*",argv[1]); }
/* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ job = (struct Xp_job *) Xp_alloc(JO,SEL_OR_MOD); job->jo_id.jid_jid = jids; job->jo_info.j_comment = "application"; job->jo_info.j_state = ST_SUSPEND;
/* Call Xprint for deleting the jobs */ /*-----------------------------------*/ rc_num = del_job_cli(job,NULL,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */ release_cli((char *) rc_tab); Xp_free(job);}
6.13 mod_all_cli – Modifizieren von Objekten
Diese Funktion weist Xprint an, eine oder mehrere Objektbeschreibungen in der zentralen Datenbasis zu modifizieren. Diese Funktion kann nicht für das Auft-rags-Objekt ausgeführt werden.
Wenn das modifizierte Objekt vom Typ PL (Printer Capability List für Drucker-fähigkeitsliste) oder RR (Recovery Regeln) ist und das Feld mit der Anweis-ungs-Datei modifiziert wird, wird die Datei mit den Anweisungen innerhalb der Funktion mod_all_cli() übersetzt.
Syntax
#include <xprint.h>#include <client.h>
62 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen mod_all_cli
xp_int32 mod_all_cli (typ,obj,mod,params,rc_tab)unsigned short typ;union Xp_object *obj;union Xp_object *mod;struct mod_all_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
typ ist der Bezeichner für den Objekttyp, der modifiziert werden soll. Alle Objekttypen mit Ausnahme von Auftrags-Objekten sind zulässig; eine voll-ständige Auflistung der Bezeichner finden Sie in der Tabelle auf Seite 11. Objekttyp kann hier sein: DV (Drucker), DG (Druckergruppe), FL (Filter), FT (Schrift), FM (Formular), GW (Gateway), HO (Host), JT (Auftragsschab-lone), LR (Ladbare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regeln), SP (Supervisor), SV (Server) und US (Benutzer) oder SY (System).
obj ist ein Zeiger auf die Struktur, die durch Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Objekte in der zentralen Datenbasis ausgewählt, die modifiziert werden sollen. Die Struktur muß kompatibel zu dem durch typ angegebenen Objekttyp sein.
mod ist ein Zeiger auf eine Struktur, die denselben Typ wie obj hat und durch Xp_alloc() als Modifizierungsstruktur bereitgestellt wird. Über diese Struktur werden die Modifizierungen angegeben, die für die ausgewählten Objekte ausgeführt werden sollen. Informationen über die Benutzung von Modifi-zierungsstrukturen finden Sie im Abschnitt „Objektstrukturen“ auf Seite 13.
params ist nur für den Objekttyp US (user für Benutzer) definiert. Für alle anderen Objekttypen sollte params auf den NULL-Zeiger gesetzt sein. Für Objekte vom Typ US kann params der NULL-Zeiger oder ein Zeiger auf eine mod_all_params-Struktur sein. Wenn params für das Benutzer-Objekt ungleich NULL ist, wird mod ignoriert.
rc_tab wird von mod_all_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die obj-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur mod_all_params hat nachfolgend dargestellte Definition:
i
OSL-Xprint80A-API-De-02 63
mod_all_cli Funktionsbeschreibungen
Identifier: MOD_ALL_PARAMS
struct mod_all_params { string version; /* filled by Xp_alloc()*/ struct /*string*/ sequence host_lst; /* xpmod -usr -cl */};
Diese Struktur wird folgendermaßen benutzt:
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende, über die obj-Struktur ausgewählte Objekt ausgeführt wurde. Nach dem erfolgreichen Modifizieren eines Objekts wird dieses Feld auf den Meldungsbezeichner CL_OBMOD und das Feld msg auf die zugehörige Meldung <%.128s> modifiziert gesetzt (wobei %.128s bereits durch den Objektnamen ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehler-meldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird das Polling für alle Drucker mit einer als Argument übergebenen PCL aktiviert. Wird keine PCL als Argument übergeben, dann werden alle Drucker entsprechend geändert:
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>
Feld Gesetzt auf Kommentare
host_lst struct /*string*/ sequence
Eine Folge von Zeichenketten, über die die Hostrechner angegeben werden, auf denen die Benutzerdefinition überprüft werden soll.
64 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen mod_all_cli
/* * Enable the polling for all devices of a specified pcl. Select the ETX/ACK protocol. * xpmod -dev -scl " -pc <pcl> " -ep -poETX * When no pcl is specified, all devices are considered */
main (argc, argv) int argc; char **argv;{ union Xp_object *obj; /* object structure used
as select structure */ union Xp_object *mod; /* modify structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num,i;
/* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ obj = (union Xp_object *) Xp_alloc(DV,SEL_OR_MOD);
/* Collect arguments : pcl of devices */ /*------------------------------------*/ if (argc > 1) { obj->dv.dv_pcl = argv[1]; }
/* Allocate a modify structure and fill it */ /*-----------------------------------------------*/ mod = (union Xp_object *) Xp_alloc(DV,SEL_OR_MOD); mod->dv.dv_enable_poll = TRUE; mod->dv.dv_proto.cn_protocol = XP_ETX;
/* Call Xprint for a device modification */ /*---------------------------------------*/ rc_num = mod_all_cli(DV,obj,mod,NULL,&rc_tab);
/* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); } /* Free allocated space */ /* -------------------- */
OSL-Xprint80A-API-De-02 65
mod_job_cli Funktionsbeschreibungen
release_cli( (char *) rc_tab); Xp_free(obj); Xp_free(mod);}
6.14 mod_job_cli – Modifizieren von Aufträgen
Diese Funktion weist Xprint an, die Daten von einem oder mehreren Aufträgen zu modifizieren, die aktuell in den Xprint-Warteschlangen enthalten sind. Ein aktuell im Druck befindlicher Auftrag kann nicht modifiziert werden.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 mod_job_cli (job,mod,params,rc_tab)struct Xp_job *job;struct Xp_job *mod;struct mod_job_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
job ist ein Zeiger auf eine Xp_job-Struktur, die durch Xp_alloc() als Auswahl-struktur bereitgestellt wird. Über diese Struktur werden die Aufträge aus-gewählt, deren Daten modifiziert werden sollen. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Objektstruk-turen“ auf Seite 13.
mod ist ein Zeiger auf eine Xp_job-Struktur, die durch Xp_alloc() als Modifi-zierungsstruktur bereitgestellt wird. Über diese Struktur werden die Modifi-zierungen angegeben, die an den ausgewählten Aufträgen vorgenommen werden sollen. Informationen über die Benutzung von Modifizierungsstruk-turen finden Sie im Abschnitt „Objektstrukturen“ auf Seite 13.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von mod_job_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die job-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben. i
66 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen mod_job_cli
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für den betreffenden, über die job-Struktur ausgewählten Auftrag ausgeführt wurde. Nach dem erfolgeichen Modifizieren einer job-Struktur wird das ret_code-Feld auf den Meldungsbezeichner CL_JOMOD und das Feld msg auf die zugehörige Meldung Auftrag <%.128s> (<%.128s>) modifiziert gesetzt (wobei <%.128s> (<%.128s>) bereits durch den globalen Auftragsbezeichner ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel werden alle Druckaufträge mit dem Status WAITING von dv1 zu dv2 umgeleitet.
#include "stdio.h"include "sys/types.h"
#include <xprint.h>#include <client.h>
/* * Modify the destination of all jobs in state WAITING on dv1 to * dv2 * xpmod -scl " -de <dv1>" -de <dv2> */
main(argc,argv) int argc; char **argv;{ struct Xp_job *job; /* select structure */ struct Xp_job *mod; /* modify structure */ struct struct_ret_code *rc_tab; /* result array */ xp_int32 rc_num,i;
/* Collect arguments : <dv1> <dv2> */ /* ------------------------------- */
OSL-Xprint80A-API-De-02 67
mod_job_cli Funktionsbeschreibungen
if (argc < 3) { printf("Usage %s <dv1> <dv2>\n",argv[0]); exit (1); } /* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ job = (struct Xp_job *) Xp_alloc(JO,SEL_OR_MOD); job->jo_schedul.sch_destin = argv[1]; job->jo_info.j_state = ST_WAIT;
/* Allocate a modify structure and fill it */ /*-----------------------------------------------*/ mod = (struct Xp_job*) Xp_alloc(JO,SEL_OR_MOD); mod->jo_schedul.sch_destin = argv[2];
/* Call Xprint for modifiying the jobs */ /*-------------------------------------*/ rc_num = mod_job_cli(job,mod,NULL,&rc_tab); /* Display the results */ /*---------------------*/ for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); }
/* Free allocated space */ /* -------------------- */ release_cli( (char *) rc_tab); Xp_free(job); Xp_free(mod);}
68 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen release_cli
6.15 release_cli – Freigeben von Speicher
Durch diese Funktion wird die Freigabe von Speicher angefordert, der implizit über Funktionsaufrufe an Xprint bereitgestellt wurde. Von Xprint bereitgestellter Speicher wird entweder für struct_ret_code- oder disp_mdl-Strukturen benutzt. Bei beiden Strukturen handelt es sich um Array-Strukturen. Die Struktur disp_mdl enthält Zeiger auf weitere Strukturen, für die Xprint gegebenenfalls ebenfalls Speicher bereitgestellt hat. Die Funktion release_cli() überprüft die freigegebene Struktur und stellt sicher, daß der Speicher ebenfalls vollständig freigegeben wird (weitere Informationen siehe Kapitel „Speicherverwaltung“).
Syntax
#include <xprint.h>#include <client.h>
void release_cli (ptr)char *ptr;
wobei gilt:
ptr ist ein Zeiger auf den freizugebenden Speicher. Dieser Zeiger enthält die Adresse, die Xprint über den rc_tab-Parameter von Funktionen liefert, von denen diese Struktur zurückgegeben wird.
Rückkehrwerte
release_cli() gibt keine Rückkehrwerte aus.
Fehler
release_cli() gibt keine Fehler aus.
Wird bei ptr ein unkorrekter Wert angegeben, ist das Ergebnis undefini-ert.i
OSL-Xprint80A-API-De-02 69
shw_all_cli Funktionsbeschreibungen
6.16 shw_all_cli – Anzeige von Informationen über Objekte
Durch diese Funktion wird die Ausgabe von Informationen für bestimmte, in der Datenbasis enthaltene Objekte angefordert.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 shw_all_cli (typ,obj,params,rc_tab)unsigned short typ;union Xp_object *obj;struct shw_all_params *params;struct disp_mdl **rc_tab;
wobei gilt:
typ ist der Bezeichner für den Objekttyp, für den Informationen angefordert werden. Für die Funktion shw_all_cli können Sie folgende Objekttypen ver-wenden: DV (Drucker), DG (Druckergruppe), FL (Filter), FT (Schrift), FM (Formular), GW (Gateway), HO (Host), JT (Auftragsschablone), LR (Lad-bare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regeln), SP (Supervisor), SV (Server) und US (Benutzer).
obj ist ein Zeiger auf eine Struktur, die von Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Objekte in der zentralen Datenbank ausgewählt, für die Informationen angezeigt werden sollen. Die Struktur muß kompatibel zu dem bei typ angegebenen Objekttyp sein.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von shw_all_cli() zur Rückgabe der Adresse der Struktur disp_mdl benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die obj-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
i
70 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen shw_all_cli
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende, über die obj-Struktur ausgewählte Objekt ausgeführt wurde. Nach der erfolgreichen Ausführung der Funktion ist das Feld disp_obj ein Zeiger auf eine Struktur mit den Informationen für das betreffende ausgewählte Objekt. Der Typ der Struktur ist vom Objekt abhängig und entspricht dem Typ der Struktur für obj. Die Definitionen für diese Strukturen sind im Anhang abgedruckt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
Dieses Beispiel gibt eine Definitions-Liste von gewählten Druckern aus:
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>/* * Display the definitions of a set of controlled devices * xpshow -dev "dv* dev*" -di "-pc -ho -su -da" * A specific comment is attached to the devices controlled by * the application. * Devices have a same prefix, either dv or dev */
main (argc, argv) int argc; char **argv;{ struct disp_mdl *ptr; /* result array */ union Xp_object *obj; /* object structure used as selection structure */ xp_int32 i,size; /* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ obj = (union Xp_object *) Xp_alloc(DV,SEL_OR_MOD); obj->dv.dv_name = "dv* dev*"; obj->dv.dv_comment[CM_ADMIN] = "application"; /* Call Xprint to get device definitions */ /*---------------------------------------*/
OSL-Xprint80A-API-De-02 71
shw_job_cli Funktionsbeschreibungen
size = shw_all_cli(DV,obj,NULL,&ptr); /* Display the results */ /*---------------------*/ printf("Name pcl Host Supervisor Device address\n"); printf("---- --- ---- ---------- --------------\n");
for (i=0; i<size; i++) {if ((ptr[i].diag.ret_code) == OKAY) {
printf("%-9.9s %-8.8s %-8.8s %-9.9s %s\n",((struct ECM_printer*)(ptr[i].disp_obj))->dv_name,((struct ECM_printer*)(ptr[i].disp_obj))->dv_pcl,((struct ECM_printer*)(ptr[i].disp_obj))->dv_host,((struct ECM_printer*)(ptr[i].disp_obj))->dv_supervisor,((struct ECM_printer*)(ptr[i].disp_obj))->dv_add);}
else printf("%s",ptr[i].diag.msg); }
/* Release the allocated memory */ /*------------------------------*/ release_cli((char *) ptr); Xp_free(obj);}
6.17 shw_job_cli – Anzeige von Informationen über Aufträge
Durch diese Funktion wird die Ausgabe von Informationen für bestimmte, in den Xprint-Warteschlangen enthaltene Aufträge angefordert.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 shw_job_cli (job,params,rc_tab)struct Xp_job *job;struct shw_job_params *params;struct disp_mdl **rc_tab;
wobei gilt:
72 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen shw_job_cli
job ist ein Zeiger auf eine Xp_job-Struktur, die durch Xp_alloc() als Auswahl-struktur bereitgestellt wird. Über diese Struktur werden die Aufträge in der Xprint-Warteschlange ausgewählt, über die Informationen angezeigt wer-den sollen. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Abschnitt „Objektstrukturen“ auf Seite 13.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von shw_job_cli() zur Rückgabe der Adresse der Struktur disp_mdl benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die job-Struktur aus-gewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktionrelease_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die auf den betreffenden, über die job-Struktur ausgewählten Auftrag ausgeführt wurde. Nach einer erfolgreichen Anforderung für ein Auftrags-Objekt wird das ret_code-Feld auf den Meldungsbezeichner OKAY gesetzt. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt. Nach der erfolgreichen Ausführung dieser Funktion ist das Feld disp_obj ein Zeiger auf eine Struktur mit den Informationen für den betreffenden ausgewählten Auftrag. Diese Struktur ist die Auftragsobjekt-Datenstruktur Xp_job. Die Definition dieser Struktur ist im Anhang abgedruckt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
In diesem Beispiel wird die Definition von gewählten Druckaufträgen ausgege-ben.
i
OSL-Xprint80A-API-De-02 73
shw_job_cli Funktionsbeschreibungen
Die Druckaufträge werden mit ihrer globalen und lokalen Auftragskennung, ihrem Titel, dem Gesamtumfang des Drucks und einer Liste von möglichen Druckern angezeigt.
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>/* * Display the definitions of a set of jobs * xpshow -job <list of jobs> -di "-jt" <total size>
<potential devices> * All jobs are considered * Jobs are shown with their global and local job-id, the known * title, the total size of the documents to be printed, and the * list of printer candidates (after job validation) */
main (argc, argv) int argc; char **argv;{ struct disp_mdl *ptr; /* result array */ struct Xp_job *job; /* select structure */ xp_int32 i,size; xp_int32 n,j; char **destin;/* potential devices */ /* Allocate a select structure and build the selection criteria */ /*--------------------------------------------------------*/ job = (struct Xp_job *) Xp_alloc(JO,SEL_OR_MOD);
job->jo_id.jid_jid = "*:*"; /* Call Xprint to get job definitions */ /*---------------------------------------*/ size = shw_job_cli(job,NULL,&ptr);
/* Display the results */ /*---------------------*/ printf("global jid jid title size destination\n"); printf("---------- --- ----- ---- -----------\n");
for (i=0; i<size; i++) { if ((ptr[i].diag.ret_code) == OKAY) { printf("%-8.8s:%-4.4s %-4.4d %-9.9s %-6.6d ", ((struct Xp_job*)(ptr[i].disp_obj))
74 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen shw_job_cli
->jo_id.jid_server, ((struct Xp_job*)(ptr[i].disp_obj)) ->jo_id.jid_jid, ((struct Xp_job*)(ptr[i].disp_obj)) ->jo_id.jid_local_jid, ((struct Xp_job*)(ptr[i].disp_obj)) ->jo_id.jid_title, ((struct Xp_job*)(ptr[i].disp_obj)) ->jo_document.doc_total_size); n = ((struct Xp_job*)(ptr[i].disp_obj)) ->jo_schedul.sch_competitors.seq_card; destin =
(char **) ((struct Xp_job*)(ptr[i].disp_obj))
->jo_schedul.sch_competitors.seq_ptr;for (j = 0; j < n; j++) {
printf("%-9.9s ",*destin++);}
printf("\n");
}
else printf("%s",ptr[i].diag.msg);
}
/* Release the allocated memory */
/*------------------------------*/
release_cli((char *) ptr);
Xp_free(job);}
OSL-Xprint80A-API-De-02 75
shw_ref_cli Funktionsbeschreibungen
6.18 shw_ref_cli – Referenzen auf ein bestimmtes Objekt anzeigen
Durch diese Funktion können existierende Referenzen auf ein Objekt ausgege-ben werden.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 shw_ref_cli (typ,obj,params,rc_tab)unsigned short typ;char *obj;struct struct_ret_code **rc_tab;
wobei gilt:
typ ist der Bezeichner für den Objekttyp, für den Informationen angefordert werden. Für die Funktion shw_ref_cli können Sie folgende Objekttypen ver-wenden: DV (Drucker), DG (Druckergruppe), FL (Filter), FT (Schrift), FM (Formular), GW (Gateway), HO (Host), JT (Auftragsschablone), LR (Lad-bare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regeln), SP (Supervisor), SV (Server) und US (Benutzer).
obj ist eine Zeichenkette, die das Objekt bezeichnet, für das Referenzen angezeigt werden sollen.
rc_tab wird von shw_ref_cli() zur Rückgabe der Bezeichner und des jeweilie-gen Objekttyps aller Objekte benutzt, die sich auf das ausgewählte Objekt beziehen. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die job-Struktur ausgewählt wurde.
Rückkehrwert
Die Funktion liefert als Ergebnis die Anzahl der Einträge des rc_tab-Arrays.
Beispiel
Es werden alle Objekte (Name und Typ) in einer Liste angezeigt, die auf die Schrift my_font Bezug nehmen. Nur die Objekte, die direkt Bezug nehmen, werden angezeigt, nicht die rekursiven Objekte.
76 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen shw_ref_cli
#include "sys/types.h"#include "stdio.h"#include <xprint.h>#include <client.h>
/* * Display the list of objects (name and type) referenced by the font* "my_font" * xpshow -fnt "my_font" -diR * ! Only the objects directly referencing "my_font" are displayed * (no recursive display). */
main (argc, argv) int argc; char **argv;{ struct shw_ref_by *return_list; /* returned list*/ xp_int32 i; struct struct_ret_code *ptr_diag;/* pointer to return code structure */ struct ref_by_obj *ptr_ref; /* pointer to a reference definition */ char *type; /* type of object*/ struct ref_by_obj **ptr; /* Call Xprint to get the list of objects */ /*----------------------------------------*/ shw_ref_cli(FT,"my_font",NULL,&return_list);
ptr_diag = return_list->diag; if ( ptr_diag->ret_code != OKAY )
/* Print error message */ printf ("%s", ptr_diag->msg); else { /* Display title */ /*---------------------*/ printf("List of objects referencing \"my_font\" \n"); printf("--------------------------------------- \n"); /* Display the results */ /*---------------------*/ for (i=0; i< return_list->ref_list.seq_card; i++) { ptr = ((struct ref_by_obj **)return_list ->ref_list.seq_ptr);
OSL-Xprint80A-API-De-02 77
shw_ref_cli Funktionsbeschreibungen
ptr_ref = ptr[i]; switch (ptr_ref->obj_type) { case DV: type = "device"; break; case DG: type = "device group"; break; case FL: type = "filter"; break; case FM: type = "form"; break; case FT: type = "font"; break; case GW: type = "gateway"; break; case HO: type = "host"; break; case JT: type = "job template"; break; case PL: type = "PCL"; break; case PN: type = "permission"; break; case RR: type = "recovery rule"; break; case SP: type = "supervisor"; break; case SV: type = "server"; break; case US: type = "user"; break; } printf("%s of type %s \n", ptr_ref->obj_name, type);} }
/* Release the allocated memory */ /*------------------------------*/ release_cli((char *)return_list);}
78 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen sta_all_cli
6.19 sta_all_cli – Objekt-Status ausgeben
Durch diese Funktion wird der Status von ein oder mehreren ausgewählten Objekten ausgegeben. Diese Funktion kann nur für die Objekte Drucker (DV), Druckergruppe (DG), Gateway (GW), Hostrechner (HO), Supervisor (SP), Server (SV) und Benutzer (US) angewandt werden.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 sta_all_cli (typ,obj,params,rc_tab)unsigned short typ;union Xp_object *obj;struct sta_all_params *params;struct disp_mdl **rc_tab;
wobei gilt:
typ ist der Bezeichner für den Objekttyp, dessen Status angezeigt werden soll. Als Bezeichner sind die Werte DV (Drucker), DG (Druckergruppe), GW (Gateway), HO (Host), SP (Supervisor), SV (Server) und US (Benutzer) zulässig.
obj ist ein Zeiger auf eine Struktur, die von Xp_alloc() als Auswahlstruktur bereitgestellt wird. Über diese Struktur werden die Objekte in der zentralen Datenbank ausgewählt, deren Status angezeigt werden soll. Die Struktur muß kompatibel zu dem bei typ angegebenen Objekttyp sein.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von sta_all_cli() zur Rückgabe der Adresse der Struktur disp_mdl benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die obj-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktionrelease_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
i
OSL-Xprint80A-API-De-02 79
sta_all_cli Funktionsbeschreibungen
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die für das betreffende, über die obj-Struktur ausgewählte Objekt ausgeführt wurde. Nach einer erfolgreichen Anforderung für ein Objekt wird das ret_code-Feld auf den Meldungsbezeichner OKAY ges-etzt. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt. Nach der erfolgreichen Ausführung dieser Funktion ist das Feld disp_obj ein Zeiger auf eine Struktur mit den Status-informationen für das betreffende ausgewählte Objekt. Der Typ der Struktur ist vom Objekt abhängig und entspricht dem Typ der Struktur für obj. Die Definitio-nen für diese Strukturen sind im Anhang abgedruckt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
Es wird der Status aller Drucker angezeigt (im Anzeigeformat SHORT).
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>
/* * Display the status of all devices (display short) * xpstat -dev */
main (argc, argv) int argc; char **argv;{ struct disp_mdl *ptr; /* result array */ union Xp_object *obj; /* select structure */ xp_int32 i,size; char state[80]; /* Allocate a select structure and build the selection criteria */ /*-------------------------------------------------------*/ obj = (union Xp_object *) Xp_alloc(DV,SEL_OR_MOD);
/* Call Xprint to get device status */
80 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen sta_all_cli
/*----------------------------------*/ size = sta_all_cli(DV,obj,NULL,&ptr);
/* Display the results */ /*---------------------*/ printf("Name Waiting jobs Active job State\n"); printf("---- ------------ ---------- -----\n");
for (i=0; i<size; i++) { if ((ptr[i].diag.ret_code) == OKAY) { switch (((struct sta_dv_ext*)(ptr[i].disp_obj)) ->dv_state) { case ST_ACTIVE: sprintf(state,"ACTIVE"); break; case ST_DEVICE_ERROR: sprintf(state,"DEVICE_ERROR (%s)", ((struct sta_dv_ext*)(ptr[i].disp_obj)) ->error_msg); break; default: sprintf(state,"NOT_ACTIVE"); break; }
printf("%-14.14s %4.4d %-14.14s %s \n", ((struct sta_dv_ext*)(ptr[i].disp_obj))->dv_name, ((struct sta_dv_ext*)(ptr[i].disp_obj)) ->dv_waiting_jobs, ((struct sta_dv_ext*)(ptr[i].disp_obj)) ->dv_act_jid, state);} else printf("%s",ptr[i].diag.msg); } /* Release the allocated memory */ /*------------------------------*/ release_cli( (char *) ptr); Xp_free(obj);}
OSL-Xprint80A-API-De-02 81
sta_job_cli Funktionsbeschreibungen
6.20 sta_job_cli – Auftrags-Status ausgeben
Durch diese Funktion wird der Status von einem oder mehreren ausgewählten Aufträgen ausgegeben.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 sta_job_cli (job,params,rc_tab)struct Xp_job *job;struct sta_job_params *params;struct disp_mdl **rc_tab;
wobei gilt:
job ist ein Zeiger auf eine Xp_job-Struktur, die von Xp_alloc() als Auswahl-struktur bereitgestellt wird. Über diese Struktur werden die Aufträge in der Xprint-Warteschlange ausgewählt, deren Status angezeigt werden soll. Informationen über die Benutzung von Auswahlstrukturen finden Sie im Kapitel „Die Objekte und Datenstrukturen der Xprint API“.
params wird in Xprint derzeit nicht benutzt und sollte auf den NULL-Zeiger gesetzt werden.
rc_tab wird von sta_job_cli() zur Rückgabe der Adresse der Struktur disp_mdl benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jedes Objekt, das durch die job-Struktur ausgewählt wurde.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus.
In der rc_tab-Struktur zeigt jedes Element ihres Arrays den Erfolg bzw. das Fehlschlagen der Funktion an, die auf den betreffenden, über die job-Struktur ausgewählten Auftrag ausgeführt wurde. Nach einer erfolgreichen Anforderung eines Auftrags wird das ret_code-Feld auf den Meldungsbezeichner OKAY ges-etzt. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
i
82 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen sta_job_cli
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
Es wird der Status von gewählten Aufträgen angezeigt:
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>
/* *Display the status of a set of jobs generated by ’application’ * xpstat -job */
main (argc, argv) int argc; char **argv;{ struct disp_mdl *ptr; /* result array */ struct Xp_job *job; /* select structure */ struct sta_job_params *mod; /* parameters -di */ xp_int32 i,size; /* Allocate a select structure and build the selection criteria */ /*------------------------------------------------------- */ job = (struct Xp_job *) Xp_alloc(JO,SEL_OR_MOD); job->jo_info.j_comment = "application";
/* Allocate a structure for the parameters of xpstat -job *//*-------------------------------------------------------*/
mod = (struct sta_job_params *) Xp_alloc(STA_JOB_PARAMS,NULL);
/* Call Xprint to get job status */ /*---------------------------------------*/ size = sta_job_cli(job,mod,&ptr); /* Display the results */ /*---------------------*/ for (i=0; i<size; i++) { if ((ptr[i].diag.ret_code) == OKAY) { printf("LOCAL JOB ID.: %d \n",
OSL-Xprint80A-API-De-02 83
sta_job_cli Funktionsbeschreibungen
((struct sta_jo_ext*)(ptr[i].disp_obj))->lcl_jid); printf("Global job id.: %s \n", ((struct sta_jo_ext*)(ptr[i].disp_obj))->glb_jid); printf("State: %d \n", ((struct sta_jo_ext*)(ptr[i].disp_obj))->state); printf("State information: %s \n", ((struct sta_jo_ext*)(ptr[i].disp_obj)) ->state_info_msg); printf("Destination: %s \n", ((struct sta_jo_ext*)(ptr[i].disp_obj))->dv_name); printf("Rank: %d \n", ((struct sta_jo_ext*)(ptr[i].disp_obj))->rank); printf("Requested copies: %d \n", ((struct sta_jo_ext*)(ptr[i].disp_obj)) ->rq_copies); printf("Copies printed: %d \n", ((struct sta_jo_ext*)(ptr[i].disp_obj)) ->pr_copies); printf("%% already printed: %d \n", ((struct sta_jo_ext*)(ptr[i].disp_obj)) ->pr_percent); printf("\n"); } else printf("%s",ptr[i].diag.msg); }
/* Release the allocated memory */ /*------------------------------*/ release_cli((char *)ptr); Xp_free(job); Xp_free(mod);}
84 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen Xp_alloc
6.21 Xp_alloc – Speicher für Struktur reservieren
Durch diese Funktion wird Speicher für Strukturen bereitgestellt, die durch die Anwendung als Funktionsparameter an Xprint übergeben werden müssen. Durch diese Funktion müssen alle Strukturen dieser Art bereitgestellt werden. Die bereitgestellten Strukturen werden durch Xprint als leer bzw. als nicht mod-ifiziert initialisiert (je nach vorgesehener Anwendung).
Sämtlicher mit Xp_alloc() bereitgestellter Speicher muß mit der Funktion Xp_free() freigegeben werden.
Syntax
#include <xprint.h>#include <client.h>
void *Xp_alloc(typ,act)unsigned short typ;unsigned short act;
wobei gilt:
typ ist der Bezeichner für den Struktur- oder Objekttyp, für den Speicher bereitgestellt werden soll. Als Objekttyp sind zulässig: DV (Drucker), DG (Druckergruppe), FL (Filter), FT (Schrift), FM (Formular), GW (Gateway), HO (Host), JO (Auftrag), JT (Auftragsschablone), LR (Ladbare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regeln), SP (Supervi-sor), SV (Server) und US (Benutzer). Als Strukturtypen sind sämtliche in der Tabelle auf Seite 11 aufgeführten Strukturtypen zulässig, außerdem die Strukturtypen, die bei den param-Parametern der in diesem Kapitel beschriebenen Funktionen angegeben werden können. Die Bezeichner für die param-Strukturen finden Sie in der jeweiligen Funktionsbeschreibung in diesem Kapitel.
act gibt an, zu welchem Zweck die Struktur benutzt werden soll; Xprint ini-tialisiert die Struktur dann entsprechend. Bei act sind die Werte ADDITION (für Hinzufügestruktur) und SEL_OR_MOD (für Auswahl- oder Modifi-zierungsstruktur) zulässig. Informationen über die Benutzung von Hin-zufüge-, Modifizierungs- und Auswahlstrukturen finden Sie im Abschnitt „Objektstrukturen“ auf Seite 13.
Dieser Parameter wird im Zusammenhang mit einer params-Struktur ignoriert.
i
i
OSL-Xprint80A-API-De-02 85
Xp_clean Funktionsbeschreibungen
Rückkehrwerte
Die Funktion Xp_alloc() gibt die Adresse des Speichers aus, der für die Struktur bereitgestellt wird. Die bereitgestellte Struktur wird für Hinzufügestrukturen mit leer initialisiert und für Auswahl- und Modifizierungsstrukturen mit nicht modifi-ziert. params-Strukturen werden in jedem Fall durchgehend mit binär "Null" ini-tialisiert.
Fehler
Xp_alloc() gibt in folgenden Fällen einen NULL-Zeiger aus:
– Der angeforderte typ ist ungültig.
– Xprint kann keinen Speicher für die Struktur bereitstellen.
6.22 Xp_clean – Struktur löschen
Durch diese Funktion wird eine Struktur gelöscht, die zuvor mit der Funktion Xp_alloc() bereitgestellt wurde.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 Xp_clean(typ,act,ptr)unsigned short typ;unsigned short act;void *ptr;
wobei gilt:
typ ist der Bezeichner für den Typ der zu löschenden Struktur und muß mit dem Typ der ursprünglich bereitgestellten Struktur übereinstimmen. Mögli-che Typen sind: DV (Drucker), DG (Druckergruppe), FL (Filter), FM (Formu-lar), FT (Font), GW (Gateway), HO (Host), JO (Auftrag), JT (Auftragsschab-lone), LR (Ladbare Ressource), PL (PCL), PN (Berechtigungsliste), RR (Recovery-Regel), SP (Supervisor), SV (Server), SY (System) und US (Benutzer). Weitere Informationen zum Thema Strukturtypen finden Sie unter der Beschreibung der Funktion Xp_alloc().
86 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen Xp_clean
act gibt an, zu welchem Zweck die Struktur benutzt werden soll; Xprint ini-tialisiert die Struktur dann entsprechend. Bei act sind die Werte ADDITION (für Hinzufügestruktur) und SEL_OR_MOD (für Auswahl- oder Modifi-zierungsstruktur) zulässig.
ptr ist der Zeiger auf die Struktur, auf die die Funktion clean angewandt wer-den soll. Dieser Zeiger muß ursprünglich durch die Funktion Xp_alloc() eingerichtet worden sein.
Rückkehrwerte
Xp_clean() kehrt zurück, wenn keine Probleme aufgetreten sind.
Die bereitgestellte Struktur wird für Hinzufügestrukturen als leer und für Auswahl- und Modifizierungsstrukturen als nicht modifiziert initialisiert.
Fehler
Xp_clean() gibt in folgenden Fällen den Wert 0 zurück: Der Zeiger hat den Wert NULL oder der bei typ angegebene Parameter ist ungültig.
Der Speicherbereich der Struktur bleibt bereitgestellt.
Beispiel
In diesem Beispiel wird der Konfiguration zunächst ein Formular hinzugefügt, dann die Struktur gelöscht und schließlich ein zweites Formular hinzugefügt.
#include <xprint.h>#include <client.h>
main(){ struct Xp_formular *frm; /* add structure */ struct struct_ret_code *rc_tab; /* result array*/ xp_int32 rc_num,i; /* allocate add structure */ /*--------------------------------------------*/ frm = (struct Xp_formular *) Xp_alloc(FM,ADDITION); frm->fm_name = "f1"; frm->frm_dft_font = "font2"; /* Call Xprint for adding first form. Display result*/ /*-----------------------------------------------------*/ rc_num = add_all_cli(FM,frm,NULL,&rc_tab); for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg);
i
OSL-Xprint80A-API-De-02 87
Xp_free Funktionsbeschreibungen
printf("corresponding return code : %d\n",rc_tab[i].ret_code);
} /* Release allocated memory */ /*------------------------------*/ release_cli(rc_tab); /* Clean and reuse add structure */ /*-------------------------------------------*/ Xp_clean(FM,ADDITION,frm); frm->frm_name = "f2"; frm->frm_comment[1] = "my special form"; /* Call Xprint for adding a second form. Display result*/ /*-----------------------------------------------------*/ rc_num = add_all_cli(FM,frm,NULL,&rc_tab); for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code :
%d\n",rc_tab[i].ret_code); } /* Release allocated memory */ /*------------------------------*/ release_cli(rc_tab); Xp_free(frm);}
6.23 Xp_free – Speicher für Struktur freigeben
Durch diese Funktion wird der Speicherbereich freigegeben, der zuvor durch die Funktion Xp_alloc() für eine Struktur bereitgestellt wurde.
Syntax
#include <xprint.h>
void Xp_free(ptr)void *ptr;
wobei gilt:
ptr ist ein Zeiger auf eine Struktur (einen Speicherbereich), die zuvor durch die Funktion Xp_alloc() bereitgestellt wurde.
Rückkehrwerte
Xp_free() gibt keine Rückkehrwerte aus.
88 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen xpstart_cli
Fehler
Xp_free() gibt keine Fehler aus.
Wird bei ptr ein ungültiger Wert angegeben, so ist das Ergebnis der Funktion undefiniert.
6.24 xpstart_cli – Xprint starten
Durch diese Funktion wird Xprint auf dem lokalen Hostrechner gestartet.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 xpstart_cli (params,rc_tab)struct xpstart_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
params ist ein Zeiger auf die Struktur xpstart_params, über die der Modus zur System-Aktivierung (COLD oder WARM) angegeben wird.
rc_tab wird von xpstart_cli() zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktion release_cli() freigeben.
Die Struktur xpstart_params hat nachfolgend dargestellte Definition.
Identifier: XPSTART_PARAMS
struct xpstart_params { string version; /* filled by Xp_alloc() */ boolean force_version /* xpstart -fv */ v_start activation; /* xpstart -sa */ };
Diese Struktur wird folgendermaßen benutzt:
i
i
OSL-Xprint80A-API-De-02 89
xpstart_cli Funktionsbeschreibungen
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus. Im Falle der automatischen Aktivierung von Druckern, Supervisor-Objek-ten und Servern können im Array rc_tab mehrere Elemente enthalten sein.
Die rc_tab-Struktur zeigt den Erfolg oder das Fehlschlagen der Funktion an. Nach einer erfolgreichen Durchführung der Funktion wird ret_code auf CL_SETAVAIL gesetzt und das Feld msg erhält die Meldung, daß Xprint aktiviert wurde bzw. weiterhin aktiv ist. Diesem Array-Element können weitere Elemente folgen, die eine automatische Aktivierung von Servern (CL_SVACT, “Server <server> wird aktiviert“), Supervisor-Objekten (CL_SPACT, “Supervisor <super-visor> wird aktiviert“), Druckern (CL_DVACT, “Drucker <drucker> wird aktiviert“) und Gateways (CL_GWACT, “Gateway <gateway> wird aktiviert“) definieren. Jeder andere Wert in ret_code ist ein Fehlermeldungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt.
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
Xprint wird auf dem lokalen System gestartet; der Start ist vom Typ WARM.
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>
/* * start up the spooler system on the local host. The type of * startup is WARM. * xpstart */
main (argc, argv) int argc;
Feld Gesetzt auf Kommentare
activation XP_COLD oder XP_WARM
Starten im Modus WARM bzw. COLD
90 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen xpstop_cli
char **argv;{
static struct xpstart_params params; struct struct_ret_code *rc_tab; xp_int32 i,rc_num; params.activation = XP_WARM;
rc_num = xpstart_cli(¶ms,&rc_tab); for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); } release_cli( (char *) rc_tab);}
6.25 xpstop_cli – Xprint beenden
Durch diese Funktion wird angefordert, daß Xprint auf einer Reihe von Hos-trechnern deaktiviert wird.
Syntax
#include <xprint.h>#include <client.h>
xp_int32 xpstop_cli (params,rc_tab)struct xpstop_params *params;struct struct_ret_code **rc_tab;
wobei gilt:
params ist ein Zeiger auf die Struktur xpstop_params, über die die Hostrech-ner ausgewählt werden, auf denen Xprint deaktiviert werden soll (weitere Informationen siehe unten).
rc_tab wird von xpstop()_cli zur Rückgabe der Adresse der Struktur struct_ret_code benutzt. Diese Array-Struktur wird von Xprint bereitgestellt und enthält exakt ein Element für jeden Hostrechner, der bei params aufge-führt ist.
Der aufrufende Code muß die rc_tab-Struktur mit Hilfe der Funktionrelease_cli() freigeben.
Die Struktur xpstop_params ist folgendermaßen einzurichten:
i
OSL-Xprint80A-API-De-02 91
xpstop_cli Funktionsbeschreibungen
Identifier: XPSTOP_PARAMS
Rückkehrwerte
Die Funktion gibt als Rückkehrwert die Anzahl der Elemente im Array rc_tab aus. Dieser Wert entspricht der Anzahl der Hostrechner beim Parameter par-ams.
Die rc_tab-Struktur zeigt den Erfolg bzw. das Fehlschlagen der Funktion für jeden Hostrechner an, indem die Felder ret_code und msg im zugehörigen Ele-ment gesetzt werden (der erste Hostrechner in der params-Liste entspricht dem ersten Element im Array rc_tab). Nach der erfolgreichen Ausführung der Funk-tion wird das Feld ret_code auf den Meldungsbezeichner CL_SETUNAVAIL und das Feld msg auf die zugehörige Meldung Xprint fuer <%.128s> auf NOT ACTIVE gesetzt oder gelassen gesetzt (wobei %.128s bereits durch den Hostnamen ersetzt wurde). Jeder andere Wert in ret_code ist ein Fehlermel-dungsbezeichner; msg wird auf die zugehörige Fehlermeldung gesetzt
Fehler
Als Fehler werden lediglich der Meldungsbezeichner sowie die in die rc_tab-Struktur eingefügte Fehlermeldung zurückgegeben.
Beispiel
Xprint wird am lokalen System gestoppt.
#include "sys/types.h"#include "stdio.h"
#include <xprint.h>#include <client.h>
/* * stop the spooler on the local host * xpstop */
main (argc, argv)
Feld Gesetzt auf Kommentare
host_list struct/*string*/sequence
Eine Folge von Zeichenketten zur Ang-abe der Hostrechner, auf denen Xprint deaktiviert werden soll.
92 OSL-Xprint80A-API-De-02
Funktionsbeschreibungen xpstop_cli
int argc; char **argv;{ static struct xpstop_params params; struct struct_ret_code *rc_tab; xp_int32 i,rc_num;
rc_num = xpstop_cli(¶ms,&rc_tab); for (i=0; i<rc_num; i++) { printf("%s",rc_tab[i].msg); printf("corresponding return code : %d\n",
rc_tab[i].ret_code); } }
OSL-Xprint80A-API-De-02 93
7 Serielle Zugriffskontrolle bei Druckern
Serielle Zugriffskontrolle bei Druckern ist eine Möglichkeit, Konflikte zwischen Xprint und anderen Anwendungen zu vermeiden, die denselben Drucker ver-wenden. Die Funktion acquire_dev ermöglicht es Xprint, eine Verbindung zu einer physikalischen Schnittstelle aufzubauen und diese zu ‘reservieren’ oder zu ‘sperren’. Dadurch können andere Anwendungen solange nicht mehr auf diese Schnittstelle zugreifen, bis Xprint sie wieder freigibt. Die Funktion release_dev beendet die Verbindung zu der Schnittstelle wieder und gibt sie für andere Anwendungen frei.
Diese Funktionen stehen auch anderen Anwendungen zur Verfügung. Wenn eine Anwendung eine Schnittstelle mit der Funktion acquire_dev reserviert, kann Xprint die Schnittstelle nicht benutzen, bis die Anwendung sie mit release_dev wieder freigibt.
Mit diesen Funktionen wird also verhindert, daß mehrere Druckaufträge gleichzeitig an einen Drucker gesendet werden.
7.1 acquire_dev( ) – Geräteschnittstelle öffnen
Diese Funktion öffnet und reserviert eine physikalische Schnittstelle.
Syntax
#include <xprint.h>
int acquire_dev (dev, lpid, timeout)struct ECM_printer *dev;int *lpid;long timeout:
Dabei gilt:
dev ist ein Zeiger auf die Struktur ECM_printer, deren Inhalt für den Zugriff auf die angegebene Geräteschnittstelle benutzt wird. Diese Struktur muß mit der Funktion Xp_alloc bereitgestellt werden. Folgende Felder müssen ges-etzt werden:
string dv_add; /* dev -da */u_short dv_connect_type; /* dev -co XP_SERIAL */
/* XP_PARALLEL */
OSL-Xprint80A-API-De-02 95
acquire_dev() Serielle Zugriffskontrolle bei Druckern
/* XP_SCSI *//* XP_LAN */
string dv_tac_add; /* lan address, only with XP_LAN */u_short dv_tac_port; /* port number, only with XP_LAN */
lpid ist ein Zeiger auf eine Ganzzahl und enthält, falls das Gerät schon ges-perrt ist, den Bezeichner für den das Gerät sperrenden Prozeß.
timeout gibt an, wie lange das Öffnen der Geräteschnittstelle maximal dau-ern darf. Ist dieser Parameter nicht angegeben, ist der Verbindungsaufbau zum Gerät zeitlich nicht beschränkt.
Rückgabewerte
Bei erfolgreichem Öffnen der Geräteschnittstelle liefert die Funktion den Datei-deskriptor der Geräteschnittstelle zurück. Ansonsten wird ein negativer Wert zurückgegeben, der angibt, daß der Systemaufruf fehlgeschlagen ist. Siehe dazu die folgende Tabelle:
Der Grund für das Fehlschlagen des Systemaufrufs ist außerdem aus der Sys-temvariablen errno ersichtlich.
Gibt die Funktion den Wert -3 (fcntl) zurück und errno ist auf EACCES (Berechtigung verweigert) gesetzt, so enthält die Variable, auf die lpid zeigt, den Bezeichner für den sperrenden Prozeß. Ansonsten enthält sie den Wert 0. Diese Situation ist nur bei direkt angeschlossenen Druckern möglich, d.h. nicht bei Druckern, die über ein lokales Netzwerk angeschlossen sind.
Wert Systemaufruf
-1 open
-2 close
-3 fcntl
-4 gethostbyname
-5 socket
-6 setsockopt
-7 connect
-8 alarm
96 OSL-Xprint80A-API-De-02
Serielle Zugriffskontrolle bei Druckern acquire_dev()
Fehler
Die Funktion acquire_dev( ) schlägt fehl, wenn einer der Systemaufrufe fehlschlägt.
Beispiele
Ein detailliertes Beispiel finden Sie im Abschnitt „release_dev( ) – Geräte-schnittstelle freigeben“.
Anwendungshinweise
Diese Funktion startet eine einmalige Operation, d.h. es findet im Fehlerfall kein erneuter Versuch statt.
Bei direkt angeschlossenen Druckern (d.h. nicht bei LAN-Druckern), sorgt Xprint dafür, daß diese Funktion nicht länger als zwei Sekunden dauert. Bei LAN-Druckern kann Xprint dies nicht garantieren, da dadurch die Netzwerkrou-tinen gestört werden könnten.
Diese Funktion kann auch aufgerufen werden, wenn Xprint den Status NOT_ACTIVE aufweist.
Bei einem direkt angeschlossenen Drucker (SERIAL, PARALLEL oder SCSI) bie-tet diese Funktion vollen Schutz vor gleichzeitigem Mehrfachzugriff durch Xprint. Bei Druckern, die über ein lokales Netzwerk angeschlossen sind, ist diese Situation nicht vollständig abgesichert: falls die Verbindung ausfällt (Netzwerkproblem, ein Reset des Terminal-Servers etc.), geht die Schnittstel-lensperre verloren und die Funktion muß erneut aufgerufen werden.
Für IOCS-Druckerschnittstellen kann diese Funktion nicht benutzt werden, da die Systemaufrufe zum Öffnen und Sperren an die Druckerschnittstelle nicht von Xprint, sondern von der IOCS-Komponente selbst kommen. IOCS bietet jedoch ähnliche Funktionen.
Bei einem aktiven Xprint könnte die Struktur ECM_printer auch über die Xprint-System APIs initialisiert werden – siehe die Xprint API shw_all_cli( ).
OSL-Xprint80A-API-De-02 97
release_dev() Serielle Zugriffskontrolle bei Druckern
7.2 release_dev( ) – Geräteschnittstelle freigeben
Diese Funktion gibt eine physikalische Geräteschnittstelle frei und beendet die Verbindung zu ihr.
Syntax
int release_dev (dev, file_desc, timeout)struct ECM_printer *dev;int file_desc;long timeout:
Dabei gilt:
release_dev( ) gibt die Geräteschnittstelle frei, die zuvor mit acquire_dev() reserviert wurde, und beendet die Verbindung zu ihr.
dev ist ein Zeiger auf die Struktur ECM_printer. Diese Struktur wurde belegt, bevor die Funktion acquire_dev( ) aufgerufen wurde.
file_desc ist eine Ganzzahl und enthält den Dateideskriptor der Geräte-schnittstelle, der vom Systemaufruf acquire_dev( ) zurückgeliefert wurde.
timeout gibt an, wiel lange das Freigeben des Geräts maximal dauern darf. Wird dieser Parameter nicht angegeben, so ist die Freigabe zeitlich nicht beschränkt.
Rückkehrwerte
Bei erfolgreicher Ausführung liefert diese Funktion den Wert 0 zurück. Im Feh-lerfall gibt sie einen negativen Wert zurück. Dieser negative Wert gibt den fehl-geschlagenen Systemaufruf an (siehe folgende Tabelle). Der Grund für das Fehlschlagen des Aufrufs ist aus der Systemvariablen errno ersichtlich:
Wert Systemaufruf
-1 open
-2 close
-3 fcntl
-4 gethostbyname
-5 socket
98 OSL-Xprint80A-API-De-02
Serielle Zugriffskontrolle bei Druckern release_dev()
Fehler
Wenn einer der Systemaufrufe fehlschlägt, schlägt auch die Funktion release_dev( ) fehl.
Beispiele
#include <xprint.h>struct ECM_printer *dev;int file_desc;int rel_code;int lpid;
dev = (struct ECM_printer *) Xp_alloc (DV, ADDITION);dev->dv_connect_type = XP_SERIAL; dev->dv_connect_type = XP_LAN;dev->dv_add = “/dev/term/ser0”; OR dev->dv_add = “d241w010 9100”;
dev->dv_tac_add = “d241w010”;dev->dv_tac_port = 9100;
file_desc = acquire_dev (dev, &lpid, 0L);
if (file_desc < 0) { printf (“Error: system call %d, errno %d, locking pid%d.\n”,file_desc, errno, lpid);}else { write (file_desc, ..., ...); read (file_desc, ..., ...); . . rel_code = release_dev (dev, file_desc, 0L); if (rel_code < 0) { printf (“Error: system call %d, errno %d.\n”, rel_code, errno); } else { printf (“Normal end.\n”);
-6 setsockopt
-7 connect
-8 alarm
Wert Systemaufruf
OSL-Xprint80A-API-De-02 99
}}Xp_free (dev);
Anwendungshinweise
Diese Funktion kann auch aufgerufen werden, wenn Xprint den Status NOT_ACTIVE aufweist.
8 AnhangDieser Anhang besteht aus mehreren Hauptabschnitten. In den ersten beiden Abschnitten, „Die Datei client.h“ und „Die Datei xprint.h“, sind die Definitionen von Makros (Präprozessor-Konstanten) und Datenstrukturen aus den Include-Dateien client.h und xprint.h abgedruckt, die direkt durch Anwendung-sprogramme genutzt werden. Darauf folgt ein Abschnitt „xp-Kommandos und zugehörige Strukturen“, in dem für die verschiedenen möglichen Optionen der einzelnen Xprint-Kommandos angegeben wird, welche Strukturen bzw. Struk-tur-Elemente bei den entsprechenden API-Funktionen anzugeben sind. Im letz-ten Abschnitt „Liste der Meldungen“ ist eine vollständige Auflistung der Fehler-meldungen, Warnhinweise und zur Information ausgegebenen Meldungen von Xprint V8.0 enthalten. Die Meldungen sind auch im Handbuch „Xprint V8.0 - Referenzhandbuch“ aufgeführt; zusätzlich finden Sie dort Hinweise zur Behe-bung von Fehlerbedingungen.
Die Datei client.h
Die Datei /var/spool/Xprint/config/include/client.h enthält die Def-inition verschiedener Präprozessor-Konstanten und Xprint-Datenstrukturen.
Definitionen
/* constants for XPSHOW #2 and XPSTAT #2 *//*---------------------------------------*/#define SHORT_DISPLAY 1#define LONG_DISPLAY 2
#define HIERARCHY 3 /* only for xpshow -hos */#define REFERENCED_BY 4/* only for xpshow #2 */
/* constants for xpstat -dev -ep #3 *//*----------------------------------*/#defineENABLE_POLLING '\001'
/* constants for Xp_alloc and Xp_clean *//*-------------------------------------*/#define ADDITION 1#define SEL_OR_MOD 2
/* message codes for the client *//*------------------------------*/
/*** Special values for result of show and stat ***/#define OKAY 0
#define NOT_OKAY -1
OSL-Xprint80A-API-De-02 101
Die Datei client.h Anhang
Es folgen noch weitere Definitionen, die für verschiedene Ergebnisse der API-Funktionen stehen (siehe auch Abschnitt „Liste der Meldungen“).
Ergebnisstrukturen
ret_code
struct struct_ret_code { /* #2*/xp_int16 ret_code; /* #2*/xp_int16 reserved; /* #2*/xp_string msg; /* #2*/
};
disp_mdl
struct disp_mdl { /* #2*/struct struct_ret_code diag;xp_int8 *disp_obj; /* ptr to union Xp_shw or Xp_sta*/
};
Strukturen für die Referenzanzeige
shw_ref_by
struct shw_ref_by { /* #2*/struct struct_ret_code*diag;struct sequenceref_list; /* ref_by_obj */
};
ref_by_obj
struct ref_by_obj { /* #2 */xp_string obj_name;struct shw_ref_by *sub_ref_list;xp_uint16 obj_type;xp_uint16 level;
};
102 OSL-Xprint80A-API-De-02
Anhang Die Datei client.h
Ergebnisstrukturen für Xpstat
sta_dv_ext
Über diese Struktur werden die Statusinformationen für einen bestimmten Drucker ausgegeben (Objekttyp: DV).
Zusätzliche Hinweise:struct sta_dv_ext { /* #2*/
xp_string dv_name; /* device's name */xp_int8 dv_state; /* chg -dev -st */xp_int8 dv_spoolin; /* chg -dev -si */xp_int8 dv_spoolout; /* chg -dev -so */xp_int8 dv_when_tbd; /* chg -dev -wn */xp_string dv_sta_cm; /* chg -dev -ju */xp_string dv_redirect; /* #2 chg -dev -rd */xp_string error_msg; /* error msg if state = *//* DEVICE_ERROR */xp_string dv_sta_date; /* date of last change */xp_int32 dv_waiting_jobs;/* number of waiting jobs */xp_uint32 ds_t2print; /* #5 time for printing the job*/xp_uint32 ds_prtpag; /* #5 nbr of pages printed*/xp_string dv_cur_form; /* mounted manual form */xp_string dv_act_jid; /* active job id */xp_uint16 dv_priority; /* chg -dev -pr */PADDING(2);
};
sta_dg_ext
Über diese Struktur werden die Statusinformationen für eine bestimmte Drukkergruppe (Objekttyp: DG) ausgegeben. struct sta_dg_ext { /* #2*/
xp_string dg_name; /* dgroup's name */xp_string dg_sta_cm; /* chg -dgr -ju */xp_string dg_sta_date; /* date of last change -dgr */xp_int8 dg_spoolin; /* chg -dgr -si */PADDING(3);
};
sta_gw_ext
Über diese Struktur werden die Statusinformationen für ein bestimmtes Gate-way (Objekttyp: GW) ausgegeben. struct sta_gw_ext { /* #2*/xp_stringgw_name;/* gateway's name */
xp_string gw_sta_cm; /* chg gtw -ju*/
Feld Gesetzt auf
dv_state ST_ACTIVE, ST_NOT_ACTIVE oder ST_DEVICE_ERROR
dv_spoolin und dv_spoolout ST_ON oder ST_OFF
OSL-Xprint80A-API-De-02 103
Die Datei client.h Anhang
xp_string gw_sta_date; /* date of last change */xp_uint32 gw_sta_ndate; /* date of last change num*/xp_int8 gw_state; /* state -st*/xp_int8 gw_in; /* gtw -gi*/xp_int8 gw_out; /* gtw -go*/PADDING(1);
};
Zusätzliche Hinweise:
sta_jo_ext
Über diese Struktur werden die Statusinformationen für einen bestimmten Auftrag (Objekttyp: JO) ausgegeben. struct sta_jo_ext { /* #2*/
xp_string glb_jid; /* global jid (<SV>:<number>) */xp_string glb_title; /* global jid (<SV>:<job_title>)*/xp_string dv_name; /* device the job is on */xp_string error_msg; /* error msg if state = */
/*DEVICE_ERROR */xp_string state_info_key;/* #2 key of state info message */xp_string state_info_msg;/* #2 self explanatory message */xp_string localjid2; /* #6 local job alias */
/* NEW STAT FIELDS */xp_string sub_devname; /* #5 given destination -de */xp_string form; /* #5 given form -fm*/xp_string doc_host; /* #5 host on which reside the
document(s) */xp_string comment; /* #5 job comment -jc*/xp_string recipient; /* #5 job delivery from ext
JRECIPIENT_MAGIC */xp_string originator; /* #5 job originator*/xp_string doc_flt_hos; /* #5 filter doc host*/xp_strsq doc_flt_ref; /* #5 filters documents*/xp_string jobname; /* #6 jobname from ext JNAME_MAGIC*/xp_string jid_split_jid; /* #6 group_id (split)*/xp_string jid_multipr_jid;/* #6 group_id (multipr.)*/
/* end NEW STAT */ xp_strsq prc_flt_applied;/* #5 filters applied*/
/* NEW STAT FIELDS *//* time */xp_uint32 t_submission; /* #5job submission time (from client)*/xp_uint32 t_completion; /* #5job completion time (from server)
*/xp_uint32 t_retention; /* #5job retention time-rt*/xp_uint32 t_after; /* #5job after time -at*//* print size */xp_uint32 doc_size; /* #5total size to be printed (in bytes)
*/xp_uint32 doc_pages; /* #5total pages to be printed*//* */xp_uint32 rank; /* #6 rank > 32000*/xp_uint16 priority; /* #5 job priority-pr*/xp_uint16 fm_mount; /* #5 form mounting (MANUAL/AUTOMATIC*/
/* end NEW STAT*/xp_uint16 oldrank; /* job rank in the queue */
Feld Gesetzt auf
gw_state ST_ACTIVE oder ST_NOT_ACTIVE
gw_in und gw_out ST_ON oder ST_OFF
104 OSL-Xprint80A-API-De-02
Anhang Die Datei client.h
xp_uint16 rq_copies; /* add -job -cp */xp_uint16 pr_copies; /* already printed copies */xp_uint16 pr_percent; /* percentage already printed */xp_int16 cl_jid; /* local jid */xp_int8 state; /* chg -job -st */PADDING(1);xp_string last_pr_doc_name;/* #3 last printed document */xp_uint32 last_pr_page; /* #3 last printed page */xp_uint32 last_pr_doc_position;/* #3 position of last document */xp_int8 substate; /* #3 job substate (IN_DEL...) */PADDING_3(3); /* #3 */ };};
Zusätzliche Hinweise:
Die lokalen und globalen Auftragsbezeichner werden im Kapitel „Drucken mit der Kommando-Schnittstelle“ des Handbuchs „Xprint V8.0 - Leitfaden für Benutzer und Verwalter“ beschrieben.
sta_sv_ext
Über diese Struktur werden die Statusinformationen für einen bestimmten Server ausgegeben (Objekttyp: SV). struct sta_sv_ext { /* #2*/
xp_string sv_name; /* server's name */xp_int8 sv_state; /* chg -srv -st */xp_int8 sv_spoolin; /* chg -srv -si */xp_int8 sv_spoolout; /* chg -srv -so */xp_int8 sv_whn_tbd; /* unused */ xp_uint16 sv_load_level; /* load level [0-100] */PADDING (2);xp_int32 sv_jbmax; /* max. nbr. of jobs */xp_int32 sv_waiting_jobs;/* number of waiting jobs */xp_string sv_sta_date; /* #4 date of last change */xp_string sv_sta_cm; /* #4 justification*/xp_uint32 sv_sta_ndate; /* #4 date of last change (num) */
};
Feld Gesetzt auf
jo_state ST_ACTIVE, ST_WAIT, ST_SUSPEND, ST_TOP, ST_DATA_FILTERING, ST_FILE_TRANSF, ST_DEVICE_ERROR, ST_TERMINATED oder ST_INTERRUPTED, ST_WAITING_FOR_NP oder ST_SCHEDULED
OSL-Xprint80A-API-De-02 105
Die Datei client.h Anhang
Zusätzliche Hinweise:
sta_sp_ext
Über diese Struktur werden die Statusinformationen für einen bestimmten Supervisor (Objekttyp: SP) ausgegeben. struct sta_sp_ext {/* #2*/struct sta_sp_ext { /* #2*/
xp_string sp_name; /* supervisor's name */xp_int8 sp_state; /* chg -spv -st */PADDING(3);xp_string sp_sta_date; /* #4 date of last change */xp_string sp_sta_cm; /* #4 justification*/xp_uint32 sp_sta_ndate; /* #4 date of last change (num) */
};
Zusätzlicher Hinweis:
sta_ho_ext
Über diese Struktur werden die Statusinformationen für einen bestimmten Hos-trechner (Objekttyp: HO) ausgegeben. struct sta_ho_ext { /* #2*/
xp_string ho_name; /* host's name */xp_string ho_product; /* #2 spooler product */xp_string ho_spooler_version; /* #2 spooler xp_version*/xp_int8 ho_state; /* host's state */PADDING(3);xp_string ho_sta_date; /* #4 date of last change */xp_string ho_sta_cm; /* #4 justification*/xp_uint32 ho_sta_ndate; /* #4 date of last change (num) */
};
Feld Gesetzt auf
sv_state ST_ACTIVE oder ST_NOT_ACTIVE
sv_spoolin und sv_spoolout ST_ON oder ST_OFF
Feld Gesetzt auf
sp_state CH_ACTIVE oder CH_NOT_ACTIVE
106 OSL-Xprint80A-API-De-02
Anhang Die Datei client.h
Zusätzlicher Hinweis:
sta_us_ext
Über diese Struktur werden die Statusinformationen für einen bestimmten Benutzer (Objekttyp: US) ausgegeben. struct sta_us_ext { /* #2*/
xp_string sc_usr_name; /* user's name */xp_int32 sc_pages_allowed; /* usr -ap */xp_int32 sc_cons_pages; /* already consumed pages */xp_int32 sc_jobs_allowed; /* usr -aj */xp_int32 sc_cons_jobs; /* already consumed jobs */
};
Strukturen zur Parameterdefinition
add_all_params
struct add_all_params {/* #2 */xp_string version; /* filled by Xp_alloc()*/
};
add_job_params
struct add_job_params {/* #2 */xp_string version; /* filled by Xp_alloc()*/xp_string job_template;
};
chg_dev_params
struct chg_dev_params {/* #2 */xp_string version; /* filled by Xp_alloc()*/xp_string cur_form; /* xpchange -dev -mf form_name*/xp_string justification; /* xpchange -dev -ju*/xp_uint16 new_priority; /* xpchange -dev -pr*/xp_int8 change_type; /* (see manual)*/xp_int8 new_state; /* xpchange -dev -st*/xp_int8 new_spoolin; /* xpchange -dev -si*/xp_int8 new_spoolout; /* xpchange -dev -so*/xp_int8 when_tbd; /* xpchange -dev -wn*/xp_int8 form_manip; /* mount or unmount (see
manual)*/xp_string dv_redirect; /* xpchange-dev -rd #2*/xp_boolean no_redir_jobs; /* #4 xpchange -dev -is*/PADDING_4(2); /* #4 */};
Feld Gesetzt auf
ho_state ST_ACTIVE, ST_NOT_ACTIVE oder ST_ACTIVE_MASTER
OSL-Xprint80A-API-De-02 107
Die Datei client.h Anhang
/* constants for field change_type of structure chg_dev_params *//*-------------------------------------------------------------*/
#define CH_STATE 100#define CH_FORM 101
/* #defines for other values can be found in xprint.h include file */ */
chg_dgr_params
struct chg_dgr_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_string justification; /* xpchange -dgr -ju*/xp_int8 new_spoolin; /* xpchange -dgr -si*/PADDING (3);
};
chg_gtw_params
struct chg_gtw_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_string justification; /* xpchange -gtw -ju*/xp_int8 new_state; /* xpchange -gtw -st*/xp_int8 new_in; /* xpchange -gtw -gi*/xp_int8 new_out; /* xpchange -gtw -go*/xp_int8 when_tbd; /* xpchange -gtw -wn */xp_int8 activation; /* xpchange -gtw -sa */PADDING(3);
};
chg_job_params
struct chg_job_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_string page_select; /* xpchange -job -ps*/xp_string recover_page; /* #3 xpchange -job -rf*/xp_int8 new_state; /* xpchange -job -st*/xp_int8 wfsch_call; /* added flag to determine if
call is coming from WFSch (1) or not (-1) */PADDING (2); /* Changed padding from 3 to 2 (see above) */
};
chg_spv_params
struct chg_spv_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_string justification; /* #4 xpchange -spv -ju*/xp_int8 new_state; /* xpchange -spv -st*/xp_int8 when_tbd; /* unused*/PADDING(2);
};
chg_srv_params
struct chg_srv_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/
108 OSL-Xprint80A-API-De-02
Anhang Die Datei client.h
xp_string justification; /* #4 xpchange -srv -ju*/xp_int8 new_state; /* xpchange -srv -st*/xp_int8 new_spoolin; /* xpchange -srv -si*/xp_int8 new_spoolout; /* xpchange -srv -so*/xp_int8 when_tbd; /* unused*/xp_int8 activation; /* xpchange -srv -sa*/PADDING(3);
};
chg_usr_params
struct chg_usr_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_uint32 cons_pages; /* xpchange -usr -cp*/xp_uint32 cons_jobs; /* xpchange -usr -cj*/
};
cpy_all_params
struct cpy_all_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/
};
del_all_params
struct del_all_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/
};
del_job_params
struct del_job_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/
};
mod_all_params
struct mod_all_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/struct /*string*/ sequence host_lst; /* xpmod -usr -cl*/
};
mod_job_params
struct mod_job_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/
};
shw_all_params
struct shw_all_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_uint16 disp_mode; /* xpshow -di*/PADDING (2);
};
OSL-Xprint80A-API-De-02 109
Die Datei client.h Anhang
shw_job_params
struct shw_job_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_uint16 disp_mode; /* xpshow -job -di*/PADDING (2);
};
shw_ref_params
struct shw_ref_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/
};
sta_all_params
struct sta_all_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_uint16 disp_mode; /* xpstat -di .2*/xp_int8 dv_poll; /* xpstat -dev -ep*/PADDING (1);
};
sta_job_params
struct sta_job_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_uint16 disp_mode; /* xpstat -job -di .2*/PADDING (2);
};
xpstart_params
struct xpstart_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_boolean force_version; /* xpstart -fv*/xp_int8 activation; /* xpstart -sa*/PADDING (1);
};
xpstop_params
struct xpstop_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/struct /*string*/ sequence host_list; /* xpstop -ho*/xp_int8 when_tbd; /* unused */PADDING (3);
};
chg_dgr_params
struct chg_dgr_params { /* #2*/xp_string version; /* filled by Xp_alloc()*/xp_string justification;/* xpchange -dgr -ju*/xp_int8 new_spoolin; /* xpchange -dgr -si*/PADDING (3);
110 OSL-Xprint80A-API-De-02
Anhang Die Datei client.h
};
Union-Strukturen
Xp_sta
union Xp_sta { /* #2 */ struct sta_dv_ext dv; struct sta_dg_ext dg; struct sta_gw_ext gw; struct sta_jo_ext jo; struct sta_sp_ext sp; struct sta_sv_ext sv; struct sta_ho_ext ho; struct sta_us_ext us; };
Xp_params
union Xp_params { /* #2 */ struct add_all_params add_all; struct add_job_params add_job; struct chg_dev_params chg_dev; struct chg_dgr_params chg_dgr; struct chg_gtw_params chg_gtw; struct chg_job_params chg_job; struct chg_spv_params chg_spv; struct chg_srv_params chg_srv; struct xpstart_params xpstart; struct xpstop_params xpstop; struct chg_usr_params chg_usr; struct cpy_all_params cpy_all; struct del_all_params del_all; struct del_job_params del_job; struct mod_all_params mod_all; struct mod_job_params mod_job; struct shw_all_params shw_all; struct shw_job_params shw_job; struct shw_ref_params shw_ref; /* #2 */ struct sta_all_params sta_all; struct sta_job_params sta_job;
};
OSL-Xprint80A-API-De-02 111
Die Datei xprint.h Anhang
Die Datei xprint.h
Die Datei /var/spool/Xprint/config/include/xprint.h enthält die Konstanten- und Typdefinitionen für die verschiedenen Xprint-Objekte.
Allgemeine Konstanten und Datentypen
/* Boolean values */#define TRUE 1#define FALSE 0
#define DEF_PCL "GENERIC"#define DEF_FONT "GENERIC"#define DEF_FORM "GENERIC"#define DEF_TYPE_JO "COMPATIBLE"#define DEF_TYPE_DV "SIMPLE"
#define SYSTEM_OBJECT_NAME "System"
#ifndef MAXHOSTNAMELEN#define MAXHOSTNAMELEN 64#endif
#ifndef MAXPATHLEN#define MAXPATHLEN 256#endif
#ifndef MAXJOBLEN#define MAXJOBLEN 7#endif
#ifndef MAXLSTRLEN#define MAXLSTRLEN 12#endif
#ifndef PADDING#define PADDING(x) xp_v_short unused[x]#endif
#ifndef PADDING_3 /* padding for internal version #3 */#define PADDING_3(x) xp_v_short unused_3[x]#endif
#ifndef PADDING_4 /* padding for internal version #4 */#define PADDING_4(x) xp_v_short unused_4[x]#endif
#ifndef PADDING_5 /* padding for internal xp_version #5*/#define PADDING_5(x) xp_int8 unused_5[x]#endif
#ifndef PADDING_6 /* padding for internal xp_version #6*/#define PADDING_6(x) xp_int8 unused_6[x]#endif
#define XP_VERSION "1.2"
/* */
/* * Define XP_CODE_COMPAT to ensure source code compatibility. * Compile with -DXP_CODE_COMPAT in order to have the old definitions, * for instance the boolean definition. */#ifdef XP_CODE_COMPAT#define boolean xp_boolean#endif
112 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
typedef char* string;typedef char* version;typedef char* wcstring;
typedef short xp_enum_t /* enum value #4 */typedef long xp_time_t; /* time value */typedef char xp_v_short; /* binary value */typedef u_short boolean;typedef long r_long; /* relative long: when update of DB, */ /* there is accumulation of value */ /* instead of replacement */typedef struct sequence strsq; /* sequence of strings */typedef struct sequence wstrsq; /*sequence of strings (wild allowed) */typedef struct sequence vshsq; /* sequence of bytes (binary) */typedef struct sequence wvshsq; /* sequence of bytes (binary with wild) */typedef struct sequence chrsq; /* sequence of chars (character) */
/*
*/Verschiedene Definitionen
/**************************************************************//* The following syntax HAS TO BE USED : *//* define CC <number in ascending order> ... *//* ... <start of comment> struct <ident>*//* ... <end of comment> *//* Note : no space allowed when number is relative number *//* e.g. : define .... NEW+3 and not NEW + 3 *//**************************************************************//**************************************************************//**//* Beware that new fields may influence dependency tables*//* in objdep.c*//**/***************************************************************/
#define NOOBJ 0 /* not valid object type */#define SV 1 /* struct Xp_server server */#define SP 2 /* struct Xp_superv supervisor */#define SY 3 /* struct Xp_sys system */#define DV 4 /* struct ECM_printer device */#define DG 5 /* struct Xp_dgroup device group */#define FT 6 /* struct Xp_font font */#define FM 7 /* struct Xp_form form */#define PN 8 /* struct Xp_perm permission */#define US 9 /* struct ECM_security user */#define FL 10
OSL-Xprint80A-API-De-02 113
Die Datei xprint.h Anhang
/* struct Xp_filter filter */#define DA 11 /* struct Xp_daemon Xprintdaemon #mercator daemon*/#define PL 12 /* struct Xp_pcl #mercatorprt control lang*/#define RR 13 /* struct Xp_rec_rule #mercatorrecovery rule */#define HO 14 /* struct Xp_host #mercatorhost */#define JT 15 /* struct Xp_job_temp #mercatorjob template */#define CL 16 /* struct Xp_class class */#define LR 17 /* struct Xp_soft_load soft loadable */
#define DB_MAXT 18 /* Lowest impossible value for DB type */#define DB_EXT 100 /* DB : extension for new objects */#define DB_NMAX 110 /* DB : new maximum */
#define JO 18 /* struct Xp_job #mercator job */
/* start of P/L (entity_call) */
#define OBJ_MAXT 19 /* Lowest impossible value for obj type */
/* new objects (Spool 4.2) */
#define GW DB_EXT /* struct Xp_gateway gateway */
#define OD DB_EXT+1 /* struct Xp_objdesc tbd */
#define UM DB_EXT+2 /* struct usr_map */
#define CO DB_EXT+3 /* struct job_options */
#define DB_EXT_MAX (DB_EXT+4) /* Lowest impossible value for extension */
/**/
/*********************************/ /* definitions for object states */ /*********************************/
/* system, device, supervisor, server and job state *//* ------------------------------------------------ */
#define ST_NOT_ACTIVE '\000'#define ST_ACTIVE '\001'
/* additional state for system, supervisor and server *//* -------------------------------------------------- */
#define ST_SHUTDOWN '\002'/* */
/* additional state for system *//* --------------------------- */
#define ST_ACTIVE_MASTER '\003'
/* additional states for device and server *//* --------------------------------------- */
#define ST_OFF ST_NOT_ACTIVE#define ST_ON ST_ACTIVE
/* additional states for job *//* ------------------------- */
#define ST_WAIT '\002'
114 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
#define ST_SUSPEND '\003'#define ST_TOP '\004'#define ST_DATA_FILTERING \005'/* job waiting filter process end */#define ST_FILE_TRANSF '\010'#define ST_DEVICE_ERROR '\011'#define ST_TERMINATED '\012' /* job with retention period */#define ST_INTERRUPTED '\013' /* stopped by disabling spoolout */
#define ST_DELETE '\006 '/* INTERNAL USE ONLY */#define ST_INTERNAL_SUSP '\007 '/* " " */#define ST_FREE '\014 '/* " " */
/* CAUTION: ST_FREE does not mean that this value is free */
#define ST_WAITING_FOR_NP '\015' /* waiting for next page */#define ST_SCHEDULED '\016'#define ST_RECOG '\017 '/* job is under recognition*/#define ST_SUS_PREPROCESSING'\020'/* recog / data filter suspended*/
/* job substates #3 *//* ----------------- */
#define ST_IN_DELETE '\001'#define ST_IN_SUSPEND '\002'
/* disable spoolout: "when to be done" types *//* ----------------------------------------- */
#define WT_END '\001'#define WT_NOW '\002'#define WT_DELETE '\003'#define WT_LAST '\004'#define WT_DONE '\005'#define WT_MAXVALUE '\005'
/* disable gateway: "when to be done" types *//* ---------------------------------------- */
#define WT_GW_LAST_TRANS '\001'#define WT_GW_NOW WT_NOW
/* change status actions *//* --------------------- */
#define CH_NOT_ACTIVE '\001' /* -st for DV, SP, SV and SY */#define CH_ACTIVE '\002' /* -st for SP and SY */#define CH_SHUTDOWN '\003' /* for SP (warn server) */#define CH_OFF CH_NOT_ACTIVE /* -si -so for DV, DG and SV */#define CH_ON CH_ACTIVE /* -si -so for DV, DG and SV */#define CH_STOP_AFP '\010' /* xpchange -dev -sf */#define CH_UNTIL_END '\011' /* xpchange -dev -np END */#define CH_NEXT_PAGE '\012' /* xpchange -dev -np NEXT */#define CH_AGAIN '\013' /* xpchange -dev -np AGAIN */#define CH_PRIORITY '\014' /* xpchange -dev -pr */#define CH_MAX_CHANGE '\015' /*------------------------------*/#define CH_WAIT ST_WAIT
OSL-Xprint80A-API-De-02 115
Die Datei xprint.h Anhang
/* xpchange -job -st */#define CH_TOP ST_TOP /* xpchange -job -st */#define CH_SUSPEND ST_SUSPEND /* xpchange -job -st */#define CH_SCHED_ACTIVE ST_ACTIVE /* xpchange -job -st */
/* mount form actions *//*--------------------*/
#define CH_MOUNT_FORM '\015' /* xpchange -dev -mf */#define CH_UNMOUNT_FORM '\016' /* xpchange -dev -mf- */#define CH_MAX_MOUNT '\017' /*---------------------------*/
/* redirection actions #2 *//*-------------------------*/
#define CH_REDIR '\020' /* xpchange -dev -rd */#define CH_STOP_REDIR '\021' /* xpchange -dev -rd- */
/* user privileges *//* --------------- */
#define ALL_PRIVIL '\001'#define NONE_PRIVIL '\002'#define TOP_PRIVIL '\003'#define ANY_DEVICE '\004'
/* definitions for notification event types *//* ---------------------------------------- */
#define EV_ALL '\001'#define EV_STARTED '\002'#define EV_COMPLETED '\003'#define EV_SUSPEND '\004'#define EV_ABORTED '\005'#define EV_DEVICE_ERROR '\006'#define EV_USER '\007'#define EV_MODIFIED '\010'#define EV_RESUMED '\011'#define EV_MOUNTING '\012'#define EV_NONE_NO '\013'#define EV_REJECT_FR_REM_DOMAIN '\014' /* rejected from remote domain */#define EV_SENT_TO_REM_DOMAIN '\015' /* sent to remote domain */#define EV_INTERRUPTED '\016'#define EV_MAX_EVENTS '\017'
/* definitions for security levels *//* ------------------------------- */
#define UNCLASSIFIED 1#define SENSITIVE 2#define CONFIDENTIAL 3#define SECRET 4#define TOP_SECRET 5
#define DFT_JOB_PRIO20 /* default job priority*/
/* comment indexes -ca -cu *//* ------------------------- */
#define CM_ADMIN 0#define CM_USER 1
/* Paper type defs: -dev -ps *//* ------------------------- */
116 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
#define UNDEF_PAPER_FEED -1
#define LISTING_PAPER 1#define SINGLE_SHEET_AUTO 2#define SINGLE_SHEET_MANUAL 3
/* sides: -frm -sd *//* --------------- */
#define atXP_SINGLE 1#define XP_DOUBLE_WIDE 2#define XP_DOUBLE_NARROW 3
/* paper size indexes *//* ------------------ */
#define XP_HEIGHT 0#define XP_WIDTH 1
/* default paper size values in hundredth of inch *//* ---------------------------------------------- */
#ifdef PRODUCT_PM/* 11 x 8.5 inches */#define XP_PAGE_HEIGHT 1100#define XP_PAGE_WIDTH 850#else/* format A4 */#define XP_PAGE_HEIGHT 1169#define XP_PAGE_WIDTH 826#endif
/* connection type -dev -co *//* ------------------------ */
#define XP_SERIAL 1#define XP_PARALLEL 2#define XP_LAN 3#define XP_SCSI 4
/* Gateway protocol definitions *//* ---------------------------- */
#define DEF_GW_PP "GIP2"#define DEF_GW_PL "TCP"
/* Gateway arguments keywords *//* -------------------------- */
#define AG_ALL "ALL"
/* Transmission Protocol defs *//* -------------------------- */
#define XP_XON 1#define XP_ETX 2#define XP_RXON 3
/* Possible parity settings *//* ------------------------ */
#define XP_EVEN_PAR 1#define XP_ODD_PAR 2#define XP_NONE_PAR 3
/* Possible stop bits *//* -------------------*/
#define XP_STOP_1 1#define XP_STOP_2 2
/* initialisation information for xpadd -form *//* ------------------------------------------ */
#define XP_PORTRAIT '\001'#define XP_LANDSCAPE '\002'
#define XP_HIGH '\001'
OSL-Xprint80A-API-De-02 117
Die Datei xprint.h Anhang
#define XP_NORMAL '\002'#define XP_DRAFT '\003'#define XP_ITALICS '\001'#define XP_STRAIGHT '\002'#define XP_BRIEF_SHEET 1#define XP_FULL_SHEET 2#define XP_NONE_SHEET 3#define XP_FREE_SHEET 4 /* device level only */
/* xpadd -job/frm/dev -no (-nm) *//* ---------------------------- */
#define XP_MAIL '\001'#define XP_WRITE '\002'#define XP_COMMAND '\003'#define XP_FILE '\004'
/* scheduling policy *//* ----------------- */
#define XP_BIG '\001'#define XP_SMALL '\002'#define XP_PRIORITY '\003'#define XP_SECURITY '\004'#define XP_MAX_SCHEDPOL '\005'#define XP_RAW '\006'#define XP_NO_RAW '\007'
/* copies *//* ------ */
#define XP_SFT_CPY 0#define XP_HRD_CPY 1
/* Operating system types *//* ---------------------- */
#define XP_ATT 1#define XP_BSD 2
/* device keep connection *//* ---------------------- */
#define XP_CO_TEMP '\000'#define XP_CO_PERM '\001'
/* filter types *//* ------------ */
#define XP_FAST 1#define XP_SLOW 2#define XP_TRIGGER 3/* form mounting type: -frm -mm *//* ---------------------------- */
#define XP_AUTOMATIC 1#define XP_MANUAL 2/* start name *//* ---------- */#define SINIX_START_NAME ".SINIX"#define T_SPOOL_START_NAME ".T-SPOOL"
/* emulation types *//* --------------- */
#define UNDEF_EMUL 0#define XPRINT_NATIVE 1#define SINIX_EMUL 2#define T_SPOOL_EMUL 3#define TO_GTW_EMUL 4#define FROM_GTW_EMUL 5
/* lengths *//* ------- */
#define XP_HUNDREDTH_OF_INCH 'i'
118 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
#define XP_HUNDREDTH_OF_CENTIMETER 'c'#define XP_LINE 'L'#define XP_COLUMN 'C'
/* form feed processing *//* -------------------- */
#define FF_NONE '\001'#define FF_BEFORE '\002'#define FF_AFTER '\003'#define FF_BETWEEN '\004'#define FF_ALL '\005'
/* wrap mode *//* --------- */
#define WR_CUT 1#define WR_WRAP 2#define WR_NONE 3
/* host responsibility *//* ------------------- */
#define XP_POT_MASTER 1#define XP_SLAVE 2#define XP_PARASITE 3
/* host position *//* ------------- */
#define XP_POS_FIRST 1#define XP_POS_LAST 2/* host nature *//*-------------*/#define BIT_64BITS(0x1)#define BIT_LARGE_FILES (0x2)#define BIT_WINNT (0x4)/* file transfer initiator *//* ----------------------- */#define FT_SUPERV 1 /* xpadd -dev -if */#define FT_CLIENT 2
/* New file transfer type *//* ---------------------- */#define FT_TRANS 1 /* new file transfer type */
/* fast filter synchronisaion *//* -------------------------- */
#define FL_SYNCHRO 1 /* xpadd -flt -df */#define FL_ASYNCHRO 2/* printer protocol *//* ---------------- */
#define PP_SNMP 1#define PP_RTELNET 2#define PP_BSD 3
/* doc handling*//* ------------ */#define DOC_CLEAN_FLT(0x1<<0)#define DOC_CLEAN_RCG(0x1<<1)#define DOC_CLEAN_SPLIT(0x1<<2)
/* types of gateway *//* ---------------- */#define XP_LOCAL 1#define XP_PARTNER 2#define XP_REMOTE 3#define XP_GW_ALL 4#define XP_SAP 5 /* value for xp_event */
/* call resource modes of loadable ressource #3 */
OSL-Xprint80A-API-De-02 119
Die Datei xprint.h Anhang
/* -------------------------------------------- */#define XP_LR_ALL '\001'#define XP_LR_NONE '\002'#define XP_LR_FIRST '\003'
/* various definitions *//* ------------------- */
#define XP_UNDEFINED -1 /* no value for -usr -pr */#define RP_INFINITE -1 /* infinite retention period */#define OR_INFINITE 0 /* infinite open retry time */#define XP_NO_LIMIT -1 /* no limit for -usr -aj, -ap and -nc */
#define DP_JOB_ID '@' /* direct printing job identification */
#define PAPER_TYPE "PAPER_TYPE" /* special form for T_Spool */#define STTY_NO_SETTINGS "NO_SETTINGS" /* special value for -dev -sy */
/* Values meaning "no value at all" (set by the client in */ the DB when a value is not specified by the requester and */ no default exists) *//* ----------------------------------------------------- */
#define UNSP_NUM 0#define UNSP_US (unsigned short)0x0000 #define UNSP_S (short)0x0000 #define UNSP_UL (unsigned long)0x00000000#define UNSP_L (long)0x00000000 #define UNSP_C '\000' #define UNSP_STR ""
/* *//* UNSPECIFIED CHAR SEQUENCE *//* seq_card : 1 *//* seq_ptr : "" *//* *//* UNSPECIFIED STRING SEQUENCE *//* seq_card : 1 *//* seq_ptr : &("") *//* */
#define ANY 0xfe /* PCL wildcard */
/* Daemon and networking *//* --------------------- */
#define UNRECOV_ERROR -1
#define XP_TCP_IP 1#define XP_ISO 2#define XP_WARM 'W' /* warm startup */#define XP_COLD 'C' /* cold startup */#define XP_RECOVERY 'R' /* recovery startup */#define XP_NET 1#define XP_HOST 2
#define XP_DAEMON_REQ 1 /* requests for Xp_daemon */#define DB_MANAGER_REQ 2 /* requests for DB_manager */#define SERVER_REQ 3 /* requests for Server */#define SUPERVISOR_REQ 4 /* requests for Supervisor */#define GATEWAY_REQ 5 /* requests for Gateway */
120 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
#define XP_ACK '\000' /* positive ack to the request */#define XP_NACK '\377' /* negative ack to the request */
/* Gateway *//* ------- */
#define XP_GW_WARM XP_WARM /* warm startup */#define XP_GW_COLD XP_COLD /* cold startup */#define XP_GW_RECOVERY XP_RECOVERY /* recovery startup */
/* signals *//* ------- */#define SIG_SF SIGFPE /* stop after first page : xpchange -dev -sf */#define SIG_NP SIGSYS /* next page : xpchange -dev -np AGAIN/NEXT/END */
/* abbreviations, filenames and directories *//* ---------------------------------------- */
#define RR_PATH "RR/"#define TMP_PATH "tmp/"#define PCL_PATH "PCL/"#define SV_PATH "SV/"#define SP_PATH "SP/"#define DOWN_PATH "resources/"#define MAP_PATH "maps/"#define FILTER_PATH "filters/"#define BACKEND_PATH "backends/"#define GW_PATH "GW/"#define GTW_PATH "gateways/"#define BIN_DIR "bin/"#define LOC_DIR "loc/"#define CMD_DIR "cmd/"#define EXTENSION_DIR "addons/"#define CALLBACK_CFG"callbacks.cfg"
/**/
#ifdef PRODUCT_SPOOL#define CL_SERVICE "Spool_cl"#define DA_SERVICE "Spool_da"#define DB_SERVICE "Spool_db"#define SP_DB_SERVICE "Spool_db"#define XP_DB_SERVICE "Xprint_db"#define DB_NAM1 "Spool_db1"#define DB_NAM2 "Spool_db2"#define MSG_FILE "Spool.msg"#define HLP_FILE "Spool.hlp"#define LOG_FILE "Spool.log"#define AUD_FILE "Spool.aud"#define DBG_FILE "Spool.dbg"#define spooler_name "Spool"#define spooler_abb1 "SP"#define spooler_abb2 "Sp"#define spooler_vers " 5.0"#define spooler_rel " A00"#endif
#ifdef PRODUCT_PM#define CL_SERVICE "PM_cl"#define DA_SERVICE "PM_da"#define DB_SERVICE "PM_db"#define SP_DB_SERVICE "Spool_db"#define XP_DB_SERVICE "Xprint_db"#define DB_NAM1 "PM_db1"#define DB_NAM2 "PM_db2"#define MSG_FILE "PM.msg"
OSL-Xprint80A-API-De-02 121
Die Datei xprint.h Anhang
#define HLP_FILE "PM.hlp"#define LOG_FILE "PM.log"#define AUD_FILE "PM.aud"#define DBG_FILE "PM.dbg"#define spooler_name "DM/Print Manager"#define template_name "print_manager"#define spooler_abb1 "PM"#define spooler_abb2 "PM"#define spooler_vers " 5.0"#define spooler_rel " A00"#endif/* */#ifdef PRODUCT_XPRINT#define CL_SERVICE "Xprint_cl"#define DA_SERVICE "Xprint_da"#define DB_SERVICE "Xprint_db"#define SP_DB_SERVICE "Spool_db"#define XP_DB_SERVICE product_des.SPOOLER_SERVICE#define DB_NAM1 "Xprint_db1"#define DB_NAM2 "Xprint_db2"#define MSG_FILE "Xprint.msg"#define HLP_FILE "Xprint.hlp"#define LOG_FILE strcat(strcpy(product_info_buffer,product_des.SPOOLER_NAME),".log")#define AUD_FILE strcat(strcpy(product_info_buffer,product_des.SPOOLER_NAME),".aud")#define DBG_FILE strcat(strcpy(product_info_buffer,product_des.SPOOLER_NAME),".dbg")#define spooler_name product_des.SPOOLER_NAME#define spooler_abb1 product_des.SPOOLER_ABB1#define spooler_abb2 product_des.SPOOLER_ABB2#define spooler_vers product_des.SPOOLER_VERS#define spooler_vers_key "7.0"#define spooler_rel_key "A00"#ifdef IS_64BITS#define spooler_rel "A00/64"#else#define spooler_rel product_des.SPOOLER_REL#endif#endif
/* *//* for dynamic product naming *//*----------------------------------*/
#define MAGIC_PROD "__Xprint__"#define MAGIC_VERS "__XX.XXXX__"
/* */
/* * Internal conventions : * Conventions are used by the tool generating abstract data * structures for all handled objects. * * #n : used as comment identifies the version where the * corresponding field was introduced * e.g struct ECM_printer { * u_long dv_timeout; #2 : this field was introduced * when INT_VERS was 2 * }; * * ^value : specifies how to initialise NEW fields when * expanding structures * e.g struct ECM_printer { * xp_v_short dv_template; ^FALSE #2 * }; * * when comments can not hold on the same line as a field * definition, they should be stored on the FOLLOWING
122 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
* line and NOT before. * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * For a new internal version, do not forget to * update SPOOLER_INT_VERS and XP_LATEST_V. * Ex: for Xprint V50a, #4 is used and SPOOLER_INT_VERS is 4. * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
/* * Other conventions : * * PADDING_n : macro used for padding related to internal * version #n * Ex: PADDING_3 is used with version #3 (04.2B00) * */
/*/*======================== History start =========================#define SPOOLER_INT_VERS 1 < Spool 4.2#define SPOOLER_INT_VERS 4 Xprint 6.0 inc. but not Dirac#define XP_LATEST_V "4 "Xprint 6.0 inc. but not Dirac#define SPOOLER_INT_VERS 5 Dirac V1#define XP_LATEST_V "5 "Dirac V1#define SPOOLER_INT_VERS 6 Xprint 7.0 #define XP_LATEST_V "6 "Xprint 7.0 ======================== History end ===========================*/
#define SPOOLER_INT_VERS 4 /* identified hereafter with #4 */#define XP_LATEST_V "4" /* latest version of objects */
/* * The following sections can be found : * 1) misc. structures used within other structures * 2) typical Xprint structures standing for each type of object * supported by Xprint except job and job template. * The 'xpadd' alphabetic order is used. * 3) Ecma structures corresponding to Xprint objects. These are * limited to : * ECM_printer : Xprint's device object * ECM_security: Xprint's user object * 4) Ecma structures : those structures are referenced by Xprint * structures * 5) Structures related to the job object * Xp_jid, Xp_job, Xp_job_temp * 6) Union of objects handled by the Xprint's DB * */
/**/
OSL-Xprint80A-API-De-02 123
Die Datei xprint.h Anhang
Beschreibende Strukturen
sequence
struct sequence {xp_uint32 seq_card; /* number of elements in the sequence */char * seq_ptr; /* pointer to an array of objects...*//* ...of dimension seq_card*/};
scaled_value
struct scaled_value {xp_uint16 value;xp_uint16 unit;};
pcl_trans
struct pcl_trans {xp_vshsq plt_value; /* replacement expression*/xp_int8 plt_type; /* type of expression*/PADDING(3);};
pcl_feedback
struct pcl_feedback {xp_vshsq plf_afdb;/* allowed feedback*/xp_string plf_prc;/* printer return code*/xp_int16 plf_type;/* typof feedback : constant/expression*/PADDING(2);xp_vshsq plf_pre;/* #3 return code as expression*/};
/* identification and meaning of a native sequence */
pcl_natsq
struct pcl_natsq { xp_string pln_string; /* native mask */xp_vshsq pln_expression; /* terminfo like expression for convers*/xp_int16 pln_capability; /* standard capability it stands for */xp_int16 pln_keep; /* this sequence may have to be repeated*/
* when printing non sequential pages */};
pcl_planguage
struct pcl_planguage { /* native sequ. understood by printer*/xp_vshsq plp_natsqi; /* starting index for given leading esc*/struct /*pcl_natsq*/ sequence plp_natsq; /* native sequences */};
124 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
rec_rcd
struct rec_rcd { /* recovery rule record*/xp_string rrd_key; /* recovery rule key*/xp_uint32 rrd_time; /* allowed error time*/xp_uint32 rrd_retry; /* time bef.next status */xp_string rrd_gencod; /* sub rule identifer*/ xp_strsq rrd_actions; /* action list*/};
job_options
struct job_options { /* #2 : customised options*/xp_string pro_identifier;/* option identifier*/xp_string pro_value; /* option value*/xp_strsq pro_allowedv; /* #6 allowed values*/
};
usr_map
struct usr_map { /* #2*/xp_string hou_glbid; /* user identifier within cluster
*/xp_string hou_locid; /* local identifier*/
};
lrs_spec
struct lrs_spec { /* #2 : loadable resource specifications*/xp_string lrs_pcl; /* xpadd -lrs -pc*/xp_string lrs_file; /* -fi*/xp_string lrs_host; /*-ho*/xp_string lrs_int_id; /*-pi*/xp_boolean lrs_permanent; /*-pe*/xp_int8 lrs_scope; /*-sc*/PADDING(1);
};
Xp_net_info
struct Xp_net_info { /* network info for active object */xp_string nt_name; /* entity name*/xp_string nt_ent_type; /* entity type: SP, SV...*/xp_string nt_host;xp_uint16 nt_port_num;PADDING(2);};
Xp_con_protocol
struct Xp_con_protocol {xp_uint16 cn_protocol;xp_uint16 cn_speed;xp_uint16 cn_parity;xp_uint16 cn_bits;xp_uint16 cn_stopb; /* #2 >new<*/PADDING(2); /* #2 >new< */
};
OSL-Xprint80A-API-De-02 125
Die Datei xprint.h Anhang
/* * ============================================================================= * Objects are extended with a new attribute allowing hopefully easy support * of new options. Options should be of the form <identifier> = <value> * and are implemented as a sequence of strings. Odd index stands for the ident. * Even stands for the value. Values are thus always implemented as a string * The function GetExtOptions suppports the retrieve of the value of an option * ============================================================================= */
#definexp_ext xp_strsq
check_point
struct check_point { /* #3*/struct /*u_long*/ sequence cp_pagnbr;/* nb pages per doc */xp_uint32 cp_bytes; /* number of printed bytes*/xp_uint32 cp_pages; /* number of printed pages*/xp_uint32 cp_stop; /* stopped page*/xp_uint16 cp_docnbr; /* active doc number*/xp_uint16 cp_cpynbr; /* active soft. copy*/
};
Xp_soft_load
struct Xp_soft_load { /* #2*/xp_string lr_name;xp_strsq lr_frwref; /* #2 forward reference*/xp_strsq lr_bckref; /* #2 backward reference*/xp_vshsq lr_strip; /* stripped data*/xp_ext lr_ext; /* #5 extension slot*/xp_vers lr_version; /* loadable resource xp_version
*/xp_string lr_admin; /* lrs administrator */xp_string lr_comment[2]; /* -lrs comment -ca -cu*/xp_string lr_js_host; /* unused -> Volume.host*/xp_string lr_ad_host; /* -lrs -ah*/xp_string lr_type; /* -lrs -tp*/struct /*lrs_spec*/ sequence lr_lrs_specs; /* UNUSED - UNUSED*/xp_string lr_pcl; /* #3-lrs-pc*/xp_string lr_file; /* #3-lrs-fi*/xp_string lr_js_root; /* #3 unused -> Volume.root*/xp_string lr_int_id; /* #3-lrs-pi*/xp_string lr_class; /* #3-lrs-cn*/xp_strsq lr_devlst; /* #3-lrs-dl*/xp_time_t lr_time_stamp; /* #3 INTERNAL USE ONLY*/xp_boolean lr_encapsulate; /* #3-lrs-ec*/xp_boolean lr_permanent; /* #3-lrs-pe*/xp_int8 lr_call_resource; /* #3-lrs-cr*/xp_int8 lr_copy; /* #3take copy of file contents*/PADDING_3(2); /* #3 */xp_vshsq lr_contents; /* #6copy of file content*/xp_strsq lr_js_triggers; /* #6js trigger full path name*/struct /*js_folder*/ sequence lr_js_folders; /* #6 set of I/O rules*/
};
ECM_notific
struct ECM_notific {xp_vshsq no_events; /*ECM*job/frm/dev -no (-ev) */xp_vshsq no_triggrs; /*ECM* used by interop */xp_string no_address; /*ECM*job/frm/dev -no (-na) */xp_string no_descriptor; /* job/frm/dev -no (-nd) */
126 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
xp_string no_user_name; /* --------------------- */xp_string no_current_host; /*DELIVERY*/xp_string no_current_dir; /* ENVIRONMENT*/xp_strsq no_env_var; /* --------------------- */xp_uint16 no_threshold; /*frm-no (-nt) */xp_uint16 no_frequency; /*frm/dev -no (-nr) *//* --------------------- */xp_uint16 no_user_id; /*DELIVERY*/xp_uint16 no_group_id; /* ENVIRONMENT*//* --------------------- */xp_int8 no_method; /*ECM*job/frm/dev -no (-nm) */PADDING(3);
};
Primäre Objektstrukturen
Bei den Strukturen in diesem Abschnitt handelt es sich um die primären Objekt-strukturen, die von Xprint V8.0 benutzt werden (weitere Informationen siehe Kapitel „Die Objekte und Datenstrukturen der Xprint API“).
/* * structure*********************** device : see ECM_printer */
Xp_dgroup
Diese Struktur definiert das Druckergruppen-Objekt.
Objekttyp: DG struct Xp_dgroup {
Object type: DGstruct Xp_dgroup {
xp_string dg_name; /* device group name */xp_strsq dg_frwref; /* #2 forward reference*/xp_strsq dg_bckref; /* #2 backward reference*/xp_vshsq dg_strip; /* #2 stripped data*/xp_ext dg_ext; /* #5 extension slot*/xp_vers dg_version; /* device group xp_version */xp_string dg_admin; /* administrator */xp_string dg_ad_host; /* administration host -ah */xp_strsq dg_devlst; /* devices list */xp_strsq dg_rem_devlst; /* #4 remote devices list -rl*/xp_string dg_uperm; /* user permission */xp_string dg_comment[2];/* free comment */xp_string dg_sta_cm; /* chg -dgr -ju */xp_string dg_sta_date; /* date of change -dgr */xp_int8 dg_spoolin; /* chg -dgr -si */PADDING(3);xp_string dg_volume; /* #6 volume name*/xp_string dg_folder; /* #6 folder name*/
OSL-Xprint80A-API-De-02 127
Die Datei xprint.h Anhang
};Xp_filter
Diese Struktur definiert das Filter-Objekt.
Objekttyp: FL struct Xp_filter {
xp_string fl_name; /* name -flt*/xp_strsq fl_frwref; /* #2 forward reference*/xp_strsq fl_bckref; /* #2 backward reference*/xp_vshsq fl_strip; /* #2 stripped data*/xp_ext fl_ext; /* #5 extension slot*/xp_vers fl_version; /* filter xp_version*/xp_string fl_admin; /* filter administrator*/xp_string fl_ad_host; /* administration host -ah*/xp_string fl_comment[2];/* comment -ca -cu*/xp_string fl_command; /* activation command -cm*/xp_strsq fl_host_lst; /* supporting hosts -ho*/xp_strsq fl_inp_type; /* inputtypes -it*/xp_strsq fl_out_type; /* output types -ot*/xp_strsq fl_options; /* options -op*/xp_strsq fl_sup_smod; /* special modes -sm*/xp_int8 fl_data_flow; /* ^FL_ASYNCHROflt -df #2*/xp_int8 fl_unused[3]; /* #2 >new<*/xp_int8 fl_type; /* type: slow or fast -tp*/PADDING(3);
} ;
Xp_font
Diese Struktur definiert das Schrift-Objekt.
Objekttyp: FT struct Xp_font {
xp_string ft_name;xp_strsq ft_frwref; /* #2 forward reference*/xp_strsq ft_bckref; /* #2 backward reference*/xp_vshsq ft_strip; /* #2 stripped data*/xp_ext ft_ext; /* #5 extension slot*/xp_vers ft_version; /* font xp_version */xp_string ft_admin; /* font administrator */xp_string ft_ad_host; /* administration host -ah */xp_string ft_typeface; /* typeface -tp */ xp_string ft_language; /* font -la */xp_string ft_comment[2];/* font -ca -cu */xp_boolean ft_type_man; /* typeface mandatory -tm */xp_int8 ft_quality; /* font -pq */xp_int8 ft_style; /* font -cs */xp_int8 ft_vm; /* font -vm */xp_int8 ft_hm; /* font -hm */PADDING(2);
};
128 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
Xp_form
Diese Struktur definiert das Formular-Objekt.
Objekttyp: FM struct Xp_form {
xp_string fm_name;xp_strsq fm_frwref; /* #2 forward reference*/xp_strsq fm_bckref; /* #2 backward reference*/xp_vshsq fm_strip; /* #2 stripped data*/xp_ext fm_ext; /* #5 extension slot*/xp_vers fm_version; /* form xp_version */xp_string fm_admin; /* form administrator */xp_string fm_ad_host; /* administration host -ah */xp_string fm_dft_font; /* form -ft */xp_string fm_user_perm; /* user permission -up */struct ECM_notific fm_notify; /* notification profile -no */xp_string fm_comment[2]; /* form -ca -cu */struct scaled_value fm_paper_size[2];/* form -ph -pw*/struct scaled_value fm_page; /* page length value -pl */struct scaled_value fm_line; /* line length value -ll */struct scaled_value fm_left; /* left margin value -lm */struct scaled_value fm_top; /* topmargin value -tm */xp_uint16 fm_start; /* form -js */xp_uint16 fm_end; /* form -je */xp_uint16 fm_separator; /* form -sp */xp_boolean fm_ft_mandatory;/* default font mandatory -mf
*/xp_strsq fm_lrs; /* frm -lr#2*/xp_int8 fm_layup; /* form -ls */xp_int8 fm_sides; /* form -sd */xp_int8 fm_mount_method;/* mounting method -mm */PADDING(1);
};
OSL-Xprint80A-API-De-02 129
Die Datei xprint.h Anhang
Xp_gateway
Diese Struktur definiert das Gateway-Objekt.
Objekttyp: GWstruct Xp_gateway { /* #2*/
xp_string gw_name;xp_strsq gw_frwref; /* #2 forward reference*/xp_strsq gw_bckref; /* #2 backward reference*/xp_vshsq gw_strip; /* #2 stripped data*/xp_ext gw_ext; /* #5 extension slot*/xp_vers gw_version; /* gateway xp_version */xp_string gw_admin; /* gateway administrator */xp_string gw_host; /* gateway*/xp_string gw_uperm; /* gateway -up*/struct Xp_net_info gw_net;/* .nt_host (-ho option)*/xp_string gw_proto; /* gateway -np*/xp_string gw_print_proto;/* gateway -pp*/xp_wcstring gw_orig_name; /* gateway -on*/xp_wcstring gw_orig_host; /* gateway -oh*/xp_strsq gw_allow_list; /* gateway -ag*/xp_strsq gw_bkwd_lks; /* gateway -bl */xp_strsq gw_options; /* gateway -op */xp_string gw_sta_cm; /* last change comment*/xp_string gw_sta_date; /* last change date*/xp_uint32 gw_sta_ndate; /* numeric last change date*/xp_string gw_cluster; /* cluster name*/struct /*usr_map*/ sequence gw_usr_map; /* cluster : usr map*/xp_vshsq gw_pub_key; /* public key*/xp_vshsq gw_privat_key; /* private key*/xp_uint32 gw_distance;xp_string gw_comment; /* comment -ca*/xp_string gw_unused; /* UNUSED - UNUSED - UNUSED*/xp_string gw_add; /* gateway -ga */xp_uint16 gw_timeout; /* gateway -ti*/xp_boolean gw_aut_act; /* gateway -aa*/xp_boolean gw_check; /* gateway -ck*/xp_int8 gw_type; /* gateway -tp*/xp_int8 gw_state; /* gtw -st*/xp_int8 gw_in; /* gtw -gi*/xp_int8 gw_out; /* gtw -go*/xp_int8 gw_loc_state; /* local server statusUNUSED*/xp_int8 gw_rem_state; /* remote server status UNUSED*/
130 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
};Xp_host
Diese Struktur definiert das Hostrechner-Objekt.
Objekttyp: HO struct Xp_host {
xp_string ho_name; /* name -hos*/xp_strsq ho_frwref; /* #2 forward reference*/xp_strsq ho_bckref; /* #2 backward reference*/xp_vshsq ho_strip; /* #2 stripped data*/xp_ext ho_ext; /* #5 extension slot*/xp_vers ho_version; /* host xp_version*/xp_string ho_product; /* #2 spooler product */xp_string ho_spooler_version; /* #2 spooler xp_version*/xp_string ho_comment[2]; /* comment -ca -cu*/xp_string ho_infile; /* script file with startup
cmds*/xp_string ho_deffont; /* default font*/xp_string ho_defform; /* default form*/xp_string ho_defdest; /* default destination*/xp_string ho_def_class; /* default class */xp_string ho_predecessor;/* predecessor -pd*/xp_string ho_supp_host; /* supporting host -sh*/xp_string ho_sta_cm; /* #4 state justification*/xp_string ho_sta_date; /* #4 date of state change*/xp_uint32 ho_sta_ndate; /* #4 num date of state change*/xp_uint32 ho_nature; /* #4 nature of the local host*/xp_strsq ho_sub_root; /* sub_root list*/xp_uint32 ho_int_vers; /* internal xp_version number */xp_uint16 ho_def_max_pri;/* default maximum priority*/xp_uint16 ho_def_job_pri;/* default job priority */xp_uint16 ho_def_dev_pri;/* default device priority */xp_int16 ho_protocol; /* network protocol */xp_int8 ho_responsibility;/* responsibility -re*/xp_int8 ho_position; /* position -po*/xp_int8 ho_OS; /* operating system type -os*/PADDING(1);
};
/* * struct Xp_soft_load : see above
OSL-Xprint80A-API-De-02 131
Die Datei xprint.h Anhang
*/Xp_pcl
Diese Struktur definiert das PCL-Objekt (Printer Capability List).
Objekttyp: PL struct Xp_pcl {
xp_string pl_name; /* pcl name*/xp_strsq pl_frwref; /* #2 forward reference*/xp_strsq pl_bckref; /* #2 backward reference*/xp_vshsq pl_strip; /* #2 stripped data*/xp_ext pl_ext; /* #5 extension slot*/xp_vers pl_version; /* pcl xp_version */xp_vers pl_capvers; /* #2 pcl xp_version(capability)*/xp_string pl_admin; /* user who has created the pcl */xp_string pl_host; /* pcl host -ho*/xp_string pl_file; /* origin file of pcl -fi */xp_string pl_filter; /* permanent fast filter*/xp_string pl_comment[2]; /* comment -ca -cu*/xp_string pl_ldgcc; /* listing of leading xp_int8s*/xp_string pl_ldgvp; /* #3 listing of leading xp_int8s*/struct pcl_planguage pl_pnatsq; /* native sequences*/struct pcl_planguage pl_vp; /* #3 vp native sequences*/struct scaled_value pl_flinl; /* top margin after FF*/struct scaled_value pl_npll; /* non printable line area lgth*/struct scaled_value pl_nppl; /* non printable page area lgth*/xp_vshsq pl_sfrml; /* form lenght sequence */xp_vshsq pl_topm; /* top marginvalue*/xp_vshsq pl_leftm; /* left margin value*/xp_vshsq pl_settabs; /* set tabs sequence*/xp_wvshsq pl_hopper; /* hopper support*/xp_wvshsq pl_obin; /* output bin support*/xp_wvshsq pl_hrd_copy; /* harware copies*/xp_wvshsq pl_dside;xp_wvshsq pl_layup;xp_wvshsq pl_quality;xp_wvshsq pl_style;xp_wstrsq pl_typeface;xp_wvshsq pl_vm;xp_wvshsq pl_hm;xp_wstrsq pl_language;xp_wvshsq pl_ext1; /* reserved*/xp_wvshsq pl_ext2; /* reserved*/xp_wvshsq pl_ext3; /* reserved*/xp_wvshsq pl_ext4; /* reserved*/xp_wstrsq pl_ext5; /* reserved*/xp_wstrsq pl_ext6; /* reserved*/xp_wstrsq pl_tp_lrs; /* #3 supported types of lrs*/xp_strsq pl_options; /* order for option translation*/xp_strsq pl_ghiar; /* #5 order for option transl incl gopt
*//* supported values */struct /*pcl_trans*/ sequence pl_v_hopper; struct /*pcl_trans*/ sequence pl_v_obin;struct /*pcl_trans*/ sequence pl_v_hrd_copy;struct /*pcl_trans*/ sequence pl_v_dside;struct /*pcl_trans*/ sequence pl_v_layup;struct /*pcl_trans*/ sequence pl_v_quality;struct /*pcl_trans*/ sequence pl_v_style;struct /*pcl_trans*/ sequence pl_v_typeface;struct /*pcl_trans*/ sequence pl_v_vm;struct /*pcl_trans*/ sequence pl_v_hm;struct /*pcl_trans*/ sequence pl_v_language;struct /*pcl_trans*/ sequence pl_v_ext1;/* reserved*/struct /*pcl_trans*/ sequence pl_v_ext2;/* reserved*/struct /*pcl_trans*/ sequence pl_v_ext3;/* reserved*/struct /*pcl_trans*/ sequence pl_v_ext4;/* reserved*/struct /*pcl_trans*/ sequence pl_v_ext5;/* reserved*/
132 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
struct /*pcl_trans*/ sequence pl_v_ext6;/* reserved*/struct /*pcl_trans*/ sequence pl_v_bolrs;/* #3*/xp_vshsq pl_LF; /* line feed support*/xp_vshsq pl_FF; /* form feed support*/xp_vshsq pl_CR; /* carriage return support */xp_vshsq pl_BS; /* backspace support */xp_vshsq pl_HT; /* horizontal tab support*/xp_vshsq pl_cancel; /* cancel support*/xp_vshsq pl_r_boj; /* reset beginning of job*/xp_vshsq pl_r_eoj; /* end of job*/xp_vshsq pl_r_bod; /*beginning of doc*/xp_vshsq pl_r_eod; /*end of doc*/xp_vshsq pl_r_bol; /*beginning of line */xp_vshsq pl_r_eol; /*end of line*/xp_vshsq pl_r_bop; /*beginning of page */xp_vshsq pl_r_eop; /*end of page*/xp_vshsq pl_ext7; /*reserved*/xp_vshsq pl_ext8; /*reserved*/xp_vshsq pl_ext9; /*reserved*/xp_string pl_map; /* map table*/xp_string pl_inpro; /* init program*/xp_string pl_expro; /* exit program*/xp_string pl_backend; /* backend to be used*/xp_strsq pl_be_opt; /* backend options */xp_int32 pl_bufsiz; /* # bytes buf.before prt*/xp_int32 pl_speed; /* printing rate*/xp_vshsq pl_stareq; /* printer status*/xp_vshsq pl_handsh; /* handshaking sequence*/struct /*pcl_feedback*/ sequencepl_fdbs; /* allowed feedback*/xp_vshsq pl_eolrs; /* #3 end encapsulate LRS*/xp_vshsq pl_gopt; /* #5 general options*/struct /*job_options*/ sequencepl_goptval; /* #6 supported values (gopt)*/struct /*job_options*/ sequencepl_media; /* #6 supported values (media)*/xp_vshsq pl_rmlrs; /* #3 rm resources from printer*/xp_vshsq pl_gclrs; /* #3 global resource call*/xp_vshsq pl_lclrs; /* #3 local resource call*/xp_int32 pl_mem; /* #3 available memory by def.*/xp_vshsq pl_config; /* #3 collect hardware config.*/struct /*pcl_feedback*/ sequencepl_dconf; /* #3 LRS feedback*/xp_vshsq pl_pboj; /* #3 PJL beginning of job*/xp_vshsq pl_pbod; /* #3 PJL beginning of document*/xp_vshsq pl_pbop; /* #3 PJL beginning of page*/xp_vshsq pl_pbol; /* #3 PJL beginning of line*/xp_vshsq pl_pbob; /* #3 PJL beginning of buffer*/xp_vshsq pl_peoj; /* #3 PJL end of job*/xp_vshsq pl_peod; /* #3 PJL end of document*/xp_vshsq pl_peop; /* #3 PJL end of page*/xp_vshsq pl_peol; /* #3 PJL end of line*/xp_vshsq pl_peob; /* #3 PJL end of buffer*/struct /*pcl_feedback*/ sequencepl_status; /* #3 PJL feedback*/xp_boolean pl_etx; /* etx allowed*/xp_boolean pl_polling; /* polling allowed*/xp_boolean pl_mix; /* native seq; lower=upper*/xp_int16 pl_rlpi; /* lpi after reset*/xp_int16 pl_rcpi; /* cpi after reset*/xp_int16 pl_sfrmu; /* form length unit l,i */xp_int16 pl_topu; /* top margin unit l,c,i*/xp_int16 pl_leftu; /* left margin unit l,c,i*/xp_int16 pl_toh; /* type of handshaking :*//* eop, eod or eoj */xp_int8 pl_coml; /* common part chained esc sequ
*/xp_int8 pl_protocol; /* PADDING reused as protocol*/
};
OSL-Xprint80A-API-De-02 133
Die Datei xprint.h Anhang
Die PCL-Anweisungen befinden sich in der Datei, auf die im Feld pl_file Bezug genommen wird. Die PCL-Anweisungen und -Formate werden im Handbuch „Xprint V8.0 - Referenzhandbuch“ beschrieben.
Xp_perm
Diese Struktur definiert das Berechtigungslisten-Objekt.
Objekttyp: PN struct Xp_perm {
xp_string pn_name; /* permission name */xp_strsq pn_frwref; /* #2 forward reference*/xp_strsq pn_bckref; /* #2 backward reference*/xp_vshsq pn_strip; /* #2 stripped data*/xp_ext pn_ext; /* #5 extension slot*/xp_vers pn_version; /* permission xp_version */xp_string pn_admin; /* administrator name */xp_string pn_ad_host; /* administration host -ah */xp_strsq pn_allow, /* allowed list */pn_deny; /* denied list */xp_string pn_comment; /* administrator comment*/xp_uint16 pn_type; /* permission type */PADDING(2);
};
Xp_rec_rule
Diese Struktur definiert das Objekt Recovery-Regel.
Objekttyp: RR struct Xp_rec_rule {
xp_string rr_name; /* recovery rule name*/xp_strsq rr_frwref; /* #2 forward reference*/xp_strsq rr_bckref; /* #2 backward reference*/xp_vshsq rr_strip; /* #2 stripped data*/xp_ext rr_ext; /* #5 extension slot*/xp_vers rr_version; /* recovery rule xp_version*/xp_string rr_admin; /* user who has created the rr*/xp_string rr_host; /* recovery rule host */xp_string rr_comment; /* comment -ca*/xp_string rr_file; /* origin file -fi */struct /*rec_rcd*/ sequencerr_lst; /* list of recovery rules*/
};
Die RR-Anweisungen befinden sich in der Datei, auf die im Feld rr_file Bezug genommen wird. Die RR-Anweisungen und -Formate werden im Handbuch „Xprint V8.0 - Referenzhandbuch“ beschrieben.
134 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
Xp_superv
Diese Struktur definiert das Supervisor-Objekt.
Objekttyp: SP struct Xp_superv {
xp_string sp_name; /* supervisor name */xp_strsq sp_frwref; /* #2 forward reference*/xp_strsq sp_bckref; /* #2 backward reference*/xp_vshsq sp_strip; /* #2 stripped data*/xp_ext sp_ext; /* #5 extension slot*/xp_vers sp_version; /* supervisor xp_version */xp_string sp_admin; /* admin who added the serv.*/struct Xp_net_info sp_net; /* network info */xp_string sp_servname; /* server name */xp_string sp_comment; /* free comment */xp_string sp_sta_cm; /* #4 state justification*/xp_string sp_sta_date; /* #4 date of state change*/xp_uint32 sp_sta_ndate; /* #4 num date of state change*/xp_uint32 sp_int_vers; /* internal xp_version number */xp_int8 sp_state; /* current state */PADDING(3);
};
Xp_server
Diese Struktur definiert das Server-Objekt.
Objekttyp: SV struct Xp_server {
xp_string sv_name; /* server name */xp_strsq sv_frwref; /* #2 forward reference*/xp_strsq sv_bckref; /* #2 backward reference*/xp_vshsq sv_strip; /* #2 stripped data*/xp_ext sv_ext; /* #5 extension slot*/xp_vers sv_version; /* server xp_version */xp_string sv_admin; /* admin. who adds the server*/struct Xp_net_info sv_net; /* network info */xp_string sv_comment; /* free comment */xp_vshsq sv_schedpol; /* scheduling policy */xp_string sv_perm; /* perm. list of allowed partner*/xp_string sv_sta_cm; /* #4 state justification*/xp_string sv_sta_date; /* #4 date of state change*/xp_uint32 sv_sta_ndate; /* #4 num date of state change*/xp_uint32 sv_int_vers; /* internal xp_version number */xp_r_long sv_waiting_jobs;/* number of waiting jobs */xp_int32 sv_jbmax; /* max. nbr. of jobs */xp_uint16 sv_load_level; /* load level */xp_int8 sv_whn_tbd; /* when state will be effective */xp_int8 sv_state; /* srv -st*/xp_int8 sv_spoolin; /* srv -si*/xp_int8 sv_spoolout; /* srv -so*/PADDING(2);
};Xp_sys
Diese Struktur definiert das System-Objekt.
Objekttyp: SY struct Xp_sys {
xp_string sy_name; /* System */
OSL-Xprint80A-API-De-02 135
Die Datei xprint.h Anhang
xp_strsq sy_frwref; /* #2 forward reference*/xp_strsq sy_bckref; /* #2 backward reference*/xp_vshsq sy_strip; /* #2 stripped data*/xp_ext sy_ext; /* #5 extension slot*/xp_vers sy_version; /* system xp_version */xp_string sy_admin; /* The Xprint administrator */xp_string sy_comment[2]; /* comment -ca -cu */xp_string sy_account_file;/* #3 -af accounting file*/xp_boolean sy_logging; /* #3 -lg for centralized log*/xp_boolean sy_auditing; /* #3 -au for auditing*/
};
/* * structure user : see ECM_security */
Xp_class
struct Xp_class {xp_string cl_name; /* name*/xp_vers cl_version; /* class xp_version*/xp_string cl_admin; /* class administrator*/xp_string cl_ad_host; /* administration host */xp_string cl_alias; /* alias name*/xp_string cl_jt; /* referenced job template*/xp_string cl_test_file; /* print test file*/xp_strsq cl_dev_lst; /* existing devices */xp_strsq cl_pcl_lst; /* existing pcl's */xp_uint32 cl_job_size; /* maximum job size*/xp_uint32 cl_copies; /* maximum number of copies*/xp_boolean cl_mapping; /* use mapping table*/xp_boolean cl_preact; /* use preaction program*/xp_boolean cl_postact; /* use postaction prog*/xp_boolean cl_filter; /* use filter*/
} ;
Xp_soft_char_set
struct Xp_soft_char_set {/* soft loadable xp_int8acter set*/xp_string sl_name; /* name -slc*/xp_vers sl_version; /* s_l_c_s xp_version*/xp_string sl_admin; /* s_l_c_s administrator*/xp_string sl_ad_host; /* administration host -ah*/xp_strsq sl_loc_lst; /* location list -ll */
};
Xp_objdesc
struct Xp_objdesc {xp_vshsq ob_def;
};
/***************************//* XPRINT INTERNAL OBJECTS *//***************************/
136 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
ECMA-spezifische Strukturen
ECM_printer
Diese Struktur definiert das Drucker -Objekt.
Objekttyp: DVstruct ECM_printer {
xp_string dv_name; /*ECM*/xp_strsq dv_frwref; /* #2 forward reference*/xp_strsq dv_bckref; /* #2 backward reference*/xp_vshsq dv_strip; /* #2 stripped data*/xp_ext dv_ext; /* #5 extension slot*/xp_vers dv_version; /* xp_version */xp_string dv_location; /*ECM*/xp_string dv_host; /*ECM*/ /* host name */xp_string dv_model; /*ECM*/xp_string dv_type; /*ECM*/xp_string dv_admin;xp_string dv_pcl; /* dev -pc*/xp_string dv_filter; /* dev -fl*/xp_string dv_usr_perm; /* dev -up*/xp_string dv_dft_form; /* dev -fm*/xp_string dv_j_title; /*ECM*/xp_string dv_rec_rule; /* dev -rr*/xp_string dv_comment[2]; /* dev -ca -cu*/xp_string dv_add; /* dev -da*/xp_string dv_tac_add; /* internal use; taclan address
*//* significant only when *//* dv_connect_type = XP_LAN */xp_string dv_supervisor; /* dev -su*/struct Xp_con_protocoldv_proto; /* dev -po -sp -pb -sb*/struct ECM_notific dv_notify; /* dev -no*/xp_strsq dv_all_type; /* dev -ct*/xp_r_long dv_waiting_jobs;xp_string dv_stty; /* dev -sy*/xp_string dv_cur_form; /* current form*/xp_string dv_fo_perm; /* dev -fp*/xp_string dv_sta_cm; /* chg -dev -ju*/xp_string dv_sta_date; /* date of chg -dev -st */
/* xp_uint32 dv_sta_ndate; sta_date in num form */xp_boolean dv_first_page; /* chg -dev -sf*/xp_uint16 dv_start_sheet; /* dev -ms*/xp_uint16 dv_tac_port; /* internal use; taclan port
nbr*//* significant only when *//* dv_connect_type = XP_LAN */xp_boolean dv_aut_act; /* dev -aa*/xp_uint16 dv_security; /*ECM*/ /* dev -sl*/xp_uint16 dv_speed; /*ECM*/xp_uint16 dv_resolution; /*ECM*/xp_uint16 dv_priority; /* dev -pr*/xp_uint16 dv_paper_feed; /* dev -ps*/xp_uint16 dv_connect_type; /* dev -co*/xp_boolean dv_enable_poll; /* dev -ep*/xp_int8 dv_state; /* dev -st*/xp_int8 dv_spoolin; /* dev -si*/xp_int8 dv_spoolout; /* dev -so*/xp_int8 dv_keep_connection; /* dev -kc*/xp_uint16 dv_open_retry_time; /* dev -or*/xp_string dv_redirect; /* xpchange-dev -rd #2*/xp_string dv_clone; /* xpchange-dev -rd #6 (ocw)*/xp_strsq dv_rdhistory; /* internal history#2*/xp_strsq dv_lrs; /*dev -lr #2*/
OSL-Xprint80A-API-De-02 137
Die Datei xprint.h Anhang
xp_uint32 dv_timeout; /*dev -ti #2*/xp_boolean dv_template; /* ^FALSEdev -te #2*/xp_boolean dv_resource_mngr; /* ^FALSEdev -me #2*/xp_int8 dv_ft_initiator; /* ^FT_SUPERV dev -if #2*/PADDING (3); /* #2 >new< */
};
138 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
ECM_security
Diese Struktur definiert das Objekt Xprint V8.0-Benutzer.
Objekttyp: USstruct ECM_security {
xp_string sc_usr_name; /*ECM*/xp_strsq sc_frwref; /* #2 forward reference*/xp_strsq sc_bckref; /* #2 backward reference*/xp_vshsq sc_strip; /* #2 stripped data*/xp_ext sc_ext; /* #5 extension slot*/xp_vers sc_version; /* xp_version*/xp_string sc_authentic; /*ECM*/xp_string sc_account; /* Domain\User_account */xp_strsq sc_host;xp_string sc_home;xp_vshsq sc_privileges; /* user -pv*/xp_string sc_comment;xp_r_long sc_cons_pages;xp_r_long sc_cons_jobs;xp_int32 sc_max_priority; /* user -pr*/xp_int32 sc_max_copies; /* user -nc*/xp_int32 sc_jobs_allowed; /* user -aj*/xp_int32 sc_pages_allowed; /* user -ap*/xp_boolean sc_usr_account; /* user -ua*/xp_uint16 sc_uid;xp_uint16 sc_gid;xp_uint16 sc_securit_lvl; /* user -sl*/
};
/*
*/
ECM_j_info
struct ECM_j_info {xp_string j_title; /*ECM*/ /* job -jt*/xp_string j_originator; /*ECM*/ /* -scl(-jo)*/xp_string j_state_key; /* READ ONLY - DO NOT
INITIALIZE*/xp_string j_state_msg; /* READ ONLY - DO NOT
INITIALIZE*/xp_string j_language; /* user language*/xp_string j_comment; /*ECM*/ /* job comment -jc*/xp_uint16 j_client_id; /* client identifier */xp_uint16 j_start_sheet; /*ECM*/xp_uint16 j_separ_sheet; /*ECM*/xp_uint16 j_end_sheet; /*ECM*/xp_int8 j_nbr[6]; /* server job id*/xp_int8 j_state; /* job status-st*/xp_int8 j_mode; /* command mode*/xp_uint32 j_pre_pid; /* #5 preprocessing - pid*/xp_int8 rq_state; /* #5 job status-st (requested)*/xp_int8 ct_state; /* #5 job status-st (current)*/PADDING_5(2); /* #5 */
};
ECM_j_res
struct ECM_j_res{
OSL-Xprint80A-API-De-02 139
Die Datei xprint.h Anhang
xp_string dlivry_method; /*ECM*/xp_string dlivry_name; /*ECM*/xp_string dlivry_add; /*ECM*/
};
ECM_j_schedul
struct ECM_j_schedul {xp_strsq sch_competitors; /*ECM*/xp_string sch_destin; /* job -de*/xp_string sch_j_state_ins; /* READ ONLY - DO NOT INITIALIZE*/xp_string sch_time_after; /*ECM*/ /* job -at*/xp_string sch_magic; /* READ ONLY - DO NOT INITIALIZE*/xp_string sch_time_retention; /*ECM*/ /* job -rt*/xp_string sch_sub_time; /* job submission time*/xp_string sch_init_destin; /* #4 READ ONLY Initial Dest.*/xp_int32 sch_retention; /* job -rp*/xp_uint32 sch_t_after; /*ECM*/xp_uint32 sch_t_retention; /*ECM*/xp_uint32 sch_t_completion; /* #5 completion time*/xp_uint32 sch_t_started; /* #5 started time*/xp_uint32 sch_s_time;xp_uint32 sch_sv_dtime;xp_uint16 sch_s_wait; /*ECM*/xp_uint16 sch_e_wait; /*ECM*/xp_uint16 sch_hold; /*ECM*/xp_uint16 sch_priority; /*ECM*/ /* job -pr*/xp_uint16 sch_securit_lvl; /* job -sl*/xp_boolean sch_wait_activation; /* job -wa*/
};
ECM_font
struct ECM_font {xp_string eft_name; /*ECM*/xp_string eft_substituter; /*ECM*/
};
ECM_media
struct ECM_media {xp_string eme_name; /*ECM*/xp_string eme_substituter; /*ECM*/
};
ECM_ink
struct ECM_ink {xp_string ein_name; /*ECM*/xp_string ein_substituter; /*ECM*/
};
ECM_select
struct ECM_select {xp_string sel_from; /* job -fr*/
140 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
xp_string sel_to; /* job -to*/xp_string sel_page_select; /*ECM*/ /* job -ps*/xp_string sel_recover_page; /* #3 copy of xpchange -job -rf*/struct check_point sel_check; /* #3 return by SP - saved by SV*/
};
ECM_production
struct ECM_production {struct ECM_font prd_E_font; /*ECM*/struct ECM_media prd_media; /*ECM*/struct ECM_ink prd_ink; /*ECM*/struct ECM_select prd_select; /*ECM*/ /* ECMA +!*/struct Xp_form prd_form; /* job -fm*/struct Xp_font prd_font; /* job -fm(-ft) */xp_string prd_finishing; /*ECM*/xp_string prd_out; /*ECM*/xp_vshsq prd_ff_mode; /* job -ff*/xp_uint16 prd_sides; /*ECM*/xp_uint16 prd_copies[2]; /*ECMA +! */ /* job -fc -fp*/xp_uint16 prd_wrap_mode; /* job -wm*/xp_uint16 prd_tab_width; /* job -tw*/xp_uint16 prd_hopper; /* job -hn*/xp_uint16 prd_obin; /* job -ob*/xp_boolean prd_direct_prt; /* job -dp*/xp_boolean prd_first_page; /* job -sf*/xp_int8 prd_layup; /*ECM*/ /* form -ls*/xp_int8 prd_quality; /*ECM*/ /* font -pq*/struct /* job_options */ sequence prd_options;/* job -op #2*/xp_strsq prd_filters; /* job -fl#2*/xp_strsq prd_ext_ticket; /* #6*/xp_string prd_ext_ticket_type; /* #6*/xp_boolean prd_novalidation; /* job -nv#2*/PADDING(2); /* #2*/xp_strsq prd_lrs; /* #3 job -lr*/struct /*Xp_soft_load*/ sequence prd_private_lrs; /* #3*/struct Xp_soft_load prd_overwrite_lrs; /* #3 job -cr*/xp_strsq prd_postprocess; /*#6job -pp*/
};
ECM_profile
struct ECM_profile {xp_strsq prf_files; /* job -ld */xp_strsq prf_formats; /*ECM*/xp_strsq prf_char_sets; /*ECM*/xp_strsq prf_char_maps; /*ECM*/xp_strsq prf_fonts; /*ECM*/xp_strsq prf_char_rep; /*ECM*/xp_strsq prf_medias; /*ECM*/xp_strsq prf_inks; /*ECM*/xp_strsq prf_hints; /*ECM*/xp_string prf_map_table; /* job -mt */xp_uint16 prf_size[2]; /*ECM*/xp_uint16 prf_orientation; /*ECM*/xp_uint16 prf_page_order; /*ECM*/xp_uint16 prf_page_independent; /*ECM*/PADDING(2);
};
OSL-Xprint80A-API-De-02 141
Die Datei xprint.h Anhang
ECM_doc_uid
struct ECM_doc_uid {xp_string did_title; /*ECM*/xp_string did_author; /*ECM*/xp_string did_comment; /*ECM*/xp_string did_rev_date; /*ECM*/
};
ECM_document
struct ECM_document {struct ECM_profile doc_profile; /*ECM*/struct ECM_doc_uid doc_uid;/*ECM*/xp_string doc_format; /*ECM*/xp_string doc_host; /*ECM*/xp_strsq doc_doc_ref; /*ECM*/ /* job -dr (ECMA+)
*/xp_string doc_description; /*ECM*/xp_strsq doc_fil_ref; /* full path */xp_strsq doc_flt_ref; /* #5 output of flt files
*/xp_strsq doc_rcg_ref; /* #5 output of rcg files
*/xp_strsq doc_viw_ref; /* #5 view files*/xp_string doc_flt_hos; /* #5 flt_ref : host name
*/xp_string doc_rcg_hos; /* #5 rcg_ref : host name
*/xp_string doc_viw_hos; /* #5 viw_ref : host name
*/xp_strsq doc_nfs_host; /* #4 mount host*/xp_strsq doc_nfs_path; /* #4 mount path*/xp_strsq doc_modes; /* job -sm*/xp_string doc_content_type; /* job -ct*/xp_string doc_result_type; /* resulting type*/xp_string doc_stotal_size; /* #4 64 bits job size*/xp_uint32 doc_total_size; /* # bytes to print */xp_uint32 doc_handling; /* #5 which cleanup*/xp_uint32 doc_pages; /* #5 number of pages*/xp_boolean doc_raw_mode; /* job -rw*/xp_boolean doc_no_filter; /* job -nf*/xp_boolean doc_remove; /*ECM*/ /* job -rm*/xp_boolean doc_copy; /*ECM*/ /* job -cp*/xp_uint16 doc_transfer; /*ECM*/xp_uint16 doc_trext; /* extension for future*/
};
ECM_processing
struct ECM_processing {xp_string prc_service; /*ECM*//* now used as filters already*//* applied (Dirac) */xp_strsq prc_flt_applied; /* applied filter cascade
*/};
/* * ECM_notific ===> see in descriptive structures
*/
142 OSL-Xprint80A-API-De-02
Anhang Die Datei xprint.h
ECM_a_crit
struct ECM_a_crit {xp_vshsq a_count; /*ECM*/xp_uint16 a_thresh; /*ECM*/PADDING(2);
};
ECM_w_crit
struct ECM_w_crit {xp_vshsq w_count; /*ECM*/xp_uint16 w_thresh; /*ECM*/PADDING(2);
};
ECM_j_event
struct ECM_j_event {struct ECM_notific ev_notify; /*ECM*/ /* job -no*/struct ECM_a_crit ev_abort; /*ECM*/struct ECM_w_crit ev_warn; /*ECM used by interop */
};
/*
Auftrags-Strukturen
Xp_jid
Diese Struktur definiert eine Auftragskennung.struct Xp_jid {
xp_vshsq jid_strip; /* #2 stripped data*/xp_string jid_gateway; /* gateway identifier#2*/xp_string jid_ic; /* #5 input channel*/xp_string jid_server; /* server id (@<device> if -dp)
*/xp_string jid_jid; /* job id [1..30000] (0 if -dp)
*/xp_string jid_title; /* job title */xp_int16 jid_local_jid; /* local job id */PADDING(2);xp_string jid_local_jid2; /* #6 new local job id */xp_string jid_perm_jid; /* #6 permanent job id */xp_string jid_split_jid; /* #6 group_id (split)*/xp_string jid_multipr_jid; /* #6 group_id (multipr.)*/xp_string jid_js_list; /* #6 group_id (job store)*/
};
Xp_job
Diese Struktur definiert in Xprint V8.0 einen Druckauftrag.
Objekttyp: JO struct Xp_job {
OSL-Xprint80A-API-De-02 143
Die Datei xprint.h Anhang
xp_vshsq jo_strip; /* #2 stripped data*/xp_ext jo_ext; /* #5 extension slot*/xp_vers jo_version;struct ECM_j_info jo_info;struct ECM_j_res jo_result;struct ECM_j_schedul jo_schedul;struct ECM_printer jo_dev;struct ECM_production jo_product;struct ECM_document jo_document;struct ECM_processing jo_process;struct ECM_security jo_security;struct ECM_j_event jo_event;struct Xp_jid jo_id;struct Xp_class jo_T_class;xp_strsq jo_echo;xp_ext jo_custom; /* #6 additional custom variables
*/};
Xp_job_temp
struct Xp_job_temp {xp_string jt_name; /* name -jtp*/xp_strsq jt_frwref; /* #2 forward reference*/xp_strsq jt_bckref; /* #2 backward reference*/xp_vshsq jt_strip; /* #2 stripped data*/xp_ext jt_ext; /* #5 extension slot*/xp_vers jt_version; /* job template xp_version*/xp_string jt_admin; /* job template administrator*/xp_string jt_ad_host; /* administration host -ah*/struct Xp_job jt_job; /* job parameters*/
};
/* */
Mögliche Xprint-Objekte
union Xp_object { struct ECM_printer dv; struct Xp_dgroup dg; struct Xp_filter fl; struct Xp_font ft; struct Xp_form fm; struct Xp_gateway gw; /* #2 */ struct Xp_host ho; struct Xp_soft_load lr; /* #2 */ struct Xp_pcl pl; struct Xp_perm pn; struct Xp_rec_rule rr; struct Xp_superv sp; struct Xp_server sv; struct Xp_sys sy; struct ECM_security us;
struct Xp_class cl; struct Xp_soft_char_set sl;
struct Xp_job jo; struct Xp_job_temp jt;};
#ifdef __cplusplus};
144 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
#endif
#endif /* XPRINT_H */
xp-Kommandos und zugehörige Strukturen
Dieser Abschnitt beschreibt für alle Xprint-Kommandos, welche API-Funktionen diesen entsprechen und welche Strukturen bzw. Struktur-Elemente bei den entsprechenden API-Funktionen für die jeweiligen Kommando-Optionen ver-wendet werden müssen.
Das Kommando xpadd
xpadd -dev/add_all_cli() (ECM_printer.dv_name)
Option Struktur/-Element erlaubte Werte
-aa ECM_printer.dv_aut_act
-ca ECM_printer.dv_comment [CM_ADMIN]
-co ECM_printer.dv_connect_type XP_LAN, XP_SCSI, XP_PARALLEL, XP_SERIAL
-ct ECM_printer.dv_all_type
-cu ECM_printer.dv_comment [CM_USER]
-da ECM_printer.dv_add
-ep ECM_printer.dv_enable_poll
-ev ECM_printer.dv_notify.no_events EV_DEVICE_ERROR, EV_MOUNTING, EV_NONE_NO, EV_ALL
-ex ECM_printer.dv_ext
-fl ECM_printer.dv_filter
-fm ECM_printer.dv_dft_form
-fp ECM_printer.dv_fo_perm
-ho ECM_printer.dv_host
OSL-Xprint80A-API-De-02 145
Kommandos und ihre Strukturen Anhang
-kc ECM_printer.dv_keep_connection XP_CO_PERM, XP_CO_TEMP
-lr ECM_printer.dv_lrs
-me ECM_printer.dv_resource_manager
-ms ECM_printer.dv_start_sheet XP_FULL_SHEET, XP_NONE_SHEET, XP_FREE_SHEET, XP_BRIEF_SHEET
-na ECM_printer.dv_notify.no_address
-nd ECM_printer.dv_notify.no_descriptor
-nm ECM_printer.dv_notify.no_method XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nr ECM_printer.dv_notify.no_frequency
-or ECM_printer.dv_open_retry_time OR_INFINITE
-pb ECM_printer.dv_proto.cn_parity XP_NONE_PAR, XP_EVEN_PAR, XP_ODD_PAR
-pc ECM_printer.dv_pcl
-po ECM_printer.dv_proto.cn_protocol XP_ETX, XP_RXON, XP_XON
-pr ECM_printer.dv_priority
-ps ECM_printer.dv_paper_feed SINGLE_SHEET_MANUAL, LISTING_PAPER, SINGLE_SHEET_AUTO
-rr ECM_printer.dv_rec_rule
-sb ECM_printer.dv_proto.cn_bits 8, 7
-sl ECM_printer.dv_security TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
-sp ECM_printer.dv_proto.cn_speed 38400, 19200, 9600, 4800, 2400, 1200
-su ECM_printer.dv_supervisor
Option Struktur/-Element erlaubte Werte
146 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpadd -dgr/add_all_cli() (Xp_dgroup.dg_name)
xpadd -flt/add_all_cli() (Xp_filter.fl_name)
-sy ECM_printer.dv_stty
-up ECM_printer.dv_usr_perm
Option Struktur/-Element erlaubte Werte
-ah Xp_dgroup.dg_ad_host
-ca Xp_dgroup.dg_comment [CM_ADMIN]
-cu Xp_dgroup.dg_comment [CM_USER]
-dl Xp_dgroup.dg_devlst
-ex Xp_dgroup.dg_ext
-rl Xp_dgroup.dg_rem_devlst
-up Xp_dgroup.dg_uperm
Option Struktur/-Element erlaubte Werte
-ah Xp_filter.fl_ad_host
-ca Xp_filter.fl_comment [CM_ADMIN]
-cm Xp_filter.fl_command
-cu Xp_filter.fl_comment [CM_USER]
-ex Xp_filter.fl_ext
-ho Xp_filter.fl_host_lst
-it Xp_filter.fl_inp_type
-op Xp_filter.fl_options
-ot Xp_filter.fl_out_type
-tp Xp_filter.fl_type XP_FAST, XP_SLOW
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 147
Kommandos und ihre Strukturen Anhang
xpadd -fnt/add_all_cli() (Xp_font.ft_name)
xpadd -frm/add_all_cli() (Xp_form.fm_name)
Option Struktur/-Element erlaubte Werte
-ah Xp_font.ft_ad_host
-ca Xp_font.ft_comment [CM_ADMIN]
-cs Xp_font.ft_style XP_ITALICS, XP_STRAIGHT
-cu Xp_font.ft_comment [CM_USER]
-ex Xp_font.ft_ext
-hm Xp_font.ft_hm
-la Xp_font.ft_language
-pq Xp_font.ft_quality XP_HIGH, XP_NORMAL, XP_DRAFT
-tm Xp_font.ft_type_man
-tp Xp_font.ft_typeface
-vm Xp_font.ft_vm
Option Struktur/-Element erlaubte Werte
-ah Xp_form.fm_ad_host
-ca Xp_form.fm_comment [CM_ADMIN]
-cu Xp_form.fm_comment [CM_USER]
-ex Xp_form.fm_ext
-ft Xp_form.fm_dft_font
-je Xp_form.fm_end XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_form.fm_start XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-ll Xp_form.fm_line
148 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpadd -gtw/add_all_cli() (Xp_gateway.gw_name)
-lm Xp_form.fm_left
-lr Xp_form.fm_lrs
-ls Xp_form.fm_layup XP_PORTRAIT, XP_LANDSCAPE
-mf Xp_form.fm_ft_mandatory
-mm Xp_form.fm_mount_method XP_MANUAL, XP_AUTOMATIC
-nt Xp_form.fm_notify.no_treshold
-ph Xp_form.fm_paper_size [XP_HEIGTH]
-pl Xp_form.fm_page
-pw Xp_form.fm_paper_size [XP_WIDTH]
-sd Xp_form.fm_sides XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sp Xp_form.fm_separator XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-tm Xp_form.fm_top
-up Xp_form.fm_user_perm
Option Struktur/-Element erlaubte Werte
-aa Xp_gateway.gw_aut_act
-ag Xp_gateway.gw_allow_list
-bl Xp_gateway.gw_bkwd_lks
-ca Xp_gateway.gw_comment
-ex Xp_gateway.gw_ext
-ga Xp_gateway.gw_add
-ho Xp_gateway.gw_net.nt_host
-np Xp_gateway.gw_proto
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 149
Kommandos und ihre Strukturen Anhang
xpadd -lrs/add_all_cli() (Xp_soft_load.lr_name)
xpadd -hos/add_all_cli() (Xp_host.ho_name)
-oh Xp_gateway.gw_orig_host
-on Xp_gateway.gw_orig_name
-op Xp_gateway.gw_options
-pp Xp_gateway.gw_print_proto
-tp Xp_gateway.gw_type XP_PARTNER, XP_LOCAL
-up Xp_gateway.gw_uperm
Option Struktur/-Element erlaubte Werte
-ah Xp_soft_load.lr_ad_host
-ca Xp_soft_load.lr_comment[CM_ADMIN]
-cn Xp_soft_load.lr_class
-cr Xp_soft_load.lr_call_resource XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cu Xp_soft_load.lr_comment[CM_USER]
-dl Xp_soft_load.lr_devlst
-ec Xp_soft_load.lr_encapsulate
-ex Xp_soft_load.lr_ext
-fi Xp_soft_load.lr_file
-pc Xp_soft_load.lr_pcl
-pe Xp_soft_load.lr_permanent
-pi Xp_soft_load.lr_int_id
-tp Xp_soft_load.lr_type
Option Struktur/-Element erlaubte Werte
-ca Xp_host.ho_comment [CM_ADMIN]
Option Struktur/-Element erlaubte Werte
150 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpadd -job/add_all_cli()
-cu Xp_host.ho_comment [CM_USER]
-de Xp_host.ho_defdest
-dp Xp_host.ho_def_dev_pri
-ex Xp_host.ho_ext
-fi Xp_host.ho_infile
-fm Xp_host.ho_defform
-ft Xp_host.ho_deffont
-mp Xp_host.ho_def_max_pri
-np Xp_host.ho_protocol XP_ISO, XP_TCP_IP
-os Xp_host.ho_OS XP_BSD, XP_ATT
-pd Xp_host.ho_predecessor
-po Xp_host.ho_position XP_POS_LAST, XP_POS_FIRST
-pr Xp_host.ho_def_job_pri
-re Xp_host.ho_responsibility XP_PARASITE, XP_SLAVE, XP_POT_MASTER
-sh Xp_host.ho_supp_host
-sr Xp_host.ho_sub_root
Option Struktur/-Element erlaubte Werte
-at Xp_job.jo_schedul.sch_time_after
-cp Xp_job.jo_document.doc_copy
-cr Xp_job.jo_product.prd_over-write_lrs.lr_call_resource
XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cs Xp_job.jo_product.prd_font.ft_style XP_ITALICS, XP_STRAIGHT
-ct Xp_job.jo_document.doc_content_type
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 151
Kommandos und ihre Strukturen Anhang
-de Xp_job.jo_schedul.sch_destin
-dp Xp_job.jo_product.prd_direct_prt
-dr Xp_job.jo_document.doc_doc_ref
-ev Xp_job.jo_event.ev_notify.no_events EV_SENT_TO_REM_DOMAIN,EV_REJECT_FR_REM_DOMAIN,EV_RESUMED, EV_MODIFIED, EV_USER, EV_DEVICE_ERROR, EV_ABORTED, EV_SUSPEND, EV_COMPLETED, EV_STARTED, EV_NONE_NO, EV_ALL
-ex Xp_job.jo_ext
-fc Xp_job.jo_product.prd_copies [XP_SFT_CPY]
-ff Xp_job.jo_product.prd_ ff_mode FF_ALL, FF_BETWEEN, FF_AFTER, FF_BEFORE, FF_NONE
-fm Xp_job.jo_product.prd_form.fm_name
-fp Xp_job.jo_product.prd_copies [XP_HRD_CPY]
-fr Xp_job.jo_product.prd_select.sel_from
-ft Xp_job.jo_product.prd_font.ft_name
-hm Xp_job.jo_product.prd_font.ft_hm
-hn Xp_job.jo_product.prd_hopper
-jc Xp_job.jo_info.j_comment
-je Xp_job.jo_product.prd_form.fm_end XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
Option Struktur/-Element erlaubte Werte
152 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-js Xp_job.jo_product.prd_form.fm_start XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-jt Xp_job.jo_info.j_ title
-la Xp_job.jo_product.prd_font.ft_language
-ld Xp_job.jo_document.doc_profile.prf_files
-ll Xp_job.jo_product.prd_form.fm_line
-lm Xp_job.jo_product.prd_form.fm_left
-lr Xp_job.jo_product.prd_lrs
-ls Xp_job.jo_product.prd_form.fm_layup XP_PORTRAIT, XP_LANDSCAPE
-mt Xp_job.docu-ment.doc_profile.prf_map_table
-na Xp_job.jo_event.ev_notify.no_address
-nd Xp_job.jo_event.ev_notify.no_descriptor
-nf Xp_job.jo_document.doc_no_filter
-nm Xp_job.jo_event.ev_notify.no_method XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nv Xp_job.jo_product.prd_novalidation
-ob Xp_job.jo_product.prd_prd_obin
-pc Xp_job.jo_dev.dv_pcl
-pl Xp_job.jo_product.prd_form.fm_page
-pq Xp_job.jo_product.prd_font.ft_quality XP_HIGH, XP_NORMAL, XP_DRAFT
-pr Xp_job.jo_schedul.sch_priority
-ps Xp_job.jo_product.prd_select.sel_page_select
-rm Xp_job.jo_document.doc_remove
-rp Xp_job.jo_schedul.sch_retention RP_INFINITE
-rt Xp_job.jo_schedul.sch_time_retention
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 153
Kommandos und ihre Strukturen Anhang
xpadd -jtp/add_all_cli (Xp_job_temp.jt_name)
-rw Xp_job.jo_document.doc_raw_mode
-sd Xp_job.jo_product.prd_form.fm_sides XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sf Xp_job.jo_product.prd_first_page
-sl Xp_job.jo_schedul.sch_securit_lvl TOP_SECRET, SECRET, CONFIDEN-TIAL, SENSITIVE, UNCLASSIFIED
-sm Xp_job.jo_document.doc_modes
-sp Xp_job.jo_product.prd_form.fm_separator XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-st Xp_job.jo_info.j_state ST_TOP, ST_SUSPEND, ST_WAIT
-te add_job_params.job_template
-tm Xp_job.jo_product.prd_form.fm_top
-to Xp_job.jo_product.prd_select.sel_to
-tp Xp_job.jo_product.prd_font.ft_typeface
-tw Xp_job.jo_product.prd_tab_width
-vm Xp_job.jo_product.prd_font.ft_vm
-wa Xp_job.jo_schedul.sch_wait_activation
-wm Xp_job.jo_product.prd_wrap_mode WR_NONE, WR_WRAP, WR_CUT
Option Struktur/-Element erlaubte Werte
-ah Xp_job_temp.jt_ad_host
-at Xp_job_temp.jt_job.jo_schedul.sch_time_after
Option Struktur/-Element erlaubte Werte
154 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-cp Xp_job_temp.jt_job.jo_document.doc_copy
-cr Xp_job_temp.jt_job.jo_product.prd_overwrite_lrs.lr_call_resource
XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cs Xp_job_temp.jt_job.jo_product.prd_font.ft_style
XP_ITALICS, XP_STRAIGHT
-ct Xp_job_temp.jt_job.jo_document.doc_content_type
-de Xp_job_temp.jt_job.jo_ schedul.sch_destin
-dp Xp_job_temp.jt_job.jo_product.prd_direct_prt
-dr Xp_job_temp.jt_job.jo_ docu-ment.doc_doc_ref
-ev Xp_job_temp.jt_job.jo_ event.ev_notify.no_events
EV_SENT_TO_REM_DOMAIN,EV_REJECT_FR_REM_DOMAIN,EV_RESUMED, EV_MODIFIED, EV_USER, EV_DEVICE_ERROR,EV_ABORTED, EV_SUSPEND, EV_COMPLETED, EV_STARTED,EV_NONE_NO, EV_ALL
-ex Xp_job_temp.jt_job.jo_ ext
-fc Xp_job_temp.jt_job.jo_ prod-uct.prd_copies [XP_SFT_CPY]
-ff Xp_job_temp.jt_job.jo_ product.prd_ ff_mode
FF_ALL, FF_BETWEEN, FF_AFTER, FF_BEFORE, FF_NONE
-fm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_name
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 155
Kommandos und ihre Strukturen Anhang
-fp Xp_job_temp.jt_job.jo_ prod-uct.prd_copies [XP_HRD_CPY]
-fr Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_from
-ft Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_name
-hm Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_hm
-hn Xp_job_temp.jt_job.jo_ prod-uct.prd_hopper
-jc Xp_job_temp.jt_job.jo_ info.j_comment
-je Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_end
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_start
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-jt Xp_job_temp.jt_job.jo_ info.j_title
-la Xp_job_temp.jt_job.jo_ product.prd_font.ft_language
-ld Xp_job_temp.jt_job.jo_ document.doc_profile.prf_files
-ll Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_line
-lm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_left
-lr Xp_job_temp.jt_job.jo_product.prd_lrs
-ls Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_layup
XP_PORTRAIT, XP_LANDSCAPE
-mt Xp_job.docu-ment.doc_profile.prf_map_table
-na Xp_job_temp.jt_job.jo_ event.ev_notify.no_address
Option Struktur/-Element erlaubte Werte
156 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-nd Xp_job_temp.jt_job.jo_ event.ev_notify.no_descriptor
-nf Xp_job_temp.jt_job.jo_ docu-ment.doc_no_filter
-nm Xp_job_temp.jt_job.jo_ event.ev_notify.no_method
XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nv Xp_job_temp.jt_job.jo_ prod-uct.prd_novalidation
-ob Xp_job_temp.jt_job.jo_ prod-uct.prd_prd_obin
-pc Xp_job_temp.jt_job.jo_ dev.dv_pcl
-pl Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_page
-pq Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_quality
XP_HIGH, XP_NORMAL, XP_DRAFT
-pr Xp_job_temp.jt_job.jo_ schedul.sch_priority
-ps Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_page_select
-rm Xp_job_temp.jt_job.jo_ docu-ment.doc_remove
-rp Xp_job_temp.jt_job.jo_ schedul.sch_retention
RP_INFINITE
-rt Xp_job_temp.jt_job.jo_ schedul.sch_time_retention
-rw Xp_job_temp.jt_job.jo_ docu-ment.doc_raw_mode
-sd Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_sides
XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sf Xp_job_temp.jt_job.jo_ prod-uct.prd_first_page
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 157
Kommandos und ihre Strukturen Anhang
xpadd -pcl/add_all_cli() (Xp_pcl.pl_name)
-sl Xp_job_temp.jt_job.jo_ schedul.sch_securit_lvl
TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
-sm Xp_job_temp.jt_job.jo_ docu-ment.doc_modes
-sp Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_separator
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-st Xp_job_temp.jt_job.jo_ info.j_state ST_TOP, ST_SUSPEND, ST_WAIT
-tm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_top
-to Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_to
-tp Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_typeface
-tw Xp_job_temp.jt_job.jo_ prod-uct.prd_tab_width
-tx Xp_job_temp.jt_ext
-vm Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_vm
-wa Xp_job_temp.jt_job.jo_ schedul.sch_wait_activation
-wm Xp_job_temp.jt_job.jo_ prod-uct.prd_wrap_mode
WR_NONE, WR_WRAP, WR_CUT
Option Struktur/-Element erlaubte Werte
-ca Xp_pcl.pl_comment [CM_ADMIN]
-cu Xp_pcl.pl_comment [CM_USER]
-ex Xp_pcl.pl_ext
-fi Xp_pcl.pl_file
Option Struktur/-Element erlaubte Werte
158 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-ho Xp_pcl.pl_host
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 159
Kommandos und ihre Strukturen Anhang
xpadd -prm (Xp_perm.pn_name)
xpadd -rec/add_all_cli() (Xp_rec_rule.rr_name)
xpadd -spv/add_all_cli() (Xp_superv.sp_name)
xpadd -srv/add_all_cli() (Xp_server.sv_name)
Option Struktur/-Element erlaubte Werte
-ah Xp_perm.pn_ad_host
-al Xp_perm.pn_allow
-ca Xp_perm.pn_comment
-dn Xp_perm.pn_deny
-ex Xp_perm.pn_ext
-pt Xp_perm.pn_type FM, US
Option Struktur/-Element erlaubte Werte
-ca Xp_rec_rule.rr_comment
-ex Xp_rec_rule.rr_ext
-fi Xp_rec_rule.rr_file
-ho Xp_rec_rule.rr_host
Option Struktur/-Element erlaubte Werte
-ca Xp_superv.sp_comment
-ho Xp_superv.sp_net.nt_host
-ex Xp_superv.sp_ext
-se Xp_superv.sp_servname
Option Struktur/-Element erlaubte Werte
-ca Xp_server.sv_comment
-ex Xp_server.sv_ext
160 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpadd -usr/add_all_cli() (ECM_security.sc_usr_name)
-ho Xp_server.sv_net.nt_host
-mj Xp_server.sv_jbmax XP_NO_LIMIT
-sp Xp_server.sv_schedpol XP_BIG, XP_SMALL, XP_PRIORITY, XP_SECURITY
-up Xp_server.sv_perm
Option Struktur/-Element erlaubte Werte
-aj ECM_security.sc_jobs_allowed XP_NO_LIMIT
-ap ECM_security.sc_pages_allowed XP_NO_LIMIT
-ca ECM_security.sc_comment
-ex ECM_security.sc_ext
-ho ECM_security.sc_host
-nc ECM_security.sc_max_copies XP_NO_LIMIT
-pr ECM_security.sc_max_priority XP_UNDEFINED
-pv ECM_security.sc_privileges ALL_PRIVIL, NONE_PRIVIL, ANY_DEVICE, TOP_PRIVIL
-sl ECM_security.sc_securit_lvl TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
-ua ECM_security.sc_usr_account
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 161
Kommandos und ihre Strukturen Anhang
Das Kommando xpchange
xpchange -dev/chg_dev_cli() (ECM_printer.dv_name)
xpchange -dgr/chg_dgr_cli() (Xp_dgroup.dg_name)
xpchange -gtw/chg_gtw_cli() (Xp_gateway.gw_name)
Option Struktur/-Element erlaubte Werte
-is chg_dev_params.no_redir_jobs
-ju chg_dev_params.justification
-mf chg_dev_params.cur_form
-np chg_dev_params.change_type CH_UNTIL_END, CH_NEXT_PAGE, CH_AGAIN
-pr chg_dev_params.new_priority
-rd chg_dev_params.dv_redirect
-sf chg_dev_params.change_type
-si chg_dev_params.new_spoolin CH_OFF, CH_ON
-so chg_dev_params.new_spoolout CH_OFF, CH_ON
-st chg_dev_params.new_state CH_NOT_ACTIVE, CH_ACTIVE
-uf chg_dev_params.form_manip
-wn chg_dev_params.when_tbd WT_DELETE, WT_NOW, WT_END, WT_LAST
Option Struktur/-Element erlaubte Werte
-ju chg_dgr_params.justification
-si chg_dgr_params.new_spoolin CH_OFF, CH_ON
Option Struktur/-Element erlaubte Werte
-gi chg_gtw_params.new_in CH_OFF, CH_ON
162 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpchange -job/chg_job_cli() (Xp_job.jo_id.jid_jid)
xpchange -spv/chg_spv_cli() (Xp_superv.sp_name)
xpchange -srv/chg_srv_cli() (Xp_server.sv_name)
-go chg_gtw_params.new_out CH_OFF, CH_ON
-ju chg_gtw_params.justification
-sa chg_gtw_params.activation XP_GW_COLD, XP_GW_WARM
-st chg_gtw_params.new_state CH_ACTIVE, CH_NOT_ACTIVE
-wn chg_gtw_params.when_tbd WT_GW_LAST_TRANS, WT_GW_NOW
Option Struktur/-Element erlaubte Werte
-ps chg_job_params.page_select
-st chg_job_params.new_state CH_WAIT, CH_SCHED_ACTIVE, CH_SUSPEND, CH_TOP
Option Struktur/-Element erlaubte Werte
-ju chg_spv_params.justification
-st chg_spv_params.new_state CH_ACTIVE, CH_NOT_ACTIVE
Option Struktur/-Element erlaubte Werte
-ju chg_srv_params.justification
-sa chg_srv_params.activation XP_COLD, XP_WARM
-si chg_srv_params.new_spoolin CH_OFF, CH_ON
-so chg_srv_params.new_spoolout CH_OFF, CH_ON
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 163
Kommandos und ihre Strukturen Anhang
xpchange -usr/chg_usr_cli() (ECM_security.sc_usr_name)
Das Kommando xpcopy
xpcopy -dev/cpy_all_cli()
Der Aufruf xpcopy -dev d1 d2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (d1, d2), wobei d1 und d2 Zeiger auf die beiden Strukturen vom Typ ECM_printer sind.
-st chg_srv_params.new_state CH_ACTIVE, CH_NOT_ACTIVE
Option Struktur/-Element erlaubte Werte
-cj chg_usr_params.cons_jobs
-cp chg_usr_params.cons_pages
Option Struktur/-Element erlaubte Werte
-aa ECM_printer.dv_aut_act
-ad ECM_printer.dv_admin
-ca ECM_printer.dv_comment [CM_ADMIN]
-co ECM_printer.dv_connect_type XP_LAN, XP_SCSI, XP_PARALLEL, XP_SERIAL
-ct ECM_printer.dv_all_type
-cu ECM_printer.dv_comment [CM_USER]
-da ECM_printer.dv_add
-ep ECM_printer.dv_enable_poll
-ev ECM_printer.dv_notify.no_events EV_DEVICE_ERROR, EV_MOUNTING, EV_NONE_NO, EV_ALL
-ex ECM_printer.dv_ext
-fl ECM_printer.dv_filter
Option Struktur/-Element erlaubte Werte
164 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-fm ECM_printer.dv_dft_form
-fp ECM_printer.dv_fo_perm
-ho ECM_printer.dv_host
-kc ECM_printer.dv_keep_connection XP_CO_PERM, XP_CO_TEMP
-lr ECM_printer.dv_lrs
-me ECM_printer.dv_resource_mngr
-ms ECM_printer.dv_start_sheet XP_FULL_SHEET, XP_NONE_SHEET, XP_FREE_SHEET, XP_BRIEF_SHEET
-na ECM_printer.dv_notify.no_address
-nd ECM_printer.dv_notify.no_descriptor
-nm ECM_printer.dv_notify.no_method XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nr ECM_printer.dv_notify.no_frequency
-or ECM_printer.dv_open_retry_time OR_INFINITE
-pb ECM_printer.dv_proto.cn_parity XP_NONE_PAR, XP_EVEN_PAR, XP_ODD_PAR
-pc ECM_printer.dv_pcl
-po ECM_printer.dv_proto.cn_protocol XP_ETX, XP_RXON, XP_XON
-pr ECM_printer.dv_priority
-ps ECM_printer.dv_paper_feed SINGLE_SHEET_MANUAL, LISTING_PAPER, SINGLE_SHEET_AUTO
-rr ECM_printer.dv_rec_rule
-sb ECM_printer.dv_proto.cn_bits 8, 7
-sl ECM_printer.dv_security TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 165
Kommandos und ihre Strukturen Anhang
xpcopy -dgr/cpy_all_cli()
Der Aufruf xpcopy -dgr d1 d2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (d1, d2), wobei d1 und d2 Zeiger auf die beiden Strukturen vom Typ Xp_dgroup sind.
xpcopy -flt/cpy_all_cli()
Der Aufruf xpcopy -flt f1 f2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (f1, f2), wobei f1 und f2 Zeiger auf die beiden Strukturen vom Typ Xp_filter sind.
-sp ECM_printer.dv_proto.cn_speed 38400, 19200, 9600, 4800, 2400, 1200
-su ECM_printer.dv_supervisor
-sy ECM_printer.dv_stty
-up ECM_printer.dv_usr_perm
Option Struktur/-Element erlaubte Werte
-ad Xp_dgroup.dg_admin
-ah Xp_dgroup.dg_ad_host
-ca Xp_dgroup.dg_comment [CM_ADMIN]
-cu Xp_dgroup.dg_comment [CM_USER]
-dl Xp_dgroup.dg_devlst
-ex Xp_dgroup.dg_ext
-up Xp_dgroup.dg_uperm
Option Struktur/-Element erlaubte Werte
-ad Xp_filter.fl_admin
-ah Xp_filter.fl_ad_host
-ca Xp_filter.fl_comment [CM_ADMIN]
-cm Xp_filter.fl_command
-cu Xp_filter.fl_comment [CM_USER]
Option Struktur/-Element erlaubte Werte
166 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpcopy -fnt/cpy_all_cli()
Der Aufruf xpcopy -fnt f1 f2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (f1, f2), wobei f1 und f2 Zeiger auf die beiden Strukturen vom Typ Xp_font sind.
-ex Xp_filter.fl_ext
-ho Xp_filter.fl_host_lst
-it Xp_filter.fl_inp_type
-op Xp_filter.fl_options
-ot Xp_filter.fl_out_type
Option Struktur/-Element erlaubte Werte
-ad Xp_font.ft_admin
-ah Xp_font.ft_ad_host
-ca Xp_font.ft_comment [CM_ADMIN]
-cs Xp_font.ft_style XP_ITALICS, XP_STRAIGHT
-cu Xp_font.ft_comment [CM_USER]
-ex Xp_font.ft_ext
-hm Xp_font.ft_hm
-la Xp_font.ft_language
-pq Xp_font.ft_quality XP_HIGH, XP_NORMAL, XP_DRAFT
-tm Xp_font.ft_type_man
-tp Xp_font.ft_typeface
-vm Xp_font.ft_vm
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 167
Kommandos und ihre Strukturen Anhang
xpcopy -frm/cpy_all_cli()
Der Aufruf xpcopy -frm f1 f2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (f1, f2), wobei f1 und f2 Zeiger auf die beiden Strukturen vom Typ Xp_form sind.
Option Struktur/-Element erlaubte Werte
-ad Xp_form.fm_admin
-ah Xp_form.fm_ad_host
-ca Xp_form.fm_comment [CM_ADMIN]
-cu Xp_form.fm_comment [CM_USER]
-ex Xp_form.fm_ext
-ft Xp_form.fm_dft_font
-je Xp_form.fm_end XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_form.fm_start XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-ll Xp_form.fm_line
-lm Xp_form.fm_left
-lr Xp_form.fm_lrs
-ls Xp_form.fm_layup XP_PORTRAIT, XP_LANDSCAPE
-mf Xp_form.fm_ft_mandatory
-mm Xp_form.fm_mount_method XP_MANUAL, XP_AUTOMATIC
-nt Xp_form.fm_notify.no_treshold
-ph Xp_form.fm_paper_size [XP_HEIGTH]
-pl Xp_form.fm_page
-pw Xp_form.fm_paper_size [XP_WIDTH]
-sd Xp_form.fm_sides XP_DOUBLE_NARROWXP_DOUBLE_WIDE, XP_SINGLE
168 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpcopy -gtw/cpy_all_cli()
Der Aufruf xpcopy -gtw g1 g2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (g1, g2), wobei g1 und g2 Zeiger auf die beiden Strukturen vom Typ Xp_gateway sind.
-sp Xp_form.fm_separator XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-tm Xp_form.fm_top
-up Xp_form.fm_user_perm
Option Struktur/-Element erlaubte Werte
-aa Xp_gateway.gw_aut_act
-ad Xp_gateway.gw_admin
-ag Xp_gateway.gw_allow_list
-bl Xp_gateway.gw_bkwd_lks
-ca Xp_gateway.gw_comment
-ex Xp_gateway.gw_ext
-ga Xp_gateway.gw_add
-ho Xp_gateway.gw_net.nt_host
-np Xp_gateway.gw_proto
-oh Xp_gateway.gw_orig_host
-on Xp_gateway.gw_orig_name
-op Xp_gateway.gw_options
-pp Xp_gateway.gw_print_proto
-tp Xp_gateway.gw_type XP_PARTNER, XP_LOCAL
-up Xp_gateway.gw_uperm
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 169
Kommandos und ihre Strukturen Anhang
xpcopy -jtp/cpy_all_cli()
Der Aufruf xpcopy -jtp j1 j2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (j1, j2), wobei j1 und j2 Zeiger auf die beiden Strukturen vom Typ Xp_job sind.
Option Struktur/-Element erlaubte Werte
-ad Xp_job_temp.jt_admin
-ah Xp_job_temp.jt_ad_host
-at Xp_job_temp.jt_job.jo_schedul.sch_time_after
-cp Xp_job_temp.jt_job.jo_document.doc_copy
-cr Xp_job_temp.jt_job.jo_product.prd_overwrite_lrs.lr_call_resource
XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cs Xp_job_temp.jt_job.jo_product.prd_font.ft_style
XP_ITALICS, XP_STRAIGHT
-ct Xp_job_temp.jt_job.jo_document.doc_content_type
-de Xp_job_temp.jt_job.jo_ schedul.sch_destin
-dp Xp_job_temp.jt_job.jo_product.prd_direct_prt
-dr Xp_job_temp.jt_job.jo_ docu-ment.doc_doc_ref
-ev Xp_job_temp.jt_job.jo_ event.ev_notify.no_events
EV_SENT_TO_REM_DOMAIN, EV_REJECT_FR_REM_DOMAIN,EV_RESUMED, EV_MODIFIED, EV_USER, EV_DEVICE_ERROR, EV_ABORTED, EV_SUSPEND, EV_COMPLETED, EV_STARTED, EV_NONE_NO, EV_ALL
170 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-ex Xp_job_temp.jt_job.jo_ext
-fc Xp_job_temp.jt_job.jo_ prod-uct.prd_copies [XP_SFT_CPY]
-ff Xp_job_temp.jt_job.jo_ product.prd_ ff_mode
FF_ALL, FF_BETWEEN, FF_AFTER, FF_BEFORE, FF_NONE
-fm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_name
-fp Xp_job_temp.jt_job.jo_ prod-uct.prd_copies [XP_HRD_CPY]
-fr Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_from
-ft Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_name
-hm Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_hm
-hn Xp_job_temp.jt_job.jo_ prod-uct.prd_hopper
-jc Xp_job_temp.jt_job.jo_ info.j_comment
-je Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_end
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_start
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-jt Xp_job_temp.jt_job.jo_ info.j_title
-la Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_language
-ld Xp_job_temp.jt_job.jo_ docu-ment.doc_profile.prf_files
-ll Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_line
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 171
Kommandos und ihre Strukturen Anhang
-lm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_left
-lr Xp_job_temp.jt_job.jo_product.prd_lrs
-ls Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_layup
XP_PORTRAIT, XP_LANDSCAPE
-mt Xp_job.docu-ment.doc_profile.prf_map_table
-na Xp_job_temp.jt_job.jo_ event.ev_notify.no_address
-nd Xp_job_temp.jt_job.jo_ event.ev_notify.no_descriptor
-nf Xp_job_temp.jt_job.jo_ docu-ment.doc_no_filter
-nm Xp_job_temp.jt_job.jo_ event.ev_notify.no_method
XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nv Xp_job_temp.jt_job.jo_ prod-uct.prd_novalidation
-ob Xp_job_temp.jt_job.jo_ prod-uct.prd_prd_obin
-pc Xp_job_temp.jt_job.jo_ dev.dv_pcl
-pl Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_page
-pq Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_quality
XP_HIGH, XP_NORMAL, XP_DRAFT
-pr Xp_job_temp.jt_job.jo_ schedul.sch_priority
-ps Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_page_select
-rm Xp_job_temp.jt_job.jo_ docu-ment.doc_remove
-rp Xp_job_temp.jt_job.jo_ schedul.sch_retention
RP_INFINITE
-rt Xp_job_temp.jt_job.jo_ schedul.sch_time_retention
Option Struktur/-Element erlaubte Werte
172 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-rw Xp_job_temp.jt_job.jo_ docu-ment.doc_raw_mode
-sd Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_sides
XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sf Xp_job_temp.jt_job.jo_ prod-uct.prd_first_page
-sl Xp_job_temp.jt_job.jo_ schedul.sch_securit_lvl
TOP_SECRET, SECRET, CONFIDENTIAL, SENSITIVE, UNCLASSIFIED
-sm Xp_job_temp.jt_job.jo_ docu-ment.doc_modes
-sp Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_separator
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-st Xp_job_temp.jt_job.jo_ info.j_state ST_TOP, ST_SUSPEND, ST_WAIT
-tm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_top
-to Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_to
-tp Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_typeface
-tw Xp_job_temp.jt_job.jo_ prod-uct.prd_tab_width
-tx Xp_job_temp.jt_ext
-vm Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_vm
-wm Xp_job_temp.jt_job.jo_ prod-uct.prd_wrap_mode
WR_NONE, WR_WRAP, WR_CUT
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 173
Kommandos und ihre Strukturen Anhang
xpcopy -lrs/cpy_all_cli()
xpcopy -prm/cpy_all_cli()
Der Aufruf xpcopy -prm p1 p2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (p1, p2), wobei p1 und p2 Zeiger auf die beiden Strukturen vom Typ Xp_perm sind.
Option Struktur/-Element erlaubte Werte
-ad Xp_soft_load.lr_admin
-ah Xp_soft_load.lr_ad_host
-ca Xp_soft_load.lr_comment[CM_ADMIN]
-cn Xp_soft_load.lr_class
-cr Xp_soft_load.lr_call_resource XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cu Xp_soft_load.lr_comment[CM_USER]
-dl Xp_soft_load.lr_devlst
-ec Xp_soft_load.lr_encapsulate
-ex Xp_soft_load.lr_ext
-fi Xp_soft_load.lr_file
-pc Xp_soft_load.lr_pcl
-pe Xp_soft_load.lr_permanent
-pi Xp_soft_load.lr_int_id
-tp Xp_soft_load.lr_type
Option Struktur/-Element erlaubte Werte
-ad Xp_perm.pn_admin
-ah Xp_perm.pn_ad_host
-al Xp_perm.pn_allow
-ca Xp_perm.pn_comment
-dn Xp_perm.pn_deny
-ex Xp_perm.pn_ext
174 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpcopy -srv/cpy_all_cli()
Der Aufruf xpcopy -srv s1 s2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (s1, s2), wobei s1 und s2 Zeiger auf die beiden Strukturen vom Typ Xp_server sind.
xpcopy -spv/cpy_all_cli()
Der Aufruf xpcopy -spv s1 s2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (s1, s2), wobei s1 und s2 Zeiger auf die beiden Strukturen vom Typ Xp_superv sind.
-pt Xp_perm.pn_type FM, US
Option Struktur/-Element erlaubte Werte
-ad Xp_server.sv_admin
-ca Xp_server.sv_comment
-ex Xp_server.sv_ext
-ho Xp_server.sv_net.nt_host
-mj Xp_server.sv_jbmax XP_NO_LIMIT
-sp Xp_server.sv_schedpol XP_BIG, XP_SMALL, XP_PRIORITY, XP_SECURITY
-up Xp_server.sv_perm
Option Struktur/-Element erlaubte Werte
-ad Xp_superv.sp_admin
-ca Xp_superv.sp_comment
-ex Xp_superv.sp_ext
-ho Xp_superv.sp_net.nt_host
-se Xp_superv.sp_servname
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 175
Kommandos und ihre Strukturen Anhang
xpcopy -usr/cpy_all_cli()
Der Aufruf xpcopy -usr u1 u2 wird mit der Funktion cpy_all_cli() so umgesetzt: cpy_all_cli (u1, u2), wobei u1 und u2 Zeiger auf die beiden Strukturen vom Typ ECM_security sind.
Das Kommando xpdel
Option Struktur/-Element erlaubte Werte
-aj ECM_security.sc_jobs_allowed XP_NO_LIMIT
-ap ECM_security.sc_pages_allowed XP_NO_LIMIT
-ca ECM_security.sc_comment
-cl ECM_security.sc_host
-ex ECM_security.sc_ext
-ho ECM_security.sc_host
-nc ECM_security.sc_max_copies XP_NO_LIMIT
-pr ECM_security.sc_max_priority XP_UNDEFINED
-pv ECM_security.sc_privileges ALL_PRIVIL, NONE_PRIVIL, ANY_DEVICE, TOP_PRIVIL
-sl ECM_security.sc_securit_lvl TOP_SECRET, SECRET, CONFIDEN-TIAL, SENSITIVE, UNCLASSIFIED
-ua ECM_security.sc_usr_account
Option Struktur
xpdel -dev/del_all_cli ECM_printer.dv_name
xpdel -dgr/del_all_cli Xp_dgroup.dg_name
xpdel -flt/del_all_cli Xp _filter.fl_name
xpdel -fnt/del_all_cli Xp_font.ft_name
xpdel -frm/del_all_cli Xp_form.fm_name
176 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
Das Kommando xpmod
xpmod -dev/mod_all_cli() (ECM.printer-dv_name)
xpdel -gtw/del_all_cli Xp_gateway.gw_name
xpdel -hos/del_all_cli Xp_host.ho_name
xpdel -job/del_job_cli Xp_job.jo_id.jid_jid
xpdel -jtp/del_all_cli Xp_job_temp.jt_name
xpdel -lrs/del_all_cli Xp_soft_load.lr_name
xpdel -pcl/del_all_cli Xp_pcl.pl_name
xpdel -prm/del_all_cli Xp_perm.pn_name
xpdel -rec/del_all_cli Xp_rec_rule.rr_name
xpdel -spv/del_all_cli Xp_superv.sp_name
xpdel -srv/del_all_cli Xp_server.sv_name
xpdel -usr/del_all_cli ECM_security.sc_usr_name
Option Struktur/-Element erlaubte Werte
-aa ECM_printer.dv_aut_act
-ad ECM_printer.dv_admin
-ca ECM_printer.dv_comment [CM_ADMIN]
-co ECM_printer.dv_connect_type XP_LAN, XP_SCSI, XP_PARALLEL, XP_SERIAL
-ct ECM_printer.dv_all_type
-cu ECM_printer.dv_comment [CM_USER]
-da ECM_printer.dv_add
-ep ECM_printer.dv_enable_poll
-ev ECM_printer.dv_notify.no_events EV_DEVICE_ERROR, EV_MOUNTING, EV_NONE_NO, EV_ALL
-ex ECM_printer.dv_ext
Option Struktur
OSL-Xprint80A-API-De-02 177
Kommandos und ihre Strukturen Anhang
-fl ECM_printer.dv_filter
-fm ECM_printer.dv_dft_form
-fp ECM_printer.dv_fo_perm
-ho ECM_printer.dv_host
-kc ECM_printer.dv_keep_connection XP_CO_PERM, XP_CO_TEMP
-lr ECM_printer.dv_lrs
-me ECM_printer.dv_resource_mngr
-ms ECM_printer.dv_start_sheet XP_FULL_SHEET, XP_NONE_SHEET, XP_FREE_SHEET, XP_BRIEF_SHEET
-na ECM_printer.dv_notify.no_address
-nd ECM_printer.dv_notify.no_descriptor
-nm ECM_printer.dv_notify.no_method XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nr ECM_printer.dv_notify.no_frequency
-or ECM_printer.dv_open_retry_time OR_INFINITE
-pb ECM_printer.dv_proto.cn_parity XP_NONE_PAR, XP_EVEN_PAR, XP_ODD_PAR
-pc ECM_printer.dv_pcl
-po ECM_printer.dv_proto.cn_protocol XP_ETX, XP_RXON, XP_XON
-pr ECM_printer.dv_priority
-ps ECM_printer.dv_paper_feed SINGLE_SHEET_MANUAL, LISTING_PAPER, SINGLE_SHEET_AUTO
-rr ECM_printer.dv_rec_rule
-sb ECM_printer.dv_proto.cn_bits 8, 7
Option Struktur/-Element erlaubte Werte
178 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpmod -dgr/mod_all_cli() (Xp_dgroup.dg_name)
xpmod -flt/mod_all_cli() (Xp_filter.fl_name)
-sl ECM_printer.dv_security TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
-sp ECM_printer.dv_proto.cn_speed 38400, 19200, 9600, 4800, 2400, 1200
-su ECM_printer.dv_supervisor
-sy ECM_printer.dv_stty
-up ECM_printer.dv_usr_perm
Option Struktur/-Element erlaubte Werte
-ad Xp_dgroup.dg_admin
-ah Xp_dgroup.dg_ad_host
-ca Xp_dgroup.dg_comment [CM_ADMIN]
-cu Xp_dgroup.dg_comment [CM_USER]
-dl Xp_dgroup.dg_devlst
-ex Xp_dgroup.dg_ext
-up Xp_dgroup.dg_uperm
Option Struktur/-Element erlaubte Werte
-ad Xp_filter.fl_admin
-ah Xp_filter.fl_ad_host
-ca Xp_filter.fl_comment [CM_ADMIN]
-cm Xp_filter.fl_command
-cu Xp_filter.fl_comment [CM_USER]
-ex Xp_filter.fl_ext
-ho Xp_filter.fl_host_lst
-it Xp_filter.fl_inp_type
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 179
Kommandos und ihre Strukturen Anhang
xpmod -fnt/mod_all_cli() (Xp_font.ft_name)
xpmod -frm/mod_all_cli() (Xp_form.fm_name)
-op Xp_filter.fl_options
-ot Xp_filter.fl_out_type XP_FAST, XP_SLOW
Option Struktur/-Element erlaubte Werte
-ad Xp_font.ft_admin
-ah Xp_font.ft_ad_host
-ca Xp_font.ft_comment [CM_ADMIN]
-cs Xp_font.ft_style XP_ITALICS, XP_STRAIGHT
-cu Xp_font.ft_comment [CM_USER]
-ex Xp_font.ft_ext
-hm Xp_font.ft_hm
-la Xp_font.ft_language
-pq Xp_font.ft_quality XP_HIGH, XP_NORMAL, XP_DRAFT
-tm Xp_font.ft_type_man
-tp Xp_font.ft_typeface
-vm Xp_font.ft_vm
Option Struktur/-Element erlaubte Werte
-ad Xp_form.fm_admin
-ah Xp_form.fm_ad_host
-ca Xp_form.fm_comment [CM_ADMIN]
-ex Xp_form.fm_ext
-ft Xp_form.fm_dft_font
Option Struktur/-Element erlaubte Werte
180 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-je Xp_form.fm_end XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_form.fm_start XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-ll Xp_form.fm_line
-lm Xp_form.fm_left
-lr Xp_form.fm_lrs
-ls Xp_form.fm_layup XP_PORTRAIT, XP_LANDSCAPE
-mf Xp_form.fm_ft_mandatory
-mm Xp_form.fm_mount_method XP_MANUAL, XP_AUTOMATIC
-nt Xp_form.fm_notify.no_treshold
-ph Xp_form.fm_paper_size [XP_HEIGTH]
-pl Xp_form.fm_page
-pw Xp_form.fm_paper_size [XP_WIDTH]
-sd Xp_form.fm_sides XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sp Xp_form.fm_separator XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-tm Xp_form.fm_top
-up Xp_form.fm_user_perm
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 181
Kommandos und ihre Strukturen Anhang
xpmod -gtw/mod_all_cli() (Xp_gateway.gw_name)
xpmod -hos/mod_all_cli() (Xp_host.ho_name)
Option Struktur/-Element erlaubte Werte
-aa Xp_gateway.gw_aut_act
-ad Xp_gateway.gw_admin
-ag Xp_gateway.gw_allow_list
-bl Xp_gateway.gw_bkwd_lks
-ca Xp_gateway.gw_comment
-ex Xp_gateway.gw_ext
-ga Xp_gateway.gw_add
-ho Xp_gateway.gw_net.nt_host
-np Xp_gateway.gw_proto
-oh Xp_gateway.gw_orig_host
-on Xp_gateway.gw_orig_name
-op Xp_gateway.gw_options
-pp Xp_gateway.gw_print_proto
-tp Xp_gateway.gw_type XP_PARTNER, XP_LOCAL
-up Xp_gateway.gw_uperm
Option Struktur/-Element erlaubte Werte
-ca Xp_host.ho_comment [CM_ADMIN]
-cu Xp_host.ho_comment [CM_USER]
-de Xp_host.ho_defdest
-dp Xp_host.ho_def_dev_pri
-ex Xp_host.ho_ext
-fi Xp_host.ho_infile
-fm Xp_host.ho_defform
-ft Xp_host.ho_deffont
182 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpmod -job/mod_all_cli() (Xp_job.jo.jid_jid)
-mp Xp_host.ho_def_max_pri
-np Xp_host.ho_protocol XP_ISO, XP_TCP_IP
-pd Xp_host.ho_predecessor
-po Xp_host.ho_position XP_POS_LAST, XP_POS_FIRST
-pr Xp_host.ho_def_job_pri
-re Xp_host.ho_responsibility XP_PARASITE, XP_SLAVE, XP_POT_MASTER
-sh Xp_host.ho_supp_host
-sr Xp_host.ho_sub_root
Option Struktur/-Element erlaubte Werte
-at Xp_job.jo_schedul.sch_time_after
-cr Xp_job.jo_product.prd_overwrite_lrs.lr_call_resource
XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cs Xp_job.jo_product.prd_font.ft_style XP_ITALICS, XP_STRAIGHT
-de Xp_job.jo_schedul.sch_destin
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 183
Kommandos und ihre Strukturen Anhang
-ev Xp_job.jo_event.ev_notify.no_events EV_SENT_TO_REM_DOMAIN, EV_REJECT_FR_REM_DOMAIN, EV_RESUMED, EV_MODIFIED, EV_USER, EV_DEVICE_ERROR, EV_ABORTED, EV_SUSPEND, EV_COMPLETED, EV_STARTED, EV_NONE_NO, EV_ALL
-ex Xp_job.jo_event.ext
-fc Xp_job.jo_product.prd_copies [XP_SFT_CPY]
-ff Xp_job.jo_product.prd_ ff_mode FF_ALL, FF_BETWEEN, FF_AFTER, FF_BEFORE, FF_NONE
-fm Xp_job.jo_product.prd_form.fm_name
-fp Xp_job.jo_product.prd_copies [XP_HRD_CPY]
-fr Xp_job.jo_product.prd_select.sel_from
-ft Xp_job.jo_product.prd_font.ft_name
-hm Xp_job.jo_product.prd_font.ft_hm
-hn Xp_job.jo_product.prd_hopper
-jc Xp_job.jo_info.j_comment
-je Xp_job.jo_product.prd_form.fm_end XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_job.jo_product.prd_form.fm_start XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
Option Struktur/-Element erlaubte Werte
184 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-la Xp_job.jo_product.prd_font.ft_language
-ld Xp_job.jo_document.doc_profile.prf_files
-ll Xp_job.jo_product.prd_form.fm_line
-lm Xp_job.jo_product.prd_form.fm_left
-lr Xp_job.jo_product.prd_lrs
-ls Xp_job.jo_product.prd_form.fm_layup XP_PORTRAIT, XP_LANDSCAPE
-mt Xp_job.docu-ment.doc_profile.prf_map_table
-na Xp_job.jo_event.ev_notify.no_address
-nd Xp_job.jo_event.ev_notify.no_descriptor
-nm Xp_job.jo_event.ev_notify.no_method XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-ob Xp_job.jo_product.prd_prd_obin
-pc Xp_job.jo_dev.dv_pcl
-pl Xp_job.jo_product.prd_form.fm_page
-pq Xp_job.jo_product.prd_font.ft_quality XP_HIGH, XP_NORMAL, XP_DRAFT
-pr Xp_job.jo_schedul.sch_priority
-ps Xp_job.jo_product.prd_select.sel_page_select
-rm Xp_job.jo_document.doc_remove
-rp Xp_job.jo_schedul.sch_retention RP_INFINITE
-rt Xp_job.jo_schedul.sch_time_retention
-rw Xp_job.jo_document.doc_raw_mode
-sd Xp_job.jo_product.prd_form.fm_sides XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sf Xp_job.jo_product.prd_first_page
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 185
Kommandos und ihre Strukturen Anhang
xpmod -jtp/mod_all_cli() (Xp_job.temp.jt_name)
-sl Xp_job.jo_schedul.sch_securit_lvl TOP_SECRET, SECRET, CONFIDEN-TIAL, SENSITIVE, UNCLASSIFIED
-sp Xp_job.jo_product.prd_form.fm_separator XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-tm Xp_job.jo_product.prd_form.fm_top
-to Xp_job.jo_product.prd_select.sel_to
-tp Xp_job.jo_product.prd_font.ft_typeface
-tw Xp_job.jo_product.prd_tab_width
-vm Xp_job.jo_product.prd_font.ft_vm
-wa Xp_job.jo_schedul.sch_wait_activation
-wm Xp_job.jo_product.prd_wrap_mode WR_NONE, WR_WRAP, WR_CUT
Option Struktur/-Element erlaubte Werte
-ad Xp_job_temp.jt_admin
-ah Xp_job_temp.jt_ad_host
-at Xp_job_temp.jt_job.jo_schedul.sch_time_after
-cp Xp_job_temp.jt_job.jo_document.doc_copy
-cr Xp_job_temp.jt_job.jo_product.prd_overwrite_lrs.lr_call_resource
XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cs Xp_job_temp.jt_job.jo_pro-duct.prd_font.ft_style
XP_ITALICS, XP_STRAIGHT
-ct Xp_job_temp.jt_job.jo_document.doc_content_type
Option Struktur/-Element erlaubte Werte
186 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-de Xp_job_temp.jt_job.jo_ schedul.sch_destin
-dp Xp_job_temp.jt_job.jo_product.prd_direct_prt
-dr Xp_job_temp.jt_job.jo_ docu-ment.doc_doc_ref
-ev Xp_job_temp.jt_job.jo_ event.ev_notify.no_events
EV_SENT_TO_REM_DOMAIN,EV_REJECT_FR_REM_DOMAINEV_RESUMED, EV_MODIFIED, EV_USER, EV_DEVICE_ERROR, EV_ABORTED, EV_SUSPEND, EV_COMPLETED, EV_STARTED, EV_NONE_NO, EV_ALL
-ex Xp_job_temp.jt_job.jo_ ext
-fc Xp_job_temp.jt_job.jo_ prod-uct.prd_copies [XP_SFT_CPY]
-ff Xp_job_temp.jt_job.jo_ product.prd_ ff_mode
FF_ALL, FF_BETWEEN, FF_AFTER, FF_BEFORE, FF_NONE
-fm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_name
-fp Xp_job_temp.jt_job.jo_ prod-uct.prd_copies [XP_HRD_CPY]
-fr Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_from
-ft Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_name
-hm Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_hm
-hn Xp_job_temp.jt_job.jo_ prod-uct.prd_hopper
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 187
Kommandos und ihre Strukturen Anhang
-jc Xp_job_temp.jt_job.jo_ info.j_comment
-je Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_end
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-js Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_start
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-jt Xp_job_temp.jt_job.jo_ info.j_title
-la Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_language
-ld Xp_job_temp.jt_job.jo_ docu-ment.doc_profile.prf_files
-ll Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_line
-lm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_left
-lr Xp_job_temp.jt_job.jo_product.prd_lrs
-ls Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_layup
XP_PORTRAIT, XP_LANDSCAPE
-mt Xp_job.docu-ment.doc_profile.prf_map_table
-na Xp_job_temp.jt_job.jo_ event.ev_notify.no_address
-nd Xp_job_temp.jt_job.jo_ event.ev_notify.no_descriptor
-nf Xp_job_temp.jt_job.jo_ docu-ment.doc_no_filter
-nm Xp_job_temp.jt_job.jo_ event.ev_notify.no_method
XP_FILE, XP_MAIL, XP_WRITE, XP_COMMAND
-nv Xp_job_temp.jt_job.jo_ prod-uct.prd_novalidation
Option Struktur/-Element erlaubte Werte
188 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
-ob Xp_job_temp.jt_job.jo_ prod-uct.prd_prd_obin
-pc Xp_job_temp.jt_job.jo_ dev.dv_pcl
-pl Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_page
-pq Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_quality
XP_HIGH, XP_NORMAL, XP_DRAFT
-pr Xp_job_temp.jt_job.jo_ schedul.sch_priority
-ps Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_page_select
-rm Xp_job_temp.jt_job.jo_ docu-ment.doc_remove
-rp Xp_job_temp.jt_job.jo_ schedul.sch_retention
RP_INFINITE
-rt Xp_job_temp.jt_job.jo_ schedul.sch_time_retention
-rw Xp_job_temp.jt_job.jo_ docu-ment.doc_raw_mode
-sd Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_sides
XP_DOUBLE_NARROW, XP_DOUBLE_WIDE, XP_SINGLE
-sf Xp_job_temp.jt_job.jo_ prod-uct.prd_first_page
-sl Xp_job_temp.jt_job.jo_ schedul.sch_securit_lvl
TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
-sm Xp_job_temp.jt_job.jo_ docu-ment.doc_modes
-sp Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_separator
XP_NONE_SHEET, XP_FULL_SHEET, XP_BRIEF_SHEET
-st Xp_job_temp.jt_job.jo_ info.j_state ST_TOP, ST_SUSPEND, ST_WAIT
Option Struktur/-Element erlaubte Werte
OSL-Xprint80A-API-De-02 189
Kommandos und ihre Strukturen Anhang
-tm Xp_job_temp.jt_job.jo_ prod-uct.prd_form.fm_top
-to Xp_job_temp.jt_job.jo_ prod-uct.prd_select.sel_to
-tp Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_typeface
-tw Xp_job_temp.jt_job.jo_ prod-uct.prd_tab_width
-tx Xp_job_temp.jt_ext
-vm Xp_job_temp.jt_job.jo_ prod-uct.prd_font.ft_vm
-wa Xp_job_temp.jt_job.jo_schedul.sch_wait_activation
-wm Xp_job_temp.jt_job.jo_ prod-uct.prd_wrap_mode
WR_NONE, WR_WRAP, WR_CUT
Option Struktur/-Element erlaubte Werte
190 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpmod -lrs/mod_all_cli() (Xp_soft_load.lr_name)
xpmod -pcl/mod_all_cli() (Xp_pcl.pl_name)
Option Struktur/-Element erlaubte Werte
-ad Xp_soft_load.lr_admin
-ah Xp_soft_load.lr_ad_host
-ca Xp_soft_load.lr_comment[CM_ADMIN]
-cn Xp_soft_load.lr_class
-cr Xp_soft_load.lr_call_resouce XP_LR_NONE, XP_LR_FIRST, XP_LR_ALL
-cu Xp_soft_load.lr_comment[CM_USER]
-dl Xp_soft_load.lr_devlst
-ec Xp_soft_load.lr_encapsulate
-ex Xp_soft_load.lr_ext
-fi Xp_soft_load.lr_file
-pc Xp_soft_load.lr_pcl
-pe Xp_soft_load.lr_permanent
-pi Xp_soft_load.lr_int_id
-tp Xp_soft_load.lr_type
Option Struktur/-Element erlaubte Werte
-ad Xp_pcl.pl_admin
-ca Xp_pcl.pl_comment [CM_ADMIN]
-cu Xp_pcl.pl_comment [CM_USER]
-ex Xp_pcl.pl_ext
-fi Xp_pcl.pl_file
-ho Xp_pcl.pl_host
OSL-Xprint80A-API-De-02 191
Kommandos und ihre Strukturen Anhang
xpmod -prm/mod_all_cli() (Xp_perm.pm_name)
xpmod -rec/mod_all_cli() (Xp_rec_rule.rr_name)
xpmod -spv/mod_all_cli() (Xp_superv.sp_name)
Option Struktur/-Element erlaubte Werte
-ad Xp_perm.pn_admin
-ah Xp_perm.pn_ad_host
-al Xp_perm.pn_allow
-ca Xp_perm.pn_comment
-dn Xp_perm.pn_deny
-ex Xp_perm.pn_ext
Option Struktur/-Element erlaubte Werte
-ad Xp_rec_rule.rr_admin
-ca Xp_rec_rule.rr_comment
-fi Xp_rec_rule.rr_file
-ex Xp_rec_rule.rr_ext
-ho Xp_rec_rule.rr_host
Option Struktur/-Element erlaubte Werte
-ad Xp_superv.sp_admin
-ca Xp_superv.sp_comment
-ex Xp_superv.sp_ext
-ho Xp_superv.sp_net.nt_host
-se Xp_superv.sp_servname
192 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpmod -srv/mod_all_cli() (Xp_server.sv_name)
xpmod -sys/mod_all_cli()
xpmod -usr/mod_all_cli() (ECM_security.cs_usr_name)
Option Struktur/-Element erlaubte Werte
-ad Xp_server.sv_admin
-ca Xp_server.sv_comment
-ex Xp_server.sv_ext
-ho Xp_server.sv_net.nt_host
-mj Xp_server.sv_jbmax XP_NO_LIMIT
-sp Xp_server.sv_schedpol XP_BIG, XP_SMALL, XP_PRIORITY, XP_SECURITY
-up Xp_server.sv_perm
Option Struktur/-Element erlaubte Werte
-ad Xp_sys.sy_admin
-af Xp_sys.sy_account_file
-au Xp_sys.sy_auditing
-ca Xp_sys.sy_comment [CM_ADMIN]
-cu Xp_sys.sy_comment [CM_USER]
-ex Xp_sys.sy_ext
-lg Xp_sys.sy_logging
Option Struktur/-Element erlaubte Werte
-aj ECM_security.sc_jobs_allowed XP_NO_LIMIT
-ap ECM_security.sc_pages_allowed XP_NO_LIMIT
-ca ECM_security.sc_comment
-cl ECM_security.host.lst
-ex ECM_security.host.ext
OSL-Xprint80A-API-De-02 193
Kommandos und ihre Strukturen Anhang
-ho ECM_security.sc_host
-nc ECM_security.sc_max_copies XP_NO_LIMIT
-pr ECM_security.sc_max_priority XP_UNDEFINED
-pv ECM_security.sc_privileges ALL_PRIVIL, NONE_PRIVIL, ANY_DEVICE, TOP_PRIVIL
-sl ECM_security.sc_securit_lvl TOP_SECRET, SECRET, CONFIDENTIAL, SENSI-TIVE, UNCLASSIFIED
-ua ECM_security.sc_usr_account
Option Struktur/-Element erlaubte Werte
194 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
Das Kommando xpshow
xpshow -dev/shw_all_cli() (ECM_printer.dv_name)
xpshow -dgr/shw_all_cli() (Xp_dgroup.dg_name)
xpshow -flt/shw_all_cli() (Xp_filter.fl_name)
xpshow -fnt/shw_all_cli() (Xp_font.ft_name)
xpshow -frm/shw_all_cli() (Xp_form.fm_name)
xpshow -gtw/shw_all_cli() (Xp_gateway.gw_name)
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
OSL-Xprint80A-API-De-02 195
Kommandos und ihre Strukturen Anhang
xpshow -hos/shw_all_cli() (Xp_host.ho_name)
xpshow -job/shw_all_cli() (Xp_job.jo_id.jid_jid)
xpshow -jtp/shw_all_cli() (Xp_job_temp.jt_name)
xpshow -lrs/shw_all_cli() (Xp_soft_load.lr_name)
xpshow -pcl/shw_all_cli() (Xp_pcl.pl_name)
xpshow -prm/shw_all_cli() (Xp_perm.pn_name)
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY, HIERARCHY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode REFERENCED_BY, LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
196 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpshow -rec/shw_all_cli() (Xp_rec_rule.rr_name)
xpshow -spv/shw_all_cli() (Xp_superv.sp_name)
xpshow -srv/shw_all_cli() (Xp_server.sv_name)
xpshow -sys/shw_all_cli()
xpshow -usr/shw_all_cli() (ECM_security.sc_usr_name)
Das Kommando xpstat
xpstat -dev/sta_all_cli() (ECM_printer.dv_name)
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
OSL-Xprint80A-API-De-02 197
Kommandos und ihre Strukturen Anhang
xpstat -dgr/sta_all_cli() (Xp_dgroup.dg_name)
xpstat -gtw/sta_all_cli() (Xp_gateway.gw_name)
xpstat -hos/sta_all_cli() (Xp_host.ho_name)
xpstat -job/sta_all_cli() (Xp_job.jo_id.jid_jid)
xpstat -spv/sta_all_cli() (Xp_superv.sp_name)
xpstat -srv/sta_all_cli() (Xp_server.sv_name)
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
198 OSL-Xprint80A-API-De-02
Anhang Kommandos und ihre Strukturen
xpstat -usr/sta_all_cli() (ECM_security.sc_usr_name)
Die Kommandos xpstart -sys und xpstop -sys
xpstart -sys/xpstart_cli
xpstop -sys/xpstop_cli
Option Struktur/-Element erlaubte Werte
-di shw_all_params.disp_mode LONG_DISPLAY, SHORT_DISPLAY
Option Struktur/-Element erlaubte Werte
-fv xpstart_params.force_version
-sa xpstart_params.activation XP_COLD, XP_WARM
Option Struktur/-Element erlaubte Werte
-ho xpstop_params.host_list
-wn xpstop_params.when_tbd WT_DELETE, WT_NOW, WT_END, WT_LAST
OSL-Xprint80A-API-De-02 199
Liste der Meldungen Anhang
Liste der Meldungen
Jede Meldung besteht aus zwei Teilen: Dem Meldungs-Code und dem Mel-dungstext. Beim Meldungs-Code handelt es sich um einen in Großbuchstaben angegebenen Bezeichner, der mit dem Präfix "CL_" versehen ist. Bezeichnern sind in den define-Anweisungen in der Include-Datei client.h numerische Werte zugeordnet; jeder Meldungsbezeichner hat einen eindeutigen numer-ischen Wert.
Der Meldungstext wird in der jeweils eingestellten Landessprache angezeigt. Nachfolgend wird der Meldungstext auf Deutsch angegeben.
Zur Bestätigung ausgegebene Meldungen
(CL_OBADD) XP000001: <%.128s> eingetragen
(CL_JOADD) XP000002: Auftrag <%.6s> (<%.128s>) eingetragen
(CL_OBCHG) XP000003: <%.128s> wird geaendert
(CL_JOCHG) XP000004: Auftrag <%.6s> (<%.128s>) wird geaendert
(CL_OBCPY) XP000005: <%.128s> wird kopiert nach <%.128s>
(CL_OBDEL) XP000006: <%.128s> wird geloescht
(CL_JODEL) XP000007: Auftrag <%.6s> (<%.128s>) wird geloescht
(CL_OBMOD) XP000008: <%.128s> wird modifiziert
(CL_JOMOD) XP000009: Auftrag <%.6s> (<%.128s>) modifiziert
XP000011: Copyright (C) Siemens Software [1991,1993,1995] Alle Rechte vorbehalten
(CL_SETAVAIL) XP000012: Xprint <%s%s> wird auf ACTIVE gesetzt oder auf ACTIVE gelassen
(CL_SETUNAVAIL) XP000013: Xprint fuer <%.128s> wird auf NOT ACTIVE gesetzt oder auf NOT_ACTIVE gelassen
(CL_GWACT) XP000017: Gateway <%.128s> is being activated
i
200 OSL-Xprint80A-API-De-02
Anhang Liste der Meldungen
Warnhinweise
(CL_FILWARN) XP000019: WARNUNG : Datei <%.128s> nicht auf Rechner <%.128s> gefunden
(CL_WAINFILE) XP000020: WARNUNG : System-Eingabedatei kann nicht ausgefuehrt werden
(CL_RRWARN) XP000021: WARNUNG: in Recovery-Regeldatei
(CL_PLWARN) XP000022: WARNUNG: in Druckerfaehigkeitsliste
(CL_WANOUS) XP000023: WARNUNG : kein Benutzer modifiziert bzw. geloescht
(CL_WAHOUNK) XP000024: WARNUNG : <%.128s> nicht in System- Hostdatei
(CL_LANWARN) XP000025: WARNUNG : Druckeradresse <%.128s> ungueltig
(CL_WAUSDEF) XP000026: Benutzer <%.128s> nicht in Benutzerdatei des Hostrechners <%.128s> oder Host ungueltig
(CL_WASTSC) XP000027: Xprint-Startdatei nicht korrekt ausgefuehrt
(CL_GWREFWARN) XP000028: Kein Verweis auf Druckprotokoll und Netzwerk-Protokoll <%.128s> in <%.128s> auf Hostrechner <%.128s> gefunden
(CL_WADVNOACT) XP000029: Drucker <%.128s> kann nicht aktiviert werden. Ferner Server <%.128s> ist nicht aktiv.
(CL_WALOGWGA) XP000030: Lokale(s) Gateway(s) mit derselben Adresse existiert (existieren) schon.
OSL-Xprint80A-API-De-02 201
Liste der Meldungen Anhang
Fehlermeldungen
(CL_ERMSG) XP000039: Fehler bei Aufbau einer Meldung
(CL_WRSELECT) XP000040: Syntaxfehler bei Auswahlstruktur
(CL_WRMOD) XP000041: Syntaxfehler bei Modifizierungsstruktur
(CL_OBNAMOD) XP000042: Objektnamen koennen nicht modifiziert werden
(CL_CNTMNT) XP000043: Formular <%.128s> bei Drucker <%.128s> nicht zulaessig
(CL_JOACT) XP000044: Auftrag <%.6s> (<%.128s>) ist ACTIVE
(CL_NOJOACT) XP000045: Kein Auftrag mit Status ACTIVE auf Drukker <%.128s>
(CL_SPCNTR) XP000046: Kann Supervisor <%.128s> nicht erreichen
(CL_SVCNTR) XP000047: Kann Server <%.128s> nicht erreichen
(CL_OBSTREF) XP000048: <%.128s> wird noch von <%d> Objekt(en) verwendet
(CL_XNTAVA) XP000049: Xprint steht nicht zur Verfuegung
(CL_WRJID) XP000050: <%.128s> : ungueltige Auftragskennung
(CL_NTASV) XP000051: <%.128s>: Server nicht aktiv
(CL_NOSV) XP000052: Kein Server verfuegbar
(CL_DBINC) XP000053: Datenbasis-Fehler
(CL_NTASP) XP000054: <%.128s>: Supervisor nicht aktiv
(CL_XPNTACT) XP000055: Xprint auf Hostrechner <%.128s> nicht aktiv
(CL_DVBADPL) XP000056: Attribute von <%.128s> nicht durch PCL <%.128s> unterstuetzt
(CL_OBSTACT) XP000057: <%.128s> ist noch aktiv
(CL_NETERR) XP000058: Netzwerk-Fehler
(CL_ATADM) XP000059: Kommando fuer Systemverwalter
(CL_RRERR) XP000060: Fehler in der Recovery-Regeldatei
202 OSL-Xprint80A-API-De-02
Anhang Liste der Meldungen
(CL_PLERR) XP000061: Fehler in der Druckerfaehigkeitsliste
(CL_WRVERS) XP000063: Ungueltige Version <%.128s>
(CL_WRPAR) XP000064: Syntaxfehler in Parameterstruktur
(CL_WRADD) XP000065: Syntaxfehler in Struktur
(CL_DVENSPO) XP000066: Auftragsbearbeitung von <%.128s> muss deaktiviert sein
(CL_MANFM) XP000067: MANUAL fuer Standardformular nicht moeglich
(CL_DVACT) XP000068: Drucker <%.128s> wird aktiviert
(CL_SPACT) XP000069: Supervisor <%.128s> wird aktiviert
(CL_SVACT) XP000070: Server <%.128s> wird aktiviert
(CL_DVWRACT) XP000071: Drucker <%.128s> kann nicht aktiviert werden
(CL_SPWRACT) XP000072: Supervisor <%.128s> kann nicht aktiviert werden
(CL_SVWRACT) XP000073: Server <%.128s> kann nicht aktiviert werden
(CL_CONKEY) XP000074: Ungueltiger Schluessel <%.128s>
(CL_WRREXP) XP000075: Syntaxfehler in Ausdruck <%.128s>
(CL_NOPLRQ) XP000076: PCL <%.128s> entspricht der Anforderung nicht
(CL_HOSTAC) XP000077: Xprint auf Hostrechner <%.128s> noch aktiv
(CL_DLEMPTY) XP000078: Druckerliste von <%.128s> wuerde leer werden
(CL_HOEMPTY) XP000079: Hostrechner-Liste von <%.128s> wuerde leer werden
(CL_SUPHOS) XP000080: Unterstuetzender Hostrechner <%.128s> nicht aktiv
(CL_PARHOS) XP000081: Parasit-Hostrechner <%.128s> noch aktiv
(CL_RRNTAC) XP000082: Recovery-Regeln <%.128s> nicht verfuegbar
(CL_CLNTAC) XP000083: Klasse <%.128s> nicht verfuegbar
OSL-Xprint80A-API-De-02 203
Liste der Meldungen Anhang
(CL_FLNTAC) XP000084: Filter <%.128s> nicht verfuegbar
(CL_HONTAC) XP000085: Hostrechner <%.128s> nicht verfuegbar
(CL_PLNTAC) XP000086: PCL <%.128s> nicht verfuegbar
(CL_JTNTAC) XP000087: Auftragsschablone <%.128s> nicht verfuegbar
(CL_DGNTAC) XP000088: Druckergruppe <%.128s> nicht verfuegbar
(CL_OPRNUL) XP000089: Fehlender Operand: <%.128s>
(CL_OPTINV) XP000090: Ungueltige Option: <%.128s>
(CL_OBEXIS) XP000091: <%.128s> bereits in Xprint konfiguriert
(CL_OBNTAC) XP000093: <%.128s> nicht verfuegbar
(CL_MODFLD) XP000094: Auftrag <%.6s> (<%.128s>) wegen Filter nicht modifiziert
(CL_SYNTAC) XP000096: Formular <%.128s> nicht verfuegbar
(CL_FMNTAC) XP000097: Schrift <%.128s> nicht verfuegbar
(CL_FTNTAC) XP000098: Kein Zugriff auf Datei/Verzeichnis <%.128s>
(CL_FILACC) XP000100: Geraet <%.128s> nicht verfuegbar
(CL_USNTAC) XP000101: Benutzer <%.128s> nicht verfuegbar
(CL_PLNTFD) XP000102: Kein passender Drucker gefunden
(CL_PLNTFD) XP000103: Berechtigung <%.128s> nicht verfuegbar
(CL_TYNTEX) XP000104: Ungueltiger Objekttyp
(CL_OPNTEX) XP000105: Unbekanntes Kommando
(CL_OPXPADM) XP000107: Kommando fuer Xprint-Verwalter
(CL_OPADM) XP000108: Kommando fuer Verwalter
(CL_STRLEN) XP000109: Ungueltige Laenge des Wertes fuer <%.128s>
(CL_STRINV) XP000110: Ungueltiges Zeichen im Wert fuer <%.128s>
(CL_INTERR) XP000111: Interner Fehler
204 OSL-Xprint80A-API-De-02
Anhang Liste der Meldungen
(CL_DENTOK) XP000112: Ziel nicht verfuegbar
(CL_DESTIN) XP000113: Ungueltige Umgebungsvariable XP_DESTIN
(CL_SPNTAC) XP000114: Supervisor <%.128s> nicht verfuegbar
(CL_SVNTAC) XP000115: Server <%.128s> nicht verfuegbar
(CL_JOFULL) XP000116: Maximales taegliches Auftragskontingent erreicht
(CL_PGFULL) XP000117: Maximales Seitenkontingent erreicht
(CL_CPFULL) XP000118: Maximales Kontingent fuer Mehrfachaus-drucke erreicht
(CL_FROMTO) XP000119: Datenstrom-Fehler (-fr/-pf bzw. -to/-pt)
(CL_DVEXIS) XP000120: Drucker <%.128s> ist bereits in Xprint konfiguriert
(CL_DGEXIS) XP000121: Druckergruppe <%.128s> bereits in Xprint konfiguriert
(CL_NOTPWD) XP000124: Benutzer nicht in Benutzerdatei des Hostrechners <%.128s>
(CL_MEMLA) XP000129: Zuwenig Speicher
(CL_CONERR) XP000131: Verbindungs-Fehler
(CL_DBERR) XP000132: Fehler bei Zugriff auf Datenbasis
(CL_DVNACT) XP000133: Auftragsannahme fuer Drucker <%.128s> nicht moeglich
(CL_PLNTOK) XP000134: Drucker <%.128s> entspricht nicht der Anforderung
(CL_SPNACT) XP000136: Supervisor von <%.128s> nicht aktiv
(CL_SVNTIN) XP000137: Server von <%.128s> verhindert Auftrags-annahme
(CL_SVFULL) XP000138: Server von <%.128s> ist ausgelastet
(CL_ICLLIC) XP000139: Licence violation! Details have been sent to root
(CL_NOFIL ) XP000141: Kein Zugriff auf lokale Datenbasisdateien
OSL-Xprint80A-API-De-02 205
Liste der Meldungen Anhang
(CL_EXIST ) XP000142: Neues Objekt existiert bereits
(CL_ERREF ) XP000143: Ein angesprochenes Objekt existiert nicht
(CL_NTFND ) XP000144: Objekt nicht gefunden
(CL_NOMAST ) XP000145: Keine Master-Datenbasis
(CL_REQREF ) XP000146: Auftrag vom Server zurueckgewiesen
(CL_LOCKF) XP000147: Xprint-Datei bereits gesperrt
(CL_SEND ) XP000148: Fehler bei Datenuebertragung
(CL_RECEIVE ) XP000149: Fehler bei Datenempfang
(CL_MANFNT) XP000150: Ungueltige Option <%.128s> aufgrund Standardschrift
(CL_NODEST) XP000151: Kein Ziel gefunden
(CL_FLNTFD) XP000152: Filter <%.128s> nicht gefunden
(CL_DIRPRT) XP000153: Direktdruck erfordert Zielangabe (Option -de zwingend)
(CL_SPOUTON) XP000154: Auftragsbearbeitung von <%.128s> muss OFF sein
(CL_FLTSYS) XP000155: Systemaufruf waehrend Filterverarbeitung fehlgeschlagen
(CL_FLTCON) XP000156: Verbindungsabbruch zum SERVER/SUPERVISOR nach Filterverarbeitung
(CL_FLTARG) XP000157: Abbruch von Filter <%.128s> mit Argumenten \t <%s>
(CL_DBINST) XP000158: Fehler bei Datenbasis-Installation
(CL_DBILL) XP000159: Ungueltiger Start der Datenbasis
(CL_DBLOCH) XP000160: Lokaler Hostrechner nicht in Datenbasis definiert
(CL_DBPORT) XP000161: Uebertragungs-Port kann nicht geoeffnet werden
(CL_DBNOTM) XP000162: Lokaler Hostrechner kann nicht der Master-Hostrechner sein
(CL_DBCONM) XP000163: Kein Verbindungsaufbau zum Master-Hostrechner
206 OSL-Xprint80A-API-De-02
Anhang Liste der Meldungen
(CL_DBSYNC) XP000164: Synchronisationsfehler mit Master-Host-rechner
(CL_DBXPUS) XP000165: Fehler fuer Xprint-Benutzerkennung
(CL_DBABRT) XP000166: Abbruch durch Benutzer
(CL_MSTSTUP) XP000167: Kein Start moeglich, da anderer Hostrechner startet. Versuch spaeter wiederholen.
(CL_DBMCNTR) XP000168: Kann DB_manager nicht erreichen
(CL_DBSTSPC) XP000169: Dateisystem ist voll
(CL_DBNOSPC) XP000170: Dateisystem auf dem Master-Hostrechner ist voll
(CL_BNDTKG) XP000186: Objektname darf nicht mit '!' beginnen
(CL_ONEGTW) XP000187: Verschiedene Gateway-Namen sind nicht erlaubt
(CL_MIXLGT) XP000188: Mischen von lokalen und globalen Objekt- namen ist nicht erlaubt
(CL_WCDGTW) XP000189: Platzhalterzeichen sind in Gateway-Namen nicht erlaubt
(CL_HOEXDB) XP000190: Hostrechner <%.128s> in der Datenbasis definiert
(CL_OPTMAN) XP000191: Die Option <%.128s> ist hier notwendig
(CL_GWNTAC) XP000192: Gateway <%.128s> nicht verfuegbar
(CL_GWBLPL) XP000193: Das Netzwerkprotokoll von Gateway <%.128s> entspricht nicht dem von <%.128s>
(CL_GWBLTP) XP000194: Typen von Gateway <%.128s> und Gateway <%.128s> sind nicht kompatibel
(CL_GWINOP) XP000195: Die angegebene Option <%.128s> ist nicht korrekt
(CL_GWWRACT) XP000196: Gateway <%.128s> kann nicht aktiviert werden
(CL_DEVADIR) XP000197: Drucker <%.128s> wird umgeleitet
(CL_DEVRDIR) XP000198: Eine Umleitung zu Drucker <%.128s> existiert
OSL-Xprint80A-API-De-02 207
Liste der Meldungen Anhang
(CL_DVNTIN) XP000199: Auftragsannahme fuer Drucker <%.128s> muss aktiviert werden
(CL_DVSCTG) XP000200: Drucker <%.128s> wird auf sich selbstmumgeleitet
(CL_DEVNDIR) XP000201: Drucker <%.128s> wird nicht umgeleitet
(CL_ONEOBJ) XP000202: Nur ein Objekt (ohne Platzhalterzeichen) darf angegeben werden
(CL_NOREF) XP000203: Kein Verweis auf das angegebene Ojekt
(CL_JOINLO) XP000204: Informationen zum Auftrag verloren
(CL_FLTEXE) XP000205: Problem bei der Ausfuehrung eines langsamen Filters
(CL_PAIINV) XP000206: Das Paar <%s>,<%s> existiert bereits
(CL_GWCNTR) XP000207: Gateway <%.128s> nicht erreichbar
(CL_GWAUTH) XP000208: Zugriff auf Gateway verweigert
(CL_GWNOTSUPP) XP000209: Angeforderter Dienst wird vom Gateway bisher nicht unterstützt
(CL_GWREMGWERR) XP000210: Anforderung kann auf dem fernen Gateway nicht verarbeitet werden
(CL_GTWRBL) XP000214: <%.128s> wird durch einen Rueckverweis benutzt.
(CL_ILLOBN) XP000215: <%.128s> : ungueltiger Objektname.
(CL_PROTOERR) XP000216: Protokollfehler
(CL_FBDSTA) XP000217: Verbotenes xpstat fuer PARTNER-Gatewa <%.128s>
(CL_FBDCHG) XP000218: Verbotenes xpchange fuer PARTNER-Gateway <%.128s>
(CL_FBDOPE) XP000219: Operation fuer diesen Typ von Gateway ohne Bedeutung
(CL_DBVERS) XP000220: Kann die Steuerung nicht von einem Host mit der alten Version uebernehmen
(CL_GWERR) XP000221: Unbekannte Fehlermeldung <%s>
208 OSL-Xprint80A-API-De-02
Anhang Liste der Meldungen
(CL_GWNOKEY) XP000222: Fuer diesen Dienst muss die Keydiskette Xprint-N installiert sein
(CL_NOREMSPOOL) XP000223: Druckdienste nicht verfuegbar
(CL-NOLOCGW) XP000224: Kein aktives oder erreichbares lokales Gateway verfuegbar, um fernes Gateway <%s> zu erreichen
(CL_WRDBVERS) XP000225: Keine Datenbasis (Installation noetig) oder Datenbasis mit einem falschen Format (Migration erforderlich).
CL_GWREJREQ XP000226: Anforderung kann auf dem fernen Gateway nicht verarbeitet werden:<%s>
CL_OPPEDE XP000232: Berechtigung verweigert fuer das Objekt <%.128s>
CL_OPINPR XP000233: Zuwenig Rechte fuer das Objekt <%.128s>
CL_OPOPDE XP000234: Operation verweigert fuer das Objekt <%.128s>
CL_NODVDEF XP000235: Kein Geraet konfiguriert
CL_NODVACC XP000236: Kein Geraet in Konfiguration verfuegbar (Kriterien: Auftragsannahme, Faehigkeiten, Rechte und Sicherheitsstufe)
CL_DESTNOTDEF XP000237: Angefordertes Ziel <%.128s> nicht in Konfiguration definiert
CL_NOPERMDG XP000238: Berechtigung an Geraetegruppe <%.128s> nicht vergeben
CL_NODVDGACC XP000239: Kein Geraet in Geraetegruppe <%.128s> verfuegbar (Kriterien: Auftragsannahme, Faehigkeiten, Rechte und Sicherheitsstufe)
CL_RDDVNOTDEF XP000240: Umgeleitetes Geraet <%.128s> nicht in Konfiguration definiert
CL_NODVVARACC XP000241: Kein Geraet in Umgebungsvariable XP_DESTIN verfuegbar (Kriterien: Existenz, Auftragsannahme, Faehigkeiten, Rechte und Sicherheitsstufe)
CL_JORDIRREMNOTALL XP000242: Auftragsumleitung auf fernes Ziel <%.128s> nicht zulaessig
CL_INVSECLVL XP000243: Ungueltige Sicherheitsstufe fuer Zufriff auf <%.128s>
OSL-Xprint80A-API-De-02 209
Liste der Meldungen Anhang
CL_NOPERMDV XP000244: Keine Berechtigung zum Drucken auf Drucker <%.128s>
CL_NOFMPERMDV XP000245: Keine Berechtigung zur Benutzung von Formular <%.128s> auf Drucker <%.128s>
CL_NOLRDV XP000246: Ladbare Ressource <%.128s> auf Geraet <%.128s> nicht moeglich
CL_IVLSTAT XP000247: Aktueller Auftragsstatus <%s> (<%.128s>) nicht mit Anforderung vereinbar
CL_SVINPR XP000248: Rechte fuer den Server <%.128s> nicht ausreichend
CL_SVPEDE XP000249: Berechtigung verweigert fuer den Server <%.128s>
CL_WROBJID XP000250: <%.128s> : ungueltige Auftragskennung
CL_LRECPI XP000251:Bei Anforderung einer Umschliessung muss die interne Druckerkennung der ladbaren Ressource angegeben sein
CL_LRCRPI XP000252:Bei Anforderung eines aufzurufenden Ressourcentyps muss die druckerinterne Kennung der ladbaren Ressource angegeben sein
CL_JONWNIRDIRNALL XP000257: Auftrag mit dem Status WAIT oder INTERRUPTED kann nicht umgeleitet werden.
CL_JONWRDIRREMNOTALL
XP000258: Fernes Ziel kann nich nach anderen Domaenen umgeleitet werden.
CL_INVALKEY XP000259: Keine gueltige Lizenz verfuegbar.
CL_CTFLSPECEMPFIL XP000260: Die Optionen -ct oder -fl sind fuer leere oder nicht existierende Dateien nicht zulaessig.
CL_UNKMSG XP000262: Unbekannte Meldung <%s>
CL_DVHON64 XP000263: Rechner von Drucker <%s> unterstuetzt nicht grosse dateien
CL_SVHON64 XP000264: Server Rechner von Drucker <%s> unterstuetzt nicht grosse dateien
CL_LCTOOMANYOBJ XP000265: Lizenz fehlt - Zu viele Objekten
CL_DEVALRD XP000266: Drucker ist schon umgeleitet
210 OSL-Xprint80A-API-De-02
Anhang Liste der Meldungen
Bei der PCL/RR-Übersetzung ausgegebene Meldungen
Die folgenden Meldungen werden beim Auftreten von Fehlern während der Übersetzung der PCL- (Printer Capability List) bzw. RR-(Recovery Rules) Anweisungen ausgegeben. Die Übersetzung dieser Anweisungen findet statt, wenn ein PCL- oder RR-Objekt mit der Funktion add_all_cli() der Datenba-sis hinzugefügt oder ein PCL- oder RR-Objekt durch die Angabe einer neuen Anweisungsdatei modifiziert wird. Bei den Hinzufüge- und Modifizierungsfunk-tionen kann lediglich eine Meldung in der (rc_tab)-Struktur zurückgegeben werden. Damit sämtliche in den Anweisungen festgestellten Fehler gemeldet werden, werden alle Fehlermeldungen zu einer einzigen Meldung verknüpft, wobei die erste Zeile der Meldung mit XP000061 beginnt und die nachfolgen-den mit ’Fehler’. Somit bezieht sich der Meldungs-Code CL_PLERR auf die gesamte (verknüpfte) Meldung.
(CL_PLERR) XP000061: Anmerkungen zur Analyse von <%s> <%s> Fehler: <%s> Fehler - Fehlernummer = <%d> Fehler: Kann Datei <%s> <%s> nicht oeffnen - Fehlernummer = <%d> Fehler: Kein Eintrag in Datei <%s> fuer PCL <%s> Warnung: <%s> wird nicht unterstuetzt - Zeile <%d> Fehler: <%s> doppelt definiert - Zeile <%d> Fehler: ungueltiger Wert <%s> fuer <%s> - Zeile <%d> Fehler: <p%c> - zu viele Parameter in Zeichenkette - Zeile <%d> Fehler: zu wenig Operanden fuer <%c> - Zeile <%d> Fehler: <%s> ungueltig: <%c%c> - Zeile <%d> Fehler: kein schliessendes Hochkomma - Zeile <%d> Fehler: kein schliessendes Anfuehrungszeichen - Zeile <%d> Fehler: keine schliessende Klammer '}' - Zeile <%d> Fehler: ungueltige Operanden fuer <%c> - Zeile <%d> Fehler: abschliessendes Komma erwartet - Zeile <%d> Fehler: ungueltiges Steuerzeichen <^%c> - Zeile <%d> Fehler: ungueltiger numerischer Wert <%s%c> - Zeile <%d> Fehler: nur ein Dezimalkomma in skaliertem Wert erlaubt (<%s>) - Zeile <%d> Fehler: kein signifikanter Wert fuer <%s> - Zeile <%d> Fehler: Dezimalkomma nicht zulaessig fuer <%c> - Zeile <%d> Fehler: unbekannter Standardwert <%s> - Zeile <%d> Fehler: ungueltiges 'keep'-Feld <%c> - Zeile <%d> Fehler: ungueltiges Schluesselwort <%s> - Zeile <%d>
CL_INVALFTCONF XP000267: Invalid FT account on gateway host
CL_INVFILACCADM XP000268: Access error on file/directory <%.128s>, option <-cp> could solve
OSL-Xprint80A-API-De-02 211
Liste der Meldungen Anhang
Fehler: ungueltiges printf-Feld % fuer <%s> - Zeile <%d>: Fehler: ungueltiges printf-Konverterfeld <%c> fuer <%s> - Zeile <%d> Fehler: keine anderen printf-Felder zulaessig bei %c fuer <%s> -Zeile <%d> Fehler: ungueltige(s) Zeichen <%c> nach <%s> - Zeile <%d> Fehler: <%c> erwartet nach <%s> (Sprung ans Zeilenende) - Zeile <%d> Warnung: <%c> erwartet nach <%s> - Zeile <%d> Fehler: <%s> : <%s> : Mehrfachdefinition - Zeile <%d> Fehler: undefinierter Code <%s> - Zeile <%d> Fehler: generierter Code nur sinnvoll, wenn Zeitfeld angegeben -Zeile <%d> Warnung: <%s> nicht definiert (kann nur von privaten Backends benutzt werden) - Zeile <%d> Fehler: generierter Code <%s> ergibt moeglicherweise Schleife -Zeile <%d> Fehler: <%s> Feld muss belegt werden - Zeile <%d> Fehler: keine Fehlerbeseitigungs-Regeln gefunden
212 OSL-Xprint80A-API-De-02
Literatur[1] Xprint V8.0 Leitfaden für Benutzer und Verwalter
ZielgruppeBenutzer und Verwalter von Xprint.
InhaltDas Handbuch beschreibt die Funktionen von Xprint, das Konfigurieren von Xprint-Systemen sowie die Installation des Produkts.
[2] Xprint V8.0 Referenzhandbuch
ZielgruppeBenutzer und Verwalter von Xprint
Inhalt
Dieses Handbuch dient als Nachschlagewerk für alle Informationen, die zur Bedienung und Verwaltung von Xprint notwendig sind. Es beschreibt alle Kommandos und Dateien, die für Xprint von Bedeutung sind.
[3] Xprint V8.0 Grafische Bedienoberfläche
ZielgruppeVerwalter von Xprint, die Xprint Management-Funktionen nutzen.
InhaltDas Handbuch beschreibt die Funktionen der grafischen Bedienober-fläche (GUI) von Xprint. Über das GUI überwachen und konfigurieren Sie alle Hostrechner, Drucker und Aufträge in Ihrer Domäne. Außerdem sehen Sie am GUI alle Formulare und Schriften, die in Ihrer Domäne zur Verfügung stehen.
[4] Xprint V8.0 Erste SchritteBenutzerhandbuch
Zielgruppe Neue Xprint-Benutzer
InhaltSchrittweise Beschreibung der Grundlagen zur Installation eines funktionsfähigen Xprint.
[5] Xprint V8.0 GUI zur Domänenüberwachung
OSL-Xprint80A-API-De-02 215
Zielgruppe Administratoren und Bediener von Xprint
Inhalt
Beschreibung der grafischen Benutzeroberfläche, Vorgänge und Fehler-behebung bei der Domänenüberwachungs-GUI.
[6] Wprint V4.0 Benutzerhandbuch
ZielgruppeVerwalter von Windows NT und Benutzer von Wprint.
InhaltDas Handbuch beschreibt die Installation, Konfiguration und den Betrieb von Wprint V4.0, dem Xprint-Client für Windows.
Wenden Sie sich zum Bestellen von Handbüchern bitte an Ihre zuständige Geschäftsstelle.
Stichwörter
Aacquire_dev( ) 95add_all_cli() 29add_job_cli() 32Änderndes Auftrags-Status (chg_job_cli()) 45
des Benutzer-Status (chg_usr_cli()) 52
des Druckergruppen-Status (chg_dgr_cli()) 40
des Druckerstatus (chg_dev_cli()) 36
des Gateway-Status (chg_gtw_cli()) 43
des Server-Status (chg_svr_cli()) 50
des Supervisor-Status (chg_spv_cli()) 48
Anhang 101Anwendung
binden 27erstellen 27übersetzen 28
Anzeigevon Auftrags-Informationen
(shw_job_cli()) 72von Objekt-Informationen
(shw_all_cli()) 70Architektur 7Auftrags-Warteschlangen 5Ausgeben
des Auftrags-Status (sta_job_cli()) 82
des Objekt-Status (sta_all_cli()) 79
Auswahlspezifische 14
Auswahlstrukturen 14
BBeenden
xpstop_cli() 91Beispiel-Quelltexte 29Beispielverzeichnis 29Benutzer-Beschreibungen 5Bereitstellen
einer Struktur (Xp_alloc()) 85von Speicher (Xp_alloc()) 85
Bezeichner 11Bibliothek
libXpCLI 27libXpNET 27
Bibliotheken 27Verzeichnis 27
Bibliotheken-Suchpfadeinstellen 27
Binden einer Anwendung 27
Cchg_dev_cli() 36chg_dgr_cli() 40chg_gtw_cli() 43chg_job_cli() 45chg_spv_cli() 48chg_svr_cli() 50chg_usr_cli() 52Client 7cpy_all_cli() 53
DDämon 9Darstellungsmittel 1Datenbasis
zentrale 5Datenbasisverwalter 8Datenstrukturen 6
Überblick über 11Definition
OSL-Xprint80A-API-De-02 217
Stichwörter
einer Folgestruktur 17del_all_cli() 56del_job_cli() 60Druckergeräte 5Durch 89
EErgebnisstrukturen 21Erstellen einer Anwendung 27Explizite Speicher-Bereitstellung 23
FFolgestrukturen 16
definieren 17Formulare 5Freigeben
einer Struktur (Xp_free()) 88von Speicher (release_cli()) 69von Speicher (Xp_free()) 88
Funktionadd_all_cli() 29add_job_cli() 32chg_dev_cli() 36chg_dgr_cli() 40chg_gtw_cli() 43chg_job_cli() 45chg_spv_cli() 48chg_svr_cli() 50chg_usr_cli() 52cpy_all_cli() 53del_all_cli() 56del_job_cli() 60mod_all_cli() 62mod_job_cli() 66release_cli() 25, 69shw_all_cli() 70shw_job_cli() 72sta_all_cli() 79sta_job_cli() 82Xp_alloc() 24, 85Xp_clean() 24, 86Xp_free() 24, 88
xpstart_cli() 89xpstop_cli() 91
Funktionen 6Funktionsbeschreibungen 29
HHandbücher
weitere 3Handbuchstruktur 2Hinzufügen
von Aufträgen (add_job_cli()) 32von Objekten (add_all_cli()) 29
Hinzufügestruktur 13
IImplizite Bereitstellung von Speicher 25Include-Dateien 27
Verzeichnis 27
KKopieren
von Objekten (cpy_all_cli()) 53
LlibXpCLI 27libXpNET 27Löschen
einer Struktur (Xp_clean()) 86von Aufträgen (del_job_cli()) 60von Objekten (del_all_cli()) 56
MMeldungen
Bei der Übersetzung von PCL/RR 211
Fehlermeldungen 202Liste 200Warnhinweise 201zur Bestätigung 200
mod_all_cli() 62mod_job_cli() 66Modifizieren
218 OSL-Xprint80A-API-De-02
Stichwörter
von Aufträgen (mod_job_cli()) 66von Objekten (mod_all_cli()) 62
Modifizierungsstrukturen 15
OObjekte 11
statische 5Überblick über 11
Objektstrukturen 13
PParameterstruktur
Bereitstellen von Speicher 20Parameterstrukturen 20primäre Objektstrukturen 127
Rrc_tab 25release_cli() 25, 69release_dev( ) 98
SSchriften 5Server 8
Aufgaben 8Verwaltungsprozeß 8
shw_all_cli() 70shw_job_cli() 72Speicher-Bereitstellung
explizite 23implizite 25
Speicherverwaltung 7, 23Spezifische Auswahl 14sta_all_cli() 79sta_gw_ext 104sta_job_cli() 82Starten
xpstart_cli() 89Statische Objekte 5Struktur
des Handbuchs 2sta_gw_ext 104
Strukturen 127
Supervisor 7Aufgaben 7
UÜbersetzen
einer Anwendung 28
VVariable
rc_tab 25
WWarteschlangen 5
XXp_alloc() 24, 85Xp_clean() 24, 86Xp_free() 24, 88xpstart_cli() 89xpstop_cli() 91
ZZentrale Datenbasis 5Zielgruppe 1
OSL-Xprint80A-API-De-02 219
Kommentar zu Xprint V8.0Application Programming Interface (API)
OSL-Xprint80A-API-De-02
KritikAnregungenKorrekturen
✁
Absender
E-Mail: [email protected]
WWW: http://www.osl.be/xprint/