Printstr.h revision a2760a4d593af57a19ec32cdfd1723b68495df8c
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen/* $Xorg: Printstr.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen/******************************************************************************
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ******************************************************************************
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** Description: Definitions needed by the server and library, but
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** not clients.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** Print.h for server, library and clients.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ******************************************************************************
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 Hewlett-Packard Company
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 International Business Machines Corp.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 Sun Microsystems, Inc.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 Novell, Inc.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 Digital Equipment Corp.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 Fujitsu Limited
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** (c) Copyright 1996 Hitachi, Ltd.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** Permission is hereby granted, free of charge, to any person obtaining a copy
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** of this software and associated documentation files (the "Software"), to deal
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** in the Software without restriction, including without limitation the rights
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** copies of the Software, and to permit persons to whom the Software is
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** furnished to do so, subject to the following conditions:
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** The above copyright notice and this permission notice shall be included in
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** all copies or substantial portions of the Software.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** Except as contained in this notice, the names of the copyright holders shall
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** not be used in advertising or otherwise to promote the sale, use or other
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** dealings in this Software without prior written authorization from said
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ** copyright holders.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen ******************************************************************************
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen *****************************************************************************/
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen/* $XFree86: xc/include/extensions/Printstr.h,v 1.5 2001/08/01 00:44:35 tsi Exp $ */
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen * NEED_EVENTS and NEED_REPLIES are hacks to limit the linker symbol-table
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen * size. When function prototypes are needed from Print.h, this sets up
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen * a cascading dependency on Printstr.h and eventually Xproto.h to provide
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen * the event and reply struct definitions.
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen#endif /* NEED_EVENTS */
c609cb9898dc8dec5dcb0b1d111b3f6b6a5e09d4Tom Gundersen#endif /* _XP_PRINT_SERVER_ */
* Pull in other definitions. Print.h will hide some things if we're
#define X_PrintQueryVersion 0
* See Print.h for the protocol "type" values.
typedef struct _xPrintPrintEvent {
typedef struct _xPrintAttributeEvent {
typedef struct _PrintQueryVersion {
typedef struct _PrintGetPrinterList {
typedef struct _PrintRehashPrinterList {
typedef struct _PrintCreateContext {
typedef struct _PrintSetContext {
typedef struct _PrintGetContext {
typedef struct _PrintDestroyContext {
typedef struct _PrintGetContextScreen {
typedef struct _PrintStartJob {
typedef struct _PrintEndJob {
typedef struct _PrintStartDoc {
typedef struct _PrintEndDoc {
typedef struct _PrintPutDocumentData {
typedef struct _PrintGetDocumentData {
typedef struct _PrintStartPage {
typedef struct _PrintEndPage {
typedef struct _PrintSelectInput {
typedef struct _PrintInputSelected {
typedef struct _PrintGetAttributes {
typedef struct _PrintSetAttributes {
typedef struct _PrintGetOneAttribute {
typedef struct _PrintGetPageDimensions {
typedef struct _PrintQueryScreens {
typedef struct _PrintSetImageResolution {
typedef struct _PrintGetImageResolution {
#ifndef _XP_PRINT_SERVER_
extern char *_xp_hinter_desc;
extern int _xp_hinter_init;
struct _XpContext;
extern void XpRegisterPrinterScreen(
typedef struct _xpprintFuncs {
int (*StartJob)(
int (*StartDoc)(
int (*StartPage)(
int (*EndPage)(
int (*PutDocumentData)(
int (*GetDocumentData)(
int (*DestroyContext)(
char *(*GetAttributes)(
struct _XpContext *,
char *(*GetOneAttribute)(
int (*SetAttributes)(
int (*AugmentAttributes)(
int (*GetMediumDimensions)(
int (*GetReproducibleArea)(
int (*SetImageResolution)(
typedef struct _XpContext {
char *printerName;
int imageRes;
extern int XpAllocateContextPrivateIndex(void);
extern int XpRehashPrinterList(void);