117ca54c3Smrg/* $Xorg: Print.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
217ca54c3Smrg/******************************************************************************
317ca54c3Smrg ******************************************************************************
417ca54c3Smrg **
517ca54c3Smrg ** File:         Print.h
617ca54c3Smrg **
717ca54c3Smrg ** Description:  Definitions needed by the server, library, and
817ca54c3Smrg **               clients.  Subportion restricted to library and
917ca54c3Smrg **               clients.
1017ca54c3Smrg **
1117ca54c3Smrg **               Server, Library, Client portion has:
1217ca54c3Smrg **                  o All sz_* defines
1317ca54c3Smrg **                  o Revision and Name defines
1417ca54c3Smrg **                  o Common defines and constants (e.g. Keywords, Masks)
1517ca54c3Smrg **                  o Extension version structure
1617ca54c3Smrg **
1717ca54c3Smrg **               Library and client subportion has:
18ea1d6981Smrg **                  o Convenience Macros
1917ca54c3Smrg **                  o Client side data structures
2017ca54c3Smrg **                  o Client side event structures (non wire)
2117ca54c3Smrg **                  o Library function prototypes
2217ca54c3Smrg **                  o some private stuff denoted with _whatever
2317ca54c3Smrg **
2417ca54c3Smrg **               Printstr.h for server and library, but NOT clients.
2517ca54c3Smrg **
2617ca54c3Smrg ******************************************************************************
2717ca54c3Smrg **
2817ca54c3Smrg ** (c) Copyright 1996 Hewlett-Packard Company
2917ca54c3Smrg ** (c) Copyright 1996 International Business Machines Corp.
3068872e7fSmrg ** (c) Copyright 1996, Oracle and/or its affiliates.
3117ca54c3Smrg ** (c) Copyright 1996 Novell, Inc.
3217ca54c3Smrg ** (c) Copyright 1996 Digital Equipment Corp.
3317ca54c3Smrg ** (c) Copyright 1996 Fujitsu Limited
3417ca54c3Smrg ** (c) Copyright 1996 Hitachi, Ltd.
3517ca54c3Smrg **
3617ca54c3Smrg ** Permission is hereby granted, free of charge, to any person obtaining a copy
3717ca54c3Smrg ** of this software and associated documentation files (the "Software"), to deal
3817ca54c3Smrg ** in the Software without restriction, including without limitation the rights
3917ca54c3Smrg ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4017ca54c3Smrg ** copies of the Software, and to permit persons to whom the Software is
4117ca54c3Smrg ** furnished to do so, subject to the following conditions:
4217ca54c3Smrg **
4317ca54c3Smrg ** The above copyright notice and this permission notice shall be included in
4417ca54c3Smrg ** all copies or substantial portions of the Software.
4517ca54c3Smrg **
4617ca54c3Smrg ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4717ca54c3Smrg ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4817ca54c3Smrg ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
4917ca54c3Smrg ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
5017ca54c3Smrg ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
5117ca54c3Smrg ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
5217ca54c3Smrg **
5317ca54c3Smrg ** Except as contained in this notice, the names of the copyright holders shall
5417ca54c3Smrg ** not be used in advertising or otherwise to promote the sale, use or other
5517ca54c3Smrg ** dealings in this Software without prior written authorization from said
5617ca54c3Smrg ** copyright holders.
5717ca54c3Smrg **
5817ca54c3Smrg ******************************************************************************
5917ca54c3Smrg *****************************************************************************/
6017ca54c3Smrg/* $XFree86: xc/include/extensions/Print.h,v 1.4 2000/01/25 18:37:31 dawes Exp $ */
6117ca54c3Smrg
6217ca54c3Smrg#ifndef _XpPrint_H_
6317ca54c3Smrg#define _XpPrint_H_
6417ca54c3Smrg
6517ca54c3Smrg#ifndef _XP_PRINT_SERVER_
6617ca54c3Smrg#include <X11/Xlib.h>
6717ca54c3Smrg#include <X11/Xresource.h>
6817ca54c3Smrg#include <X11/Xauth.h>
6917ca54c3Smrg#endif /* _XP_PRINT_SERVER_ */
7017ca54c3Smrg
7117ca54c3Smrg#include <X11/Xfuncproto.h>
7217ca54c3Smrg
7317ca54c3Smrg_XFUNCPROTOBEGIN
7417ca54c3Smrg
7517ca54c3Smrg/******************************************************************************
7617ca54c3Smrg *
7717ca54c3Smrg * Definitions used by the server, library and client.
7817ca54c3Smrg */
7917ca54c3Smrg
8017ca54c3Smrg/********************************************************************
8117ca54c3Smrg *
8217ca54c3Smrg * Naming and versioning information.
8317ca54c3Smrg */
8417ca54c3Smrg#define XP_PRINTNAME  "XpExtension"
8517ca54c3Smrg
8617ca54c3Smrg/*
8717ca54c3Smrg * Add a define below for each major extension release.
8817ca54c3Smrg */
8917ca54c3Smrg#define XP_DONT_CHECK		0
9017ca54c3Smrg#define XP_INITIAL_RELEASE	1
9117ca54c3Smrg
9217ca54c3Smrg/*
9317ca54c3Smrg * For each single entry above, create one major/minor pair.
9417ca54c3Smrg */
9517ca54c3Smrg#define XP_PROTO_MAJOR		1
9617ca54c3Smrg#define XP_PROTO_MINOR		0
9717ca54c3Smrg
9817ca54c3Smrg/*
9917ca54c3Smrg * Identify current version.
10017ca54c3Smrg */
10117ca54c3Smrg#define XP_MAJOR_VERSION	XP_PROTO_MAJOR
10217ca54c3Smrg#define XP_MINOR_VERSION	XP_PROTO_MINOR
10317ca54c3Smrg
10417ca54c3Smrg/*
10517ca54c3Smrg * Misc version defines.
10617ca54c3Smrg */
10717ca54c3Smrg#define XP_ABSENT		0	/* Prior to XP Print support */
10817ca54c3Smrg#define XP_PRESENT		1	/* With XP Print support */
10917ca54c3Smrg
11017ca54c3Smrg/********************************************************************
11117ca54c3Smrg *
11217ca54c3Smrg * Xp Print Error codes.
11317ca54c3Smrg */
11417ca54c3Smrg#define XP_ERRORS		3	/* number of error types */
11517ca54c3Smrg
11617ca54c3Smrg#define XPBadContext		0	/* Print Context invalid or missing */
11717ca54c3Smrg#define XPBadSequence		1	/* Illegal sequence of XP operations */
11817ca54c3Smrg#define XPBadResourceID		2	/* X-resource not valid */
11917ca54c3Smrg
12017ca54c3Smrg/********************************************************************
12117ca54c3Smrg *
12217ca54c3Smrg * Xp Print Event masks and codes.
12317ca54c3Smrg *
12417ca54c3Smrg */
12517ca54c3Smrg#define XP_EVENTS		2	/* number of event types */
12617ca54c3Smrg
12717ca54c3Smrg#define XPNoEventMask		0	/* not an event - just a null mask */
12817ca54c3Smrg#define XPPrintMask		(1L<<0)
12917ca54c3Smrg#define XPAttributeMask		(1L<<1)
13017ca54c3Smrg
13117ca54c3Smrg#define XPPrintNotify		0	/* contains "detail" - see below */
13217ca54c3Smrg#define XPAttributeNotify	1	/* contains "detail" - see below */
13317ca54c3Smrg
13417ca54c3Smrg#define XPStartJobNotify	0	/* value for "detail" in XPPrintNotify*/
13517ca54c3Smrg#define XPEndJobNotify		1
13617ca54c3Smrg#define XPStartDocNotify	2
13717ca54c3Smrg#define XPEndDocNotify		3
13817ca54c3Smrg#define XPStartPageNotify	4
13917ca54c3Smrg#define XPEndPageNotify		5
14017ca54c3Smrg
14117ca54c3Smrg/********************************************************************
14217ca54c3Smrg *
14317ca54c3Smrg * Xp Print Attribute Object codes (subset of ISO DPA 10175).  The
14417ca54c3Smrg * Xp Server can get and set any of the values, while the Xp Library
14517ca54c3Smrg * may only be able to set a subset of the attribute objects.
14617ca54c3Smrg *
14717ca54c3Smrg * note: the codes are also used as "detail" for XPAttributeNotify
14817ca54c3Smrg *
14917ca54c3Smrg * note: XPPageAttr is not defined in ISO DPA 10175.  It is unique
15017ca54c3Smrg * to Xp, and its attributes are a proper subset of XPDocAttr.
15117ca54c3Smrg */
15217ca54c3Smrgtypedef unsigned char XPAttributes;	/* type of Xp*Attr codes */
15317ca54c3Smrg
15417ca54c3Smrg#define XP_ATTRIBUTES		5	/* those attrs currently supported */
15517ca54c3Smrg
15617ca54c3Smrg#define XPJobAttr		1	/* get/set */
15717ca54c3Smrg#define XPDocAttr		2	/* get/set */
15817ca54c3Smrg#define XPPageAttr		3	/* get/set - subset of XPDocAttr */
15917ca54c3Smrg#define XPPrinterAttr		4	/* get only (library) */
16017ca54c3Smrg#define XPServerAttr		5	/* get only (library), no
16117ca54c3Smrg					   context needed */
16217ca54c3Smrg
16317ca54c3Smrg/*
16417ca54c3Smrg * note: ISO DPA 10175 defines a number of "attribute objects", of
16517ca54c3Smrg *       which POSIX 1387.4 and the SI Xp will only support a
16617ca54c3Smrg *       subset.
16717ca54c3Smrg */
16817ca54c3Smrg#define XPMediumAttr		6	/* DPA-Object Medium */
16917ca54c3Smrg#define XPFontAttr		7	/* DPA-Object Font */
17017ca54c3Smrg#define XPResAttr		8	/* DPA-Object Resource */
17117ca54c3Smrg#define XPTransAttr		9	/* DPA-Object Transfer method */
17217ca54c3Smrg#define XPDelAttr		10	/* DPA-Object Delivery method */
17317ca54c3Smrg#define XPAuxSPkg		11	/* DPA-Object Auxiliary sheet package */
17417ca54c3Smrg#define XPAuxS			12	/* DPA-Object Auxiliary sheet */
17517ca54c3Smrg#define XPFinishAttr		13	/* DPA-Object Finishing */
17617ca54c3Smrg#define XPOutputAttr		14	/* DPA-Object Output method */
17717ca54c3Smrg#define XPImpAttr		15	/* DPA-Object Imposition */
17817ca54c3Smrg#define XPSchedAttr		16	/* DPA-Object Scheduler */
17917ca54c3Smrg#define XPIntJobAttr		17	/* DPA-Object Initial value job */
18017ca54c3Smrg#define XPIntDocAttr		18	/* DPA-Object Initial value document */
18117ca54c3Smrg#define XPResConAttr		19	/* DPA-Object Resource context */
18217ca54c3Smrg
18317ca54c3Smrg
18417ca54c3Smrg/*
18517ca54c3Smrg * Replacement rules for XpSetAttributes
18617ca54c3Smrg */
18717ca54c3Smrgtypedef unsigned char XPAttrReplacement;
18817ca54c3Smrg#define	XPAttrReplace		1
18917ca54c3Smrg#define XPAttrMerge		2
19017ca54c3Smrg
19117ca54c3Smrg
19217ca54c3Smrg/*
19317ca54c3Smrg * Return codes for XpGetDocumentData
19417ca54c3Smrg */
19517ca54c3Smrgtypedef unsigned char XPGetDocStatus;
19617ca54c3Smrg#define XPGetDocFinished	0	/* normal termination */
19717ca54c3Smrg#define XPGetDocSecondConsumer	1	/* setup error */
19817ca54c3Smrg#define XPGetDocError		2	/* runtime error, see generated error */
19917ca54c3Smrg
20017ca54c3Smrg
20117ca54c3Smrg/*
20217ca54c3Smrg * Save data types for XpStartJob.
20317ca54c3Smrg */
20417ca54c3Smrgtypedef unsigned char XPSaveData;
20517ca54c3Smrg#define XPSpool			1	/* Job data sent to spooler */
20617ca54c3Smrg#define XPGetData		2	/* Job data via XpGetDocumentData */
20717ca54c3Smrg
20817ca54c3Smrg
20917ca54c3Smrg/*
21017ca54c3Smrg * Document types for XpStartDoc.
21117ca54c3Smrg */
21217ca54c3Smrgtypedef unsigned char XPDocumentType;
21317ca54c3Smrg#define	XPDocNormal		1	/* Doc data handled by Xserver */
21417ca54c3Smrg#define	XPDocRaw		2	/* Doc data passed through Xserver */
21517ca54c3Smrg
21617ca54c3Smrg
21717ca54c3Smrg/********************************************************************
21817ca54c3Smrg *
21917ca54c3Smrg * Xp Print Property Names
22017ca54c3Smrg */
22117ca54c3Smrg
22217ca54c3Smrg
22317ca54c3Smrg#ifndef _XP_PRINT_SERVER_
22417ca54c3Smrg
22517ca54c3Smrg/******************************************************************************
22617ca54c3Smrg *
22717ca54c3Smrg * Definitions used by the library and clients only.
22817ca54c3Smrg */
22917ca54c3Smrg
23017ca54c3Smrg/*******************************************************************
23117ca54c3Smrg *
23217ca54c3Smrg * General API defines and such.
23317ca54c3Smrg */
23417ca54c3Smrg
23517ca54c3Smrg/*
23617ca54c3Smrg * Print Context for XpInitContext and related calls.
23717ca54c3Smrg */
23817ca54c3Smrgtypedef XID XPContext;
23917ca54c3Smrg
24017ca54c3Smrg/*
24117ca54c3Smrg * Struct for XpGetPrinterList.
24217ca54c3Smrg */
24317ca54c3Smrgtypedef struct {
24417ca54c3Smrg    char	*name;		/* name */
24517ca54c3Smrg    char	*desc;		/* localized description */
24617ca54c3Smrg} XPPrinterRec, *XPPrinterList;
24717ca54c3Smrg
24817ca54c3Smrg/*
24917ca54c3Smrg * Typedefs for XpGetDocumentData
25017ca54c3Smrg */
25117ca54c3Smrgtypedef void (*XPSaveProc)( Display *display,
25217ca54c3Smrg                            XPContext context,
25317ca54c3Smrg                            unsigned char *data,
25417ca54c3Smrg                            unsigned int data_len,
25517ca54c3Smrg                            XPointer client_data);
25617ca54c3Smrg
25717ca54c3Smrgtypedef void (*XPFinishProc)( Display *display,
25817ca54c3Smrg                              XPContext context,
25917ca54c3Smrg                              XPGetDocStatus status,
26017ca54c3Smrg                              XPointer client_data);
26117ca54c3Smrg
26217ca54c3Smrg/*
26317ca54c3Smrg * Typedefs for XpSetLocaleHinter and XpGetLocaleHinter
26417ca54c3Smrg */
26517ca54c3Smrgtypedef char * (*XPHinterProc)(void);
26617ca54c3Smrg
26717ca54c3Smrg#if 0
26817ca54c3Smrg/*******************************************************************
26917ca54c3Smrg *
27017ca54c3Smrg * Extension version structures.
27117ca54c3Smrg *
272ea1d6981Smrg **** this structure is now defined locally in the one file that uses it
27317ca54c3Smrg **** in order to avoid clashes with its definition in XI.h
27417ca54c3Smrg */
27517ca54c3Smrgtypedef struct {
27617ca54c3Smrg        int     present;
27717ca54c3Smrg        short   major_version;
27817ca54c3Smrg        short   minor_version;
27917ca54c3Smrg} XExtensionVersion;
28017ca54c3Smrg#endif
28117ca54c3Smrg
28217ca54c3Smrg/********************************************************************
28317ca54c3Smrg *
28417ca54c3Smrg * Event structs for clients.
28517ca54c3Smrg *
28617ca54c3Smrg * note: these events are relative to a print context, and
28717ca54c3Smrg * not to a window as in core X.
28817ca54c3Smrg */
28917ca54c3Smrgtypedef struct {
29017ca54c3Smrg    int            type;       /* base + XPPrintNotify */
29117ca54c3Smrg    unsigned long  serial;     /* # of last request processed by server */
29217ca54c3Smrg    Bool           send_event; /* true if from a SendEvent request */
29317ca54c3Smrg    Display        *display;   /* Display the event was read from */
29417ca54c3Smrg    XPContext      context;    /* print context where operation was requested */
29517ca54c3Smrg    Bool           cancel;     /* was detailed event canceled */
29617ca54c3Smrg    int            detail;     /* XPStartJobNotify, XPEndJobNotify,
29717ca54c3Smrg                                  XPStartDocNotify, XPEndDocNotify,
29817ca54c3Smrg                                  XPStartPageNotify, XPEndPageNotify */
29917ca54c3Smrg} XPPrintEvent;
30017ca54c3Smrg
30117ca54c3Smrgtypedef struct {
30217ca54c3Smrg    int            type;       /* base + XPAttributeNotify */
30317ca54c3Smrg    unsigned long  serial;     /* # of last request processed by server */
30417ca54c3Smrg    Bool           send_event; /* true if from a SendEvent request */
30517ca54c3Smrg    Display        *display;   /* Display the event was read from */
30617ca54c3Smrg    XPContext      context;    /* print context where operation was requested */
30717ca54c3Smrg    int            detail;     /* XPJobAttr, XPDocAttr, XPPageAttr,
30817ca54c3Smrg                                  XPPrinterAttr, XPSpoolerAttr,
30917ca54c3Smrg                                  XPMediumAttr, XPServerAttr */
31017ca54c3Smrg} XPAttributeEvent;
31117ca54c3Smrg
31217ca54c3Smrgtypedef struct {
31317ca54c3Smrg    int            type;       /* base + XPDataReadyNotify */
31417ca54c3Smrg    unsigned long  serial;     /* # of last request processed by server */
31517ca54c3Smrg    Bool           send_event; /* true if from a SendEvent request */
31617ca54c3Smrg    Display        *display;   /* Display the event was read from */
31717ca54c3Smrg    XPContext      context;    /* print context where operation was requested */
31817ca54c3Smrg    unsigned long  available;  /* bytes available for retrieval */
31917ca54c3Smrg} XPDataReadyEvent;
32017ca54c3Smrg
32117ca54c3Smrg
32217ca54c3Smrg/**********************************************************
32317ca54c3Smrg *
32417ca54c3Smrg * Function prototypes for library side.
32517ca54c3Smrg */
32617ca54c3Smrg
32717ca54c3Smrgextern XPContext XpCreateContext (
32817ca54c3Smrg    Display		*display,
32917ca54c3Smrg    char		*printer_name
33017ca54c3Smrg);
33117ca54c3Smrg
33217ca54c3Smrgextern void XpSetContext (
33317ca54c3Smrg    Display		*display,
33417ca54c3Smrg    XPContext     	print_context
33517ca54c3Smrg);
33617ca54c3Smrg
33717ca54c3Smrgextern XPContext XpGetContext (
33817ca54c3Smrg    Display		*display
33917ca54c3Smrg);
34017ca54c3Smrg
34117ca54c3Smrgextern void XpDestroyContext (
34217ca54c3Smrg    Display		*display,
34317ca54c3Smrg    XPContext     	print_context
34417ca54c3Smrg);
34517ca54c3Smrg
34617ca54c3Smrgextern Screen *XpGetScreenOfContext (
34717ca54c3Smrg    Display		*display,
34817ca54c3Smrg    XPContext     	print_context
34917ca54c3Smrg);
35017ca54c3Smrg
35117ca54c3Smrgextern Status XpGetPageDimensions (
35217ca54c3Smrg    Display		*display,
35317ca54c3Smrg    XPContext     	print_context,
35417ca54c3Smrg    unsigned short	*width,			/* return value */
35517ca54c3Smrg    unsigned short	*height,		/* return value */
35617ca54c3Smrg    XRectangle		*reproducible_area	/* return value */
35717ca54c3Smrg);
35817ca54c3Smrg
35917ca54c3Smrgextern void XpStartJob (
36017ca54c3Smrg    Display		*display,
36117ca54c3Smrg    XPSaveData		save_data
36217ca54c3Smrg);
36317ca54c3Smrg
36417ca54c3Smrgextern void XpEndJob (
36517ca54c3Smrg    Display		*display
36617ca54c3Smrg);
36717ca54c3Smrg
36817ca54c3Smrgextern void XpCancelJob (
36917ca54c3Smrg    Display		*display,
37017ca54c3Smrg    Bool		discard
37117ca54c3Smrg);
37217ca54c3Smrg
37317ca54c3Smrgextern void XpStartDoc (
37417ca54c3Smrg    Display		*display,
37517ca54c3Smrg    XPDocumentType	type
37617ca54c3Smrg);
37717ca54c3Smrg
37817ca54c3Smrgextern void XpEndDoc (
37917ca54c3Smrg    Display		*display
38017ca54c3Smrg);
38117ca54c3Smrg
38217ca54c3Smrgextern void XpCancelDoc (
38317ca54c3Smrg    Display		*display,
38417ca54c3Smrg    Bool		discard
38517ca54c3Smrg);
38617ca54c3Smrg
38717ca54c3Smrgextern void XpPutDocumentData (
38817ca54c3Smrg    Display		*display,
38917ca54c3Smrg    Drawable		drawable,
39017ca54c3Smrg    unsigned char	*data,
39117ca54c3Smrg    int			data_len,
39217ca54c3Smrg    char		*doc_fmt,
39317ca54c3Smrg    char		*options
39417ca54c3Smrg);
39517ca54c3Smrg
39617ca54c3Smrgextern Status XpGetDocumentData (
39717ca54c3Smrg    Display		*display,
39817ca54c3Smrg    XPContext		context,
39917ca54c3Smrg    XPSaveProc		save_proc,
40017ca54c3Smrg    XPFinishProc	finish_proc,
40117ca54c3Smrg    XPointer		client_data
40217ca54c3Smrg);
40317ca54c3Smrg
40417ca54c3Smrgextern void XpStartPage (
40517ca54c3Smrg    Display		*display,
40617ca54c3Smrg    Window		window
40717ca54c3Smrg);
40817ca54c3Smrg
40917ca54c3Smrgextern void XpEndPage (
41017ca54c3Smrg    Display		*display
41117ca54c3Smrg);
41217ca54c3Smrg
41317ca54c3Smrgextern void XpCancelPage (
41417ca54c3Smrg    Display		*display,
41517ca54c3Smrg    Bool		discard
41617ca54c3Smrg);
41717ca54c3Smrg
41817ca54c3Smrgextern void XpSelectInput (
41917ca54c3Smrg    Display		*display,
42017ca54c3Smrg    XPContext     	print_context,
42117ca54c3Smrg    unsigned long	event_mask
42217ca54c3Smrg);
42317ca54c3Smrg
42417ca54c3Smrgextern unsigned long XpInputSelected (
42517ca54c3Smrg    Display		*display,
42617ca54c3Smrg    XPContext     	print_context,
42717ca54c3Smrg    unsigned long	*all_events_mask
42817ca54c3Smrg);
42917ca54c3Smrg
43017ca54c3Smrgextern Bool XpSetImageResolution (
43117ca54c3Smrg    Display		*display,
43217ca54c3Smrg    XPContext     	print_context,
43317ca54c3Smrg    int			image_res,
43417ca54c3Smrg    int			*prev_res
43517ca54c3Smrg);
43617ca54c3Smrg
43717ca54c3Smrgextern int XpGetImageResolution (
43817ca54c3Smrg    Display		*display,
43917ca54c3Smrg    XPContext     	print_context
44017ca54c3Smrg);
44117ca54c3Smrg
44217ca54c3Smrgextern char *XpGetAttributes (
44317ca54c3Smrg    Display		*display,
44417ca54c3Smrg    XPContext     	print_context,
44517ca54c3Smrg    XPAttributes	type
44617ca54c3Smrg);
44717ca54c3Smrg
44817ca54c3Smrgextern void XpSetAttributes (
44917ca54c3Smrg    Display		*display,
45017ca54c3Smrg    XPContext     	print_context,
45117ca54c3Smrg    XPAttributes	type,
45217ca54c3Smrg    char		*pool,
45317ca54c3Smrg    XPAttrReplacement	replacement_rule
45417ca54c3Smrg);
45517ca54c3Smrg
45617ca54c3Smrgextern char *XpGetOneAttribute (
45717ca54c3Smrg    Display		*display,
45817ca54c3Smrg    XPContext     	print_context,
45917ca54c3Smrg    XPAttributes	type,
46017ca54c3Smrg    char		*attribute_name
46117ca54c3Smrg);
46217ca54c3Smrg
46317ca54c3Smrgextern XPPrinterList XpGetPrinterList (
46417ca54c3Smrg    Display		*display,
46517ca54c3Smrg    char		*printer_name,
46617ca54c3Smrg    int			*list_count		/* return value */
46717ca54c3Smrg);
46817ca54c3Smrg
46917ca54c3Smrgextern void XpFreePrinterList (
47017ca54c3Smrg    XPPrinterList	printer_list
47117ca54c3Smrg);
47217ca54c3Smrg
47317ca54c3Smrgextern void XpRehashPrinterList (
47417ca54c3Smrg    Display		*display
47517ca54c3Smrg);
47617ca54c3Smrg
47717ca54c3Smrgextern Status XpQueryVersion (
47817ca54c3Smrg    Display		*display,
47917ca54c3Smrg    short		*major_version,		/* return value */
48017ca54c3Smrg    short		*minor_version		/* return value */
48117ca54c3Smrg);
48217ca54c3Smrg
48317ca54c3Smrgextern Bool XpQueryExtension (
48417ca54c3Smrg    Display		*display,
48517ca54c3Smrg    int			*event_base_return,	/* return value */
48617ca54c3Smrg    int			*error_base_return	/* return value */
48717ca54c3Smrg);
48817ca54c3Smrg
48917ca54c3Smrgextern Screen **XpQueryScreens (
49017ca54c3Smrg    Display		*display,
49117ca54c3Smrg    int			*list_count		/* return value */
49217ca54c3Smrg);
49317ca54c3Smrg
49417ca54c3Smrgextern Status XpGetPdmStartParams (
49517ca54c3Smrg    Display		*print_display,
49617ca54c3Smrg    Window		print_window,
49717ca54c3Smrg    XPContext		print_context,
49817ca54c3Smrg    Display		*video_display,
49917ca54c3Smrg    Window		video_window,
50017ca54c3Smrg    Display		**selection_display,	/* return value */
50117ca54c3Smrg    Atom		*selection,		/* return value */
50217ca54c3Smrg    Atom		*type,			/* return value */
50317ca54c3Smrg    int			*format,		/* return value */
50417ca54c3Smrg    unsigned char	**data,			/* return value */
50517ca54c3Smrg    int			*nelements		/* return value */
50617ca54c3Smrg);
50717ca54c3Smrg
50817ca54c3Smrgextern Status XpGetAuthParams (
50917ca54c3Smrg    Display		*print_display,
51017ca54c3Smrg    Display		*video_display,
51117ca54c3Smrg    Display		**selection_display,	/* return value */
51217ca54c3Smrg    Atom		*selection,		/* return value */
51317ca54c3Smrg    Atom		*target			/* return value */
51417ca54c3Smrg);
51517ca54c3Smrg
51617ca54c3Smrgextern Status XpSendAuth (
51717ca54c3Smrg    Display		*display,
51817ca54c3Smrg    Window		window
51917ca54c3Smrg);
52017ca54c3Smrg
52117ca54c3Smrgextern Status XpSendOneTicket (
52217ca54c3Smrg    Display		*display,
52317ca54c3Smrg    Window		window,
52417ca54c3Smrg    Xauth		*ticket,
52517ca54c3Smrg    Bool		more
52617ca54c3Smrg);
52717ca54c3Smrg
52817ca54c3Smrgextern void XpSetLocaleHinter (
52917ca54c3Smrg    XPHinterProc hinter_proc,
53017ca54c3Smrg    char         *hinter_desc
53117ca54c3Smrg);
53217ca54c3Smrg
53317ca54c3Smrgextern char *XpGetLocaleHinter (
53417ca54c3Smrg    XPHinterProc *hinter_proc
53517ca54c3Smrg);
53617ca54c3Smrg
53717ca54c3Smrgextern char *XpGetLocaleNetString(void);
53817ca54c3Smrg
53917ca54c3Smrgextern char *XpNotifyPdm (
54017ca54c3Smrg    Display		*print_display,
54117ca54c3Smrg    Window		print_window,
54217ca54c3Smrg    XPContext     	print_context,
54317ca54c3Smrg    Display		*video_display,
54417ca54c3Smrg    Window		video_window,
54517ca54c3Smrg    Bool		auth_flag
54617ca54c3Smrg);
54717ca54c3Smrg
54817ca54c3Smrg#endif /* _XP_PRINT_SERVER_ */
54917ca54c3Smrg
55017ca54c3Smrg_XFUNCPROTOEND
55117ca54c3Smrg
55217ca54c3Smrg#endif /* _XpPrint_H_ */
553