1408 lines
43 KiB
Diff
1408 lines
43 KiB
Diff
diff -up libXp-1.0.3/configure.ac.jx libXp-1.0.3/configure.ac
|
|
--- libXp-1.0.3/configure.ac.jx 2015-02-21 17:04:36.000000000 -0500
|
|
+++ libXp-1.0.3/configure.ac 2018-07-05 12:11:30.955684590 -0400
|
|
@@ -42,11 +42,12 @@ XORG_DEFAULT_OPTIONS
|
|
AC_PROG_LIBTOOL
|
|
|
|
# Check for X and print proto
|
|
-PKG_CHECK_MODULES(XPRINT, [x11 >= 1.6] xext xextproto xau printproto)
|
|
+PKG_CHECK_MODULES(XPRINT, [x11 >= 1.6] xext xextproto xau)
|
|
|
|
AC_CONFIG_FILES([Makefile
|
|
src/Makefile
|
|
man/Makefile
|
|
+ printproto.pc
|
|
xp.pc])
|
|
AC_OUTPUT
|
|
|
|
diff -up libXp-1.0.3/include/X11/extensions/Print.h.jx libXp-1.0.3/include/X11/extensions/Print.h
|
|
--- libXp-1.0.3/include/X11/extensions/Print.h.jx 2018-07-05 12:11:12.281385412 -0400
|
|
+++ libXp-1.0.3/include/X11/extensions/Print.h 2018-07-05 12:11:12.281385412 -0400
|
|
@@ -0,0 +1,552 @@
|
|
+/* $Xorg: Print.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
|
|
+/******************************************************************************
|
|
+ ******************************************************************************
|
|
+ **
|
|
+ ** 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.
|
|
+ **
|
|
+ ******************************************************************************
|
|
+ *****************************************************************************/
|
|
+/* $XFree86: xc/include/extensions/Print.h,v 1.4 2000/01/25 18:37:31 dawes Exp $ */
|
|
+
|
|
+#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)(void);
|
|
+
|
|
+#if 0
|
|
+/*******************************************************************
|
|
+ *
|
|
+ * Extension version structures.
|
|
+ *
|
|
+ **** this structure is now defined localy in the one file that uses it
|
|
+ **** in order to avoid clashes with its definition in XI.h
|
|
+ */
|
|
+typedef struct {
|
|
+ int present;
|
|
+ short major_version;
|
|
+ short minor_version;
|
|
+} XExtensionVersion;
|
|
+#endif
|
|
+
|
|
+/********************************************************************
|
|
+ *
|
|
+ * 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 */
|
|
+ Display *display; /* Display the event was read from */
|
|
+ XPContext context; /* print context where operation was requested */
|
|
+ int detail; /* XPJobAttr, XPDocAttr, XPPageAttr,
|
|
+ XPPrinterAttr, XPSpoolerAttr,
|
|
+ XPMediumAttr, XPServerAttr */
|
|
+} XPAttributeEvent;
|
|
+
|
|
+typedef struct {
|
|
+ int type; /* base + XPDataReadyNotify */
|
|
+ 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 */
|
|
+ unsigned long available; /* bytes available for retrieval */
|
|
+} XPDataReadyEvent;
|
|
+
|
|
+
|
|
+/**********************************************************
|
|
+ *
|
|
+ * Function prototypes for library side.
|
|
+ */
|
|
+
|
|
+extern XPContext XpCreateContext (
|
|
+ Display *display,
|
|
+ char *printer_name
|
|
+);
|
|
+
|
|
+extern void XpSetContext (
|
|
+ Display *display,
|
|
+ XPContext print_context
|
|
+);
|
|
+
|
|
+extern XPContext XpGetContext (
|
|
+ Display *display
|
|
+);
|
|
+
|
|
+extern void XpDestroyContext (
|
|
+ Display *display,
|
|
+ XPContext print_context
|
|
+);
|
|
+
|
|
+extern Screen *XpGetScreenOfContext (
|
|
+ Display *display,
|
|
+ XPContext print_context
|
|
+);
|
|
+
|
|
+extern Status XpGetPageDimensions (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ unsigned short *width, /* return value */
|
|
+ unsigned short *height, /* return value */
|
|
+ XRectangle *reproducible_area /* return value */
|
|
+);
|
|
+
|
|
+extern void XpStartJob (
|
|
+ Display *display,
|
|
+ XPSaveData save_data
|
|
+);
|
|
+
|
|
+extern void XpEndJob (
|
|
+ Display *display
|
|
+);
|
|
+
|
|
+extern void XpCancelJob (
|
|
+ Display *display,
|
|
+ Bool discard
|
|
+);
|
|
+
|
|
+extern void XpStartDoc (
|
|
+ Display *display,
|
|
+ XPDocumentType type
|
|
+);
|
|
+
|
|
+extern void XpEndDoc (
|
|
+ Display *display
|
|
+);
|
|
+
|
|
+extern void XpCancelDoc (
|
|
+ Display *display,
|
|
+ Bool discard
|
|
+);
|
|
+
|
|
+extern void XpPutDocumentData (
|
|
+ Display *display,
|
|
+ Drawable drawable,
|
|
+ unsigned char *data,
|
|
+ int data_len,
|
|
+ char *doc_fmt,
|
|
+ char *options
|
|
+);
|
|
+
|
|
+extern Status XpGetDocumentData (
|
|
+ Display *display,
|
|
+ XPContext context,
|
|
+ XPSaveProc save_proc,
|
|
+ XPFinishProc finish_proc,
|
|
+ XPointer client_data
|
|
+);
|
|
+
|
|
+extern void XpStartPage (
|
|
+ Display *display,
|
|
+ Window window
|
|
+);
|
|
+
|
|
+extern void XpEndPage (
|
|
+ Display *display
|
|
+);
|
|
+
|
|
+extern void XpCancelPage (
|
|
+ Display *display,
|
|
+ Bool discard
|
|
+);
|
|
+
|
|
+extern void XpSelectInput (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ unsigned long event_mask
|
|
+);
|
|
+
|
|
+extern unsigned long XpInputSelected (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ unsigned long *all_events_mask
|
|
+);
|
|
+
|
|
+extern Bool XpSetImageResolution (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ int image_res,
|
|
+ int *prev_res
|
|
+);
|
|
+
|
|
+extern int XpGetImageResolution (
|
|
+ Display *display,
|
|
+ XPContext print_context
|
|
+);
|
|
+
|
|
+extern char *XpGetAttributes (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ XPAttributes type
|
|
+);
|
|
+
|
|
+extern void XpSetAttributes (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ XPAttributes type,
|
|
+ char *pool,
|
|
+ XPAttrReplacement replacement_rule
|
|
+);
|
|
+
|
|
+extern char *XpGetOneAttribute (
|
|
+ Display *display,
|
|
+ XPContext print_context,
|
|
+ XPAttributes type,
|
|
+ char *attribute_name
|
|
+);
|
|
+
|
|
+extern XPPrinterList XpGetPrinterList (
|
|
+ Display *display,
|
|
+ char *printer_name,
|
|
+ int *list_count /* return value */
|
|
+);
|
|
+
|
|
+extern void XpFreePrinterList (
|
|
+ XPPrinterList printer_list
|
|
+);
|
|
+
|
|
+extern void XpRehashPrinterList (
|
|
+ Display *display
|
|
+);
|
|
+
|
|
+extern Status XpQueryVersion (
|
|
+ Display *display,
|
|
+ short *major_version, /* return value */
|
|
+ short *minor_version /* return value */
|
|
+);
|
|
+
|
|
+extern Bool XpQueryExtension (
|
|
+ Display *display,
|
|
+ int *event_base_return, /* return value */
|
|
+ int *error_base_return /* return value */
|
|
+);
|
|
+
|
|
+extern Screen **XpQueryScreens (
|
|
+ Display *display,
|
|
+ int *list_count /* return value */
|
|
+);
|
|
+
|
|
+extern Status XpGetPdmStartParams (
|
|
+ Display *print_display,
|
|
+ Window print_window,
|
|
+ XPContext print_context,
|
|
+ Display *video_display,
|
|
+ Window video_window,
|
|
+ Display **selection_display, /* return value */
|
|
+ Atom *selection, /* return value */
|
|
+ Atom *type, /* return value */
|
|
+ int *format, /* return value */
|
|
+ unsigned char **data, /* return value */
|
|
+ int *nelements /* return value */
|
|
+);
|
|
+
|
|
+extern Status XpGetAuthParams (
|
|
+ Display *print_display,
|
|
+ Display *video_display,
|
|
+ Display **selection_display, /* return value */
|
|
+ Atom *selection, /* return value */
|
|
+ Atom *target /* return value */
|
|
+);
|
|
+
|
|
+extern Status XpSendAuth (
|
|
+ Display *display,
|
|
+ Window window
|
|
+);
|
|
+
|
|
+extern Status XpSendOneTicket (
|
|
+ Display *display,
|
|
+ Window window,
|
|
+ Xauth *ticket,
|
|
+ Bool more
|
|
+);
|
|
+
|
|
+extern void XpSetLocaleHinter (
|
|
+ XPHinterProc hinter_proc,
|
|
+ char *hinter_desc
|
|
+);
|
|
+
|
|
+extern char *XpGetLocaleHinter (
|
|
+ XPHinterProc *hinter_proc
|
|
+);
|
|
+
|
|
+extern char *XpGetLocaleNetString(void);
|
|
+
|
|
+extern char *XpNotifyPdm (
|
|
+ Display *print_display,
|
|
+ Window print_window,
|
|
+ XPContext print_context,
|
|
+ Display *video_display,
|
|
+ Window video_window,
|
|
+ Bool auth_flag
|
|
+);
|
|
+
|
|
+#endif /* _XP_PRINT_SERVER_ */
|
|
+
|
|
+_XFUNCPROTOEND
|
|
+
|
|
+#endif /* _XpPrint_H_ */
|
|
diff -up libXp-1.0.3/include/X11/extensions/Printstr.h.jx libXp-1.0.3/include/X11/extensions/Printstr.h
|
|
--- libXp-1.0.3/include/X11/extensions/Printstr.h.jx 2018-07-05 12:11:12.282385427 -0400
|
|
+++ libXp-1.0.3/include/X11/extensions/Printstr.h 2018-07-05 12:11:12.282385427 -0400
|
|
@@ -0,0 +1,783 @@
|
|
+/* $Xorg: Printstr.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
|
|
+/******************************************************************************
|
|
+ ******************************************************************************
|
|
+ **
|
|
+ ** File: Printstr.h
|
|
+ **
|
|
+ ** Description: Definitions needed by the server and library, but
|
|
+ ** not clients.
|
|
+ **
|
|
+ ** Print.h for server, library and 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.
|
|
+ **
|
|
+ ******************************************************************************
|
|
+ *****************************************************************************/
|
|
+/* $XFree86: xc/include/extensions/Printstr.h,v 1.5 2001/08/01 00:44:35 tsi Exp $ */
|
|
+
|
|
+
|
|
+#ifndef _XpPrintstr_H_
|
|
+#define _XpPrintstr_H_
|
|
+
|
|
+/*
|
|
+ * NEED_EVENTS and NEED_REPLIES are hacks to limit the linker symbol-table
|
|
+ * size. When function prototypes are needed from Print.h, this sets up
|
|
+ * a cascading dependency on Printstr.h and eventually Xproto.h to provide
|
|
+ * the event and reply struct definitions.
|
|
+ */
|
|
+#ifndef NEED_EVENTS
|
|
+#define NEED_EVENTS
|
|
+#endif /* NEED_EVENTS */
|
|
+
|
|
+#define NEED_REPLIES
|
|
+
|
|
+#include <X11/Xproto.h>
|
|
+#ifndef _XP_PRINT_SERVER_
|
|
+#include <X11/Xlib.h>
|
|
+#endif /* _XP_PRINT_SERVER_ */
|
|
+
|
|
+/*
|
|
+ * Pull in other definitions. Print.h will hide some things if we're
|
|
+ * doing server side work.
|
|
+ */
|
|
+#include <X11/extensions/Print.h>
|
|
+
|
|
+#include <X11/Xfuncproto.h>
|
|
+
|
|
+_XFUNCPROTOBEGIN
|
|
+
|
|
+/******************************************************************************
|
|
+ *
|
|
+ * Protocol requests constants and alignment values
|
|
+ *
|
|
+ * Note: Xlib macro's expect X_ABC where ABC is the name of the
|
|
+ * protocol request.
|
|
+ */
|
|
+#define X_PrintQueryVersion 0
|
|
+#define X_PrintGetPrinterList 1
|
|
+#define X_PrintCreateContext 2
|
|
+#define X_PrintSetContext 3
|
|
+#define X_PrintGetContext 4
|
|
+#define X_PrintDestroyContext 5
|
|
+#define X_PrintGetContextScreen 6
|
|
+#define X_PrintStartJob 7
|
|
+#define X_PrintEndJob 8
|
|
+#define X_PrintStartDoc 9
|
|
+#define X_PrintEndDoc 10
|
|
+#define X_PrintPutDocumentData 11
|
|
+#define X_PrintGetDocumentData 12
|
|
+#define X_PrintStartPage 13
|
|
+#define X_PrintEndPage 14
|
|
+#define X_PrintSelectInput 15
|
|
+#define X_PrintInputSelected 16
|
|
+#define X_PrintGetAttributes 17
|
|
+#define X_PrintSetAttributes 18
|
|
+#define X_PrintGetOneAttribute 19
|
|
+#define X_PrintRehashPrinterList 20
|
|
+#define X_PrintGetPageDimensions 21
|
|
+#define X_PrintQueryScreens 22
|
|
+#define X_PrintSetImageResolution 23
|
|
+#define X_PrintGetImageResolution 24
|
|
+
|
|
+/********************************************************************
|
|
+ *
|
|
+ * Protocol data types
|
|
+ */
|
|
+#define PCONTEXT CARD32
|
|
+#define WINDOW CARD32
|
|
+#define DRAWABLE CARD32
|
|
+#define BITMASK CARD32
|
|
+
|
|
+/******************************************************************************
|
|
+ *
|
|
+ * Event wire struct definitions
|
|
+ *
|
|
+ * Note: Xlib macro's expect xABC struct names and sz_xABC size
|
|
+ * constants where ABC is the name of the protocol request.
|
|
+ */
|
|
+
|
|
+
|
|
+/*********************************************************************
|
|
+ *
|
|
+ * Events.
|
|
+ *
|
|
+ * See Print.h for the protocol "type" values.
|
|
+ */
|
|
+typedef struct _xPrintPrintEvent {
|
|
+ BYTE type; /* XPPrintNotify + extEntry->eventBase */
|
|
+ BYTE detail; /* XPStartJobNotify, XPEndJobNotify,
|
|
+ XPStartDocNotify, XPEndDocNotify,
|
|
+ XPStartPageNotify, XPEndPageNotify */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ BOOL cancel; /* canceled flag */
|
|
+ CARD8 pad1; /* rest is unused */
|
|
+ CARD16 pad2 B16;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+ CARD32 pad6 B32;
|
|
+ CARD32 pad7 B32;
|
|
+} xPrintPrintEvent;
|
|
+#define sz_xPrintPrintEvent 32;
|
|
+
|
|
+typedef struct _xPrintAttributeEvent {
|
|
+ BYTE type; /* XPAttributeNotify + extEntry->eventBase */
|
|
+ BYTE detail; /* XPJobAttr, XPDocAttr, XPPageAttr,
|
|
+ XPPrinterAttr, XPSpoolerAttr,
|
|
+ XPMediumAttr, XPServerAttr */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+ CARD32 pad6 B32;
|
|
+} xPrintAttributeEvent;
|
|
+#define sz_xPrintAttributeEvent 32;
|
|
+
|
|
+
|
|
+/*********************************************************************
|
|
+ *
|
|
+ * Requests
|
|
+ */
|
|
+typedef struct _PrintQueryVersion {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintQueryVersion */
|
|
+ CARD16 length B16;
|
|
+} xPrintQueryVersionReq;
|
|
+#define sz_xPrintQueryVersionReq 4
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD16 majorVersion B16; /* major version of Xp protocol */
|
|
+ CARD16 minorVersion B16; /* minor version of Xp protocol */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+} xPrintQueryVersionReply;
|
|
+#define sz_xPrintQueryVersionReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintGetPrinterList {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetPrinterList */
|
|
+ CARD16 length B16;
|
|
+ CARD32 printerNameLen B32; /* length of printer name */
|
|
+ CARD32 localeLen B32; /* length of locale string */
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ STRING8 printerName; * printer name *
|
|
+ BYTE pad(printerNameLen) * unused *
|
|
+ STRING8 locale; * locale *
|
|
+ BYTE pad(localeLen) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintGetPrinterListReq;
|
|
+#define sz_xPrintGetPrinterListReq 12
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD32 listCount B32; /* of PRINTER recs below */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ CARD32 nameLen B32; * length of name in bytes *
|
|
+ STRING8 name; * name *
|
|
+ BYTE pad(nameLen) * unused *
|
|
+
|
|
+ CARD32 descLen B32; * length of desc in bytes *
|
|
+ STRING8 desc; * localized description *
|
|
+ BYTE pad(descLen) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintGetPrinterListReply;
|
|
+#define sz_xPrintGetPrinterListReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintRehashPrinterList {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintRehashPrinterList */
|
|
+ CARD16 length B16;
|
|
+} xPrintRehashPrinterListReq;
|
|
+#define sz_xPrintRehashPrinterListReq 4
|
|
+
|
|
+
|
|
+typedef struct _PrintCreateContext {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintInitSetContext */
|
|
+ CARD16 length B16;
|
|
+ CARD32 contextID B32; /* ID for context */
|
|
+ CARD32 printerNameLen B32; /* length of printerName in bytes */
|
|
+ CARD32 localeLen B32; /* length of locale in bytes */
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ STRING8 printerName * printer name *
|
|
+ BYTE pad(printerNameLen) * unused *
|
|
+ STRING8 locale * locale *
|
|
+ BYTE pad(locale) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintCreateContextReq;
|
|
+#define sz_xPrintCreateContextReq 16
|
|
+
|
|
+
|
|
+typedef struct _PrintSetContext {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintSetContext */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+} xPrintSetContextReq;
|
|
+#define sz_xPrintSetContextReq 8
|
|
+
|
|
+
|
|
+typedef struct _PrintGetContext {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetContext */
|
|
+ CARD16 length B16;
|
|
+} xPrintGetContextReq;
|
|
+#define sz_xPrintGetContextReq 4
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+} xPrintGetContextReply;
|
|
+#define sz_xPrintGetContextReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintDestroyContext {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintDestroyContext */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+} xPrintDestroyContextReq;
|
|
+#define sz_xPrintDestroyContextReq 8
|
|
+
|
|
+
|
|
+typedef struct _PrintGetContextScreen {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetContextScreen */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+} xPrintGetContextScreenReq;
|
|
+#define sz_xPrintGetContextScreenReq 8
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ WINDOW rootWindow; /* screenPtr represented as rootWin */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+} xPrintGetContextScreenReply;
|
|
+#define sz_xPrintGetContextScreenReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintStartJob {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintStartJob */
|
|
+ CARD16 length B16;
|
|
+ CARD8 saveData; /* save data boolean */
|
|
+ CARD8 pad1;
|
|
+ CARD16 pad2 B16;
|
|
+} xPrintStartJobReq;
|
|
+#define sz_xPrintStartJobReq 8
|
|
+
|
|
+typedef struct _PrintEndJob {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintEndJob */
|
|
+ CARD16 length B16;
|
|
+ BOOL cancel; /* cancel boolean */
|
|
+ CARD8 pad1;
|
|
+ CARD16 pad2 B16;
|
|
+} xPrintEndJobReq;
|
|
+#define sz_xPrintEndJobReq 8
|
|
+
|
|
+
|
|
+typedef struct _PrintStartDoc {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintStartDoc */
|
|
+ CARD16 length B16;
|
|
+ CARD8 type; /* type for document */
|
|
+ CARD8 pad1;
|
|
+ CARD16 pad2 B16;
|
|
+} xPrintStartDocReq;
|
|
+#define sz_xPrintStartDocReq 8
|
|
+
|
|
+typedef struct _PrintEndDoc {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintEndDoc */
|
|
+ CARD16 length B16;
|
|
+ BOOL cancel; /* cancel boolean */
|
|
+ CARD8 pad1;
|
|
+ CARD16 pad2 B16;
|
|
+} xPrintEndDocReq;
|
|
+#define sz_xPrintEndDocReq 8
|
|
+
|
|
+
|
|
+typedef struct _PrintPutDocumentData {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintPutDocumentData */
|
|
+ CARD16 length B16;
|
|
+ DRAWABLE drawable B32; /* target drawable */
|
|
+ CARD32 len_data B32; /* big len in bytes */
|
|
+ CARD16 len_fmt; /* len in bytes */
|
|
+ CARD16 len_options; /* len in bytes */
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ LISTofBYTE data; * data *
|
|
+ BYTE pad(len_data) * unused *
|
|
+ STRING8 doc_fmt; * ISO compliant desc of data type *
|
|
+ BYTE pad(len_fmt) * unused *
|
|
+ STRING8 options; * additional device-dependent desc *
|
|
+ BYTE pad(len_options) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintPutDocumentDataReq;
|
|
+#define sz_xPrintPutDocumentDataReq 16
|
|
+
|
|
+
|
|
+typedef struct _PrintGetDocumentData {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetDocumentData */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD32 maxBufferSize B32; /* maximum buffer size requested */
|
|
+} xPrintGetDocumentDataReq;
|
|
+#define sz_xPrintGetDocumentDataReq 12
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD32 statusCode B32; /* status code for reply */
|
|
+ CARD32 finishedFlag B32; /* is this the last reply */
|
|
+ CARD32 dataLen B32; /* data length */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ LISTofBYTE data; * data *
|
|
+ BYTE pad(count) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintGetDocumentDataReply;
|
|
+#define sz_xPrintGetDocumentDataReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintStartPage {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintStartPage */
|
|
+ CARD16 length B16;
|
|
+ WINDOW window B32; /* window */
|
|
+} xPrintStartPageReq;
|
|
+#define sz_xPrintStartPageReq 8
|
|
+
|
|
+typedef struct _PrintEndPage {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintEndPage */
|
|
+ CARD16 length B16;
|
|
+ BOOL cancel; /* cancel boolean */
|
|
+ CARD8 pad1;
|
|
+ CARD16 pad2 B16;
|
|
+} xPrintEndPageReq;
|
|
+#define sz_xPrintEndPageReq 8
|
|
+
|
|
+
|
|
+typedef struct _PrintSelectInput {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintSelectInput */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ BITMASK eventMask B32;
|
|
+} xPrintSelectInputReq;
|
|
+#define sz_xPrintSelectInputReq 12
|
|
+
|
|
+
|
|
+typedef struct _PrintInputSelected {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintInputSelected */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+} xPrintInputSelectedReq;
|
|
+#define sz_xPrintInputSelectedReq 8
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ BITMASK eventMask B32; /* your event mask */
|
|
+ BITMASK allEventsMask B32; /* all event mask */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+} xPrintInputSelectedReply;
|
|
+#define sz_xPrintInputSelectedReply 32
|
|
+
|
|
+typedef struct _PrintGetAttributes {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetAttributes */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD8 type; /* type */
|
|
+ CARD8 pad1; /* unused */
|
|
+ CARD16 pad2 B16; /* unused */
|
|
+} xPrintGetAttributesReq;
|
|
+#define sz_xPrintGetAttributesReq 12
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD32 stringLen B32; /* length of xrm db string */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ STRING8 string; * xrm db as a string *
|
|
+ BYTE pad(stringLen) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintGetAttributesReply;
|
|
+#define sz_xPrintGetAttributesReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintSetAttributes {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintSetAttributes */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD32 stringLen B32; /* length of xrm db string */
|
|
+ CARD8 type; /* type */
|
|
+ CARD8 rule; /* replacement rule */
|
|
+ CARD16 pad1 B16; /* unused */
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ STRING8 string; * xrm db as a string *
|
|
+ BYTE pad(stringLen) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintSetAttributesReq;
|
|
+#define sz_xPrintSetAttributesReq 16
|
|
+
|
|
+
|
|
+typedef struct _PrintGetOneAttribute {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetOneAttribute */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD32 nameLen; /* length of name string */
|
|
+ CARD8 type; /* type */
|
|
+ CARD8 pad1; /* unused */
|
|
+ CARD16 pad2 B16; /* unused */
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ STRING8 name; * name as a string *
|
|
+ BYTE pad(name) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintGetOneAttributeReq;
|
|
+#define sz_xPrintGetOneAttributeReq 16
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD32 valueLen B32; /* length of value string */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ STRING8 value; * value as a string *
|
|
+ BYTE pad(value) * unused *
|
|
+ ************************************************************/
|
|
+} xPrintGetOneAttributeReply;
|
|
+#define sz_xPrintGetOneAttributeReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintGetPageDimensions {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetPageDimensions */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+} xPrintGetPageDimensionsReq;
|
|
+#define sz_xPrintGetPageDimensionsReq 8
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD16 width; /* total pixel width */
|
|
+ CARD16 height; /* total pixel height */
|
|
+ CARD16 rx; /* reproducable x pixel offset */
|
|
+ CARD16 ry; /* reproducable y pixel offset */
|
|
+ CARD16 rwidth; /* reproducable x pixel width */
|
|
+ CARD16 rheight; /* reproducable y pixel width */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+} xPrintGetPageDimensionsReply;
|
|
+#define sz_xPrintGetPageDimensionsReply 32
|
|
+
|
|
+
|
|
+typedef struct _PrintQueryScreens {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintQueryScreens */
|
|
+ CARD16 length B16;
|
|
+} xPrintQueryScreensReq;
|
|
+#define sz_xPrintQueryScreensReq 4
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused; /* not used */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD32 listCount; /* number of screens following */
|
|
+ CARD32 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+
|
|
+ /* variable portion *****************************************
|
|
+ WINDOW rootWindow; * root window of screen *
|
|
+ ************************************************************/
|
|
+} xPrintQueryScreensReply;
|
|
+#define sz_xPrintQueryScreensReply 32
|
|
+
|
|
+typedef struct _PrintSetImageResolution {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintSetImageResolution */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+ CARD16 imageRes B16; /* image resolution */
|
|
+ CARD16 pad1 B16;
|
|
+} xPrintSetImageResolutionReq;
|
|
+#define sz_xPrintSetImageResolutionReq 12
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ BOOL status; /* accepted or not */
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD16 prevRes B16; /* previous resolution */
|
|
+ CARD16 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+ CARD32 pad6 B32;
|
|
+} xPrintSetImageResolutionReply;
|
|
+#define sz_xPrintSetImageResolutionReply 32
|
|
+
|
|
+typedef struct _PrintGetImageResolution {
|
|
+ CARD8 reqType; /* always PrintReqCode */
|
|
+ CARD8 printReqType; /* always X_PrintGetImageResolution */
|
|
+ CARD16 length B16;
|
|
+ PCONTEXT printContext B32; /* print context */
|
|
+} xPrintGetImageResolutionReq;
|
|
+#define sz_xPrintGetImageResolutionReq 8
|
|
+
|
|
+typedef struct {
|
|
+ BYTE type; /* X_Reply */
|
|
+ CARD8 unused;
|
|
+ CARD16 sequenceNumber B16;
|
|
+ CARD32 length B32;
|
|
+ CARD16 imageRes B16; /* image resolution */
|
|
+ CARD16 pad1 B32;
|
|
+ CARD32 pad2 B32;
|
|
+ CARD32 pad3 B32;
|
|
+ CARD32 pad4 B32;
|
|
+ CARD32 pad5 B32;
|
|
+ CARD32 pad6 B32;
|
|
+} xPrintGetImageResolutionReply;
|
|
+#define sz_xPrintGetImageResolutionReply 32
|
|
+
|
|
+#ifndef _XP_PRINT_SERVER_
|
|
+/***********************************************************************
|
|
+ *
|
|
+ * Library-only definitions.
|
|
+ */
|
|
+extern XPHinterProc _xp_hinter_proc;
|
|
+extern char *_xp_hinter_desc;
|
|
+extern int _xp_hinter_init;
|
|
+
|
|
+#else /* _XP_PRINT_SERVER_ */
|
|
+
|
|
+/***********************************************************************
|
|
+ *
|
|
+ * Server-only definitions shared between the extension and DDX layers.
|
|
+ *
|
|
+ */
|
|
+
|
|
+/*
|
|
+ * Internal return code used to indicate that the requesting
|
|
+ * client has been suspended.
|
|
+ */
|
|
+#define Suspended 84
|
|
+
|
|
+struct _XpContext;
|
|
+
|
|
+extern void XpRegisterPrinterScreen(
|
|
+ ScreenPtr pScreen,
|
|
+ int (*CreateContext)(struct _XpContext *));
|
|
+
|
|
+typedef struct _xpprintFuncs {
|
|
+ int (*StartJob)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ Bool /* sendClientData */,
|
|
+ ClientPtr /* client */);
|
|
+ int (*EndJob)(struct _XpContext *, int);
|
|
+ int (*StartDoc)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ XPDocumentType /* type */);
|
|
+ int (*EndDoc)(struct _XpContext *, int);
|
|
+ int (*StartPage)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ WindowPtr /* pWin */);
|
|
+ int (*EndPage)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ WindowPtr /* pWin */);
|
|
+ int (*PutDocumentData)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ DrawablePtr /* pDraw */,
|
|
+ char * /* pData */,
|
|
+ int /* len_data */,
|
|
+ char * /* pDoc_fmt */,
|
|
+ int /* len_fmt */,
|
|
+ char * /* pOptions */,
|
|
+ int /* len_options */,
|
|
+ ClientPtr /* client */);
|
|
+ int (*GetDocumentData)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ ClientPtr /* client */,
|
|
+ int /* maxBufferSize */);
|
|
+ int (*DestroyContext)(
|
|
+ struct _XpContext *); /* pContext */
|
|
+ char *(*GetAttributes)(
|
|
+ struct _XpContext *,
|
|
+ XPAttributes /* pool */);
|
|
+ char *(*GetOneAttribute)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ XPAttributes /* pool */,
|
|
+ char * /* attrs */);
|
|
+ int (*SetAttributes)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ XPAttributes /* pool */,
|
|
+ char * /* attrs */);
|
|
+ int (*AugmentAttributes)(
|
|
+ struct _XpContext * /* pContext */,
|
|
+ XPAttributes /* pool */,
|
|
+ char * /* attrs */);
|
|
+ int (*GetMediumDimensions)(
|
|
+ struct _XpContext * /* pPrintContext */,
|
|
+ CARD16 * /* pWidth */,
|
|
+ CARD16 * /* pHeight */);
|
|
+ int (*GetReproducibleArea)(
|
|
+ struct _XpContext * /* pPrintContext */,
|
|
+ xRectangle * /* pRect */);
|
|
+ int (*SetImageResolution)(
|
|
+ struct _XpContext * /* pPrintContext */,
|
|
+ int /* imageRes */,
|
|
+ Bool * /* pStatus */);
|
|
+} XpDriverFuncs, *XpDriverFuncsPtr;
|
|
+
|
|
+/*
|
|
+ * Each print context is represented by one of the following structs
|
|
+ * associated with a resource ID of type RTcontext . A pointer to
|
|
+ * the context is placed in the Xp extension's devPrivates
|
|
+ * element in each client * which establishes a context via
|
|
+ * either initContext or setContext.
|
|
+ * The context pointer is also placed in the struct indicated by the
|
|
+ * RTpage resource associated with each StartPage'd window.
|
|
+ */
|
|
+typedef struct _XpContext {
|
|
+ XID contextID;
|
|
+ char *printerName;
|
|
+ int screenNum; /* screen containing the printer */
|
|
+ struct _XpClient *clientHead; /* list of clients */
|
|
+ CARD32 state;
|
|
+ VisualID pageWin;
|
|
+ DevUnion *devPrivates;
|
|
+ XpDriverFuncs funcs;
|
|
+ ClientPtr clientSlept;
|
|
+ int imageRes;
|
|
+} XpContextRec, *XpContextPtr;
|
|
+
|
|
+#include <X11/fonts/fontstruct.h> /* FontResolutionPtr */
|
|
+
|
|
+extern Bool XpAllocateContextPrivate(int, unsigned);
|
|
+extern FontResolutionPtr XpGetClientResolutions(ClientPtr, int *);
|
|
+extern XpContextPtr XpContextOfClient(ClientPtr);
|
|
+extern XpContextPtr XpGetPrintContext(ClientPtr);
|
|
+extern int XpAllocateContextPrivateIndex(void);
|
|
+extern int XpRehashPrinterList(void);
|
|
+extern void XpSetFontResFunc(ClientPtr);
|
|
+extern void XpUnsetFontResFunc(ClientPtr);
|
|
+extern void XpRegisterInitFunc(ScreenPtr, char *, int (*)(struct _XpContext *));
|
|
+
|
|
+#endif /* _XP_PRINT_SERVER_ */
|
|
+
|
|
+_XFUNCPROTOEND
|
|
+
|
|
+#endif /* _XpPrintstr_H_ */
|
|
diff -up libXp-1.0.3/Makefile.am.jx libXp-1.0.3/Makefile.am
|
|
--- libXp-1.0.3/Makefile.am.jx 2015-02-21 17:02:53.000000000 -0500
|
|
+++ libXp-1.0.3/Makefile.am 2018-07-05 12:11:12.279385380 -0400
|
|
@@ -23,10 +23,15 @@ AM_CFLAGS = $(XPRINT_CFLAGS)
|
|
|
|
SUBDIRS = src man
|
|
|
|
+printdir = $(includedir)/X11/extensions
|
|
+print_HEADERS = \
|
|
+ $(top_srcdir)/include/X11/extensions/Print.h \
|
|
+ $(top_srcdir)/include/X11/extensions/Printstr.h
|
|
+
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
-pkgconfig_DATA = xp.pc
|
|
+pkgconfig_DATA = xp.pc printproto.pc
|
|
|
|
-EXTRA_DIST = xp.pc.in ChangeLog
|
|
+EXTRA_DIST = xp.pc.in printproto.pc.in ChangeLog
|
|
MAINTAINERCLEANFILES = ChangeLog
|
|
|
|
.PHONY: ChangeLog
|
|
diff -up libXp-1.0.3/printproto.pc.in.jx libXp-1.0.3/printproto.pc.in
|
|
--- libXp-1.0.3/printproto.pc.in.jx 2018-07-05 12:11:12.283385443 -0400
|
|
+++ libXp-1.0.3/printproto.pc.in 2018-07-05 12:11:12.282385427 -0400
|
|
@@ -0,0 +1,10 @@
|
|
+prefix=@prefix@
|
|
+exec_prefix=@exec_prefix@
|
|
+libdir=@libdir@
|
|
+includedir=@includedir@
|
|
+
|
|
+Name: PrintProto
|
|
+Description: Print extension headers
|
|
+Version: @PACKAGE_VERSION@
|
|
+Requires: xau
|
|
+Cflags: -I${includedir}
|
|
diff -up libXp-1.0.3/src/Makefile.am.jx libXp-1.0.3/src/Makefile.am
|
|
--- libXp-1.0.3/src/Makefile.am.jx 2015-02-21 17:02:53.000000000 -0500
|
|
+++ libXp-1.0.3/src/Makefile.am 2018-07-05 12:11:12.283385443 -0400
|
|
@@ -24,7 +24,7 @@ libXp_la_LIBADD = $(XPRINT_LIBS)
|
|
|
|
AM_CFLAGS = $(CWARNFLAGS) $(XPRINT_CFLAGS) $(MALLOC_ZERO_CFLAGS)
|
|
|
|
-AM_CPPFLAGS = -I$(top_srcdir)/include/X11/extensions
|
|
+AM_CPPFLAGS = -I$(top_srcdir)/include/
|
|
|
|
#
|
|
# Library version number. This must match old versions on
|