b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $Xorg: attributes.h,v 1.4 2001/03/14 18:42:44 pookie Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Hewlett-Packard Company
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 International Business Machines Corp.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Sun Microsystems, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Novell, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Digital Equipment Corp.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Fujitsu Limited
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync(c) Copyright 1996 Hitachi, Ltd.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission is hereby granted, free of charge, to any person obtaining a copy
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncof this software and associated documentation files (the "Software"), to deal
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncin the Software without restriction, including without limitation the rights
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccopies of the Software, and to permit persons to whom the Software is
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfurnished to do so, subject to the following conditions:
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncThe above copyright notice and this permission notice shall be included in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncall copies or substantial portions of the Software.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncExcept as contained in this notice, the names of the copyright holders shall
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncnot be used in advertising or otherwise to promote the sale, use or other
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdealings in this Software without prior written authorization from said
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccopyright holders.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef HAVE_DIX_CONFIG_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <dix-config.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef _Xp_attributes_h
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define _Xp_attributes_h 1
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "scrnintstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "AttrValid.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define BFuncArgs int ndx, ScreenPtr pScreen, int argc, char **argv
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef Bool (*pBFunc)(BFuncArgs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define VFuncArgs char *name, XpValidatePoolsRec *pValRec, float *width, float *height, int *res
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*pVFunc)(VFuncArgs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * attributes.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpInitAttributes(XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpBuildAttributeStore(char *printerName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *qualifierName);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpAddPrinterAttribute(char *printerName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *printerQualifier,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *attributeName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *attributeValue);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpDestroyAttributes(XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncchar *XpGetConfigDir(Bool useLocale);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncchar *XpGetOneAttribute(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XPAttributes class,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *attributeName);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpPutOneAttribute(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XPAttributes class,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync const char* attributeName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync const char* value);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpRehashAttributes(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncchar *XpGetAttributes(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XPAttributes class);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpAugmentAttributes(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XPAttributes class,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *attributes);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpSetAttributes(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XPAttributes class,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *attributes);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncconst char *XpGetPrinterAttribute(const char *printerName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync const char *attribute);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpGetTrayMediumFromContext(XpContextPtr pCon,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char **medium,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char **tray);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpSubmitJob(char *fileName, XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * mediaSizes.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpGetResolution(XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncXpOid XpGetContentOrientation(XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncXpOid XpGetAvailableCompression(XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncXpOid XpGetPlex(XpContextPtr pContext);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncXpOid XpGetPageSize(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XpOid* pTray,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync const XpOidMediumSS* msss);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpGetMediumMillimeters(XpOid page_size,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync float *width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync float *height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpGetMediumDimensions(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short *width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short *height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpGetReproductionArea(XpContextPtr pContext,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle *pRect);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid XpGetMaxWidthHeightRes(const char *printer_name,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync const XpValidatePoolsRec* vpr,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync float *width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync float *height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int* resolution);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Util.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncchar *ReplaceAnyString(char *string,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *target,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *replacement);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncchar *ReplaceFileString(char *string,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *inFileName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *outFileName);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint TransferBytes(FILE *pSrcFile,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FILE *pDstFile,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int numBytes);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool CopyContentsAndDelete(FILE **ppSrcFile,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char **pSrcFileName,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FILE *pDstFile);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpSendDocumentData(ClientPtr client,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FILE *fp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int fileLen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int maxBufSize);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint XpFinishDocData(ClientPtr client);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool XpOpenTmpFile(char *mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char **fname,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FILE **stream);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _Xp_attributes_h */