232
Xprint V8.0 Application Programming Interface (API) Ausgabe September 2009

Xprint V8 - Fujitsu Technology Solutionsmanuals.ts.fujitsu.com/files/html/software/xp80G00-12-2012/documents/... · OSL-Xprint80A-API-De-02 1 1 Einleitung Das vorliegende Handbuch

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Xprint V8.0 Application Programming Interface (API)

Ausgabe September 2009

.

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.

OSL-Xprint80A-API-De-02 3

4 OSL-Xprint80A-API-De-02

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(&params,&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(&params,&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

xpstop_cli Funktionsbeschreibungen

94 OSL-Xprint80A-API-De-02

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

Anhang Liste der Meldungen

OSL-Xprint80A-API-De-02 213

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Ändern

des 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/