📄 print.h
字号:
/* $XConsortium: Print.h /main/3 1996/12/10 14:59:02 rws $ *//****************************************************************************** ****************************************************************************** ** ** File: Print.h ** ** Description: Definitions needed by the server, library, and ** clients. Subportion restricted to library and ** clients. ** ** Server, Library, Client portion has: ** o All sz_* defines ** o Revision and Name defines ** o Common defines and constants (e.g. Keywords, Masks) ** o Extension version structure ** ** Library and client subportion has: ** o Convience Marcos ** o Client side data structures ** o Client side event structures (non wire) ** o Library function prototypes ** o some private stuff denoted with _whatever ** ** Printstr.h for server and library, but NOT clients. ** ****************************************************************************** ** ** (c) Copyright 1996 Hewlett-Packard Company ** (c) Copyright 1996 International Business Machines Corp. ** (c) Copyright 1996 Sun Microsystems, Inc. ** (c) Copyright 1996 Novell, Inc. ** (c) Copyright 1996 Digital Equipment Corp. ** (c) Copyright 1996 Fujitsu Limited ** (c) Copyright 1996 Hitachi, Ltd. ** ** Permission is hereby granted, free of charge, to any person obtaining a copy ** of this software and associated documentation files (the "Software"), to deal ** in the Software without restriction, including without limitation the rights ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ** copies of the Software, and to permit persons to whom the Software is ** furnished to do so, subject to the following conditions: ** ** The above copyright notice and this permission notice shall be included in ** all copies or substantial portions of the Software. ** ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ** ** Except as contained in this notice, the names of the copyright holders shall ** not be used in advertising or otherwise to promote the sale, use or other ** dealings in this Software without prior written authorization from said ** copyright holders. ** ****************************************************************************** *****************************************************************************/#ifndef _XpPrint_H_#define _XpPrint_H_#ifndef _XP_PRINT_SERVER_#include <X11/Xlib.h>#include <X11/Xresource.h>#include <X11/Xauth.h>#endif /* _XP_PRINT_SERVER_ */#include <X11/Xfuncproto.h>_XFUNCPROTOBEGIN/****************************************************************************** * * Definitions used by the server, library and client. *//******************************************************************** * * Naming and versioning information. */#define XP_PRINTNAME "XpExtension"/* * Add a define below for each major extension release. */#define XP_DONT_CHECK 0#define XP_INITIAL_RELEASE 1/* * For each single entry above, create one major/minor pair. */#define XP_PROTO_MAJOR 1#define XP_PROTO_MINOR 0/* * Identify current version. */#define XP_MAJOR_VERSION XP_PROTO_MAJOR#define XP_MINOR_VERSION XP_PROTO_MINOR/* * Misc version defines. */#define XP_ABSENT 0 /* Prior to XP Print support */#define XP_PRESENT 1 /* With XP Print support *//******************************************************************** * * Xp Print Error codes. */#define XP_ERRORS 3 /* number of error types */#define XPBadContext 0 /* Print Context invalid or missing */#define XPBadSequence 1 /* Illegal sequence of XP operations */#define XPBadResourceID 2 /* X-resource not valid *//******************************************************************** * * Xp Print Event masks and codes. * */#define XP_EVENTS 2 /* number of event types */#define XPNoEventMask 0 /* not an event - just a null mask */#define XPPrintMask (1L<<0)#define XPAttributeMask (1L<<1)#define XPPrintNotify 0 /* contains "detail" - see below */#define XPAttributeNotify 1 /* contains "detail" - see below */#define XPStartJobNotify 0 /* value for "detail" in XPPrintNotify*/#define XPEndJobNotify 1#define XPStartDocNotify 2#define XPEndDocNotify 3#define XPStartPageNotify 4#define XPEndPageNotify 5/******************************************************************** * * Xp Print Attribute Object codes (subset of ISO DPA 10175). The * Xp Server can get and set any of the values, while the Xp Library * may only be able to set a subset of the attribute objects. * * note: the codes are also used as "detail" for XPAttributeNotify * * note: XPPageAttr is not defined in ISO DPA 10175. It is unique * to Xp, and its attributes are a proper subset of XPDocAttr. */typedef unsigned char XPAttributes; /* type of Xp*Attr codes */#define XP_ATTRIBUTES 5 /* those attrs currently supported */#define XPJobAttr 1 /* get/set */#define XPDocAttr 2 /* get/set */#define XPPageAttr 3 /* get/set - subset of XPDocAttr */#define XPPrinterAttr 4 /* get only (library) */#define XPServerAttr 5 /* get only (library), no context needed *//* * note: ISO DPA 10175 defines a number of "attribute objects", of * which POSIX 1387.4 and the SI Xp will only support a * subset. */#define XPMediumAttr 6 /* DPA-Object Medium */#define XPFontAttr 7 /* DPA-Object Font */#define XPResAttr 8 /* DPA-Object Resource */#define XPTransAttr 9 /* DPA-Object Transfer method */#define XPDelAttr 10 /* DPA-Object Delivery method */#define XPAuxSPkg 11 /* DPA-Object Auxiliary sheet package */#define XPAuxS 12 /* DPA-Object Auxiliary sheet */#define XPFinishAttr 13 /* DPA-Object Finishing */#define XPOutputAttr 14 /* DPA-Object Output method */#define XPImpAttr 15 /* DPA-Object Imposition */#define XPSchedAttr 16 /* DPA-Object Scheduler */#define XPIntJobAttr 17 /* DPA-Object Initial value job */#define XPIntDocAttr 18 /* DPA-Object Initial value document */#define XPResConAttr 19 /* DPA-Object Resource context *//* * Replacement rules for XpSetAttributes */typedef unsigned char XPAttrReplacement;#define XPAttrReplace 1#define XPAttrMerge 2/* * Return codes for XpGetDocumentData */typedef unsigned char XPGetDocStatus;#define XPGetDocFinished 0 /* normal termination */#define XPGetDocSecondConsumer 1 /* setup error */#define XPGetDocError 2 /* runtime error, see generated error *//* * Save data types for XpStartJob. */typedef unsigned char XPSaveData;#define XPSpool 1 /* Job data sent to spooler */#define XPGetData 2 /* Job data via XpGetDocumentData *//* * Document types for XpStartDoc. */typedef unsigned char XPDocumentType;#define XPDocNormal 1 /* Doc data handled by Xserver */#define XPDocRaw 2 /* Doc data passed through Xserver *//******************************************************************** * * Xp Print Property Names */#ifndef _XP_PRINT_SERVER_/****************************************************************************** * * Definitions used by the library and clients only. *//******************************************************************* * * General API defines and such. *//* * Print Context for XpInitContext and related calls. */typedef XID XPContext;/* * Struct for XpGetPrinterList. */typedef struct { char *name; /* name */ char *desc; /* localized description */} XPPrinterRec, *XPPrinterList;/* * Typedefs for XpGetDocumentData */typedef void (*XPSaveProc)( Display *display, XPContext context, unsigned char *data, unsigned int data_len, XPointer client_data);typedef void (*XPFinishProc)( Display *display, XPContext context, XPGetDocStatus status, XPointer client_data);/* * Typedefs for XpSetLocaleHinter and XpGetLocaleHinter */typedef char * (*XPHinterProc)();/******************************************************************* * * Extension version structures. * */typedef struct { int present; short major_version; short minor_version;} XExtensionVersion;/******************************************************************** * * Event structs for clients. * * note: these events are relative to a print context, and * not to a window as in core X. */typedef struct { int type; /* base + XPPrintNotify */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if from a SendEvent request */ Display *display; /* Display the event was read from */ XPContext context; /* print context where operation was requested */ Bool cancel; /* was detailed event canceled */ int detail; /* XPStartJobNotify, XPEndJobNotify, XPStartDocNotify, XPEndDocNotify, XPStartPageNotify, XPEndPageNotify */} XPPrintEvent;typedef struct { int type; /* base + XPAttributeNotify */ unsigned long serial; /* # of last request processed by server */ Bool send_event; /* true if from a SendEvent request */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -