#ifndef _Xp_AttrValid_h
#define _Xp_AttrValid_h
#include <X11/extensions/Printstr.h>
#include "Oid.h"
#define XpNumber(a) (sizeof(a) / sizeof(*(a)))
typedef struct
{
XpOidList* valid_content_orientations_supported;
XpOidList* default_content_orientations_supported;
XpOidDocFmtList* valid_document_formats_supported;
XpOidDocFmtList* default_document_formats_supported;
XpOidList* valid_input_trays;
XpOidList* valid_medium_sizes;
XpOidList* valid_plexes_supported;
XpOidList* default_plexes_supported;
XpOidCardList* valid_printer_resolutions_supported;
XpOidCardList* default_printer_resolutions_supported;
XpOidDocFmtList* valid_xp_embedded_formats_supported;
XpOidDocFmtList* default_xp_embedded_formats_supported;
XpOidList* valid_xp_listfonts_modes_supported;
XpOidList* default_xp_listfonts_modes_supported;
XpOidDocFmtList* valid_xp_raw_formats_supported;
XpOidDocFmtList* default_xp_raw_formats_supported;
XpOidList* valid_xp_setup_proviso;
XpOidDocFmt* default_document_format;
XpOidList* valid_available_compressions_supported;
XpOidList* default_available_compressions_supported;
} XpValidatePoolsRec;
#define XpGetStringAttr(pContext, pool, oid) \
(const char*)XpGetOneAttribute(pContext, pool, (char*)XpOidString(oid))
#define XpPutStringAttr(pContext, pool, oid, value) \
XpPutOneAttribute(pContext, pool, XpOidString(oid), value)
#ifdef _XP_PRINT_SERVER_
XpOid XpGetOidAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* valid_oid_list);
void XpPutOidAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
XpOid value_oid);
void XpValidateOidAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* valid_oids,
XpOid default_oid);
unsigned long XpGetCardAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidCardList* valid_card_list);
void XpPutCardAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
unsigned long value_card);
void XpValidateCardAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidCardList* valid_cards,
unsigned long default_card);
XpOidList* XpGetListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* valid_oid_list);
void XpPutListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* list);
void XpValidateListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* valid_oids,
const XpOidList* default_oids);
XpOidCardList* XpGetCardListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidCardList* valid_card_list);
void XpPutCardListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidCardList* list);
void XpValidateCardListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidCardList* valid_cards,
const XpOidCardList* default_cards);
XpOidDocFmtList* XpGetDocFmtListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidDocFmtList* valid_fmt_list);
void XpPutDocFmtListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidDocFmtList* list);
void XpValidateDocFmtListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidDocFmtList* valid_fmts,
const XpOidDocFmtList* default_fmts);
XpOidMediumSS* XpGetMediumSSAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* valid_trays,
const XpOidList* valid_sizes);
void XpPutMediumSSAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidMediumSS* msss);
const XpOidMediumSS* XpGetDefaultMediumSS(void);
XpOidTrayMediumList* XpGetTrayMediumListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidList* valid_trays,
const XpOidMediumSS* msss);
void XpPutTrayMediumListAttr(XpContextPtr pContext,
XPAttributes pool,
XpOid oid,
const XpOidTrayMediumList* tm);
BOOL XpOidTrayMediumListHasTray(const XpOidTrayMediumList* list, XpOid tray);
void XpValidateAttributePool(XpContextPtr pContext,
XPAttributes pool,
const XpValidatePoolsRec* vpr);
void XpValidateNotificationProfile(XpContextPtr pContext);
void XpValidatePrinterPool(XpContextPtr pContext,
const XpValidatePoolsRec* vpr);
void XpValidateJobPool(XpContextPtr pContext,
const XpValidatePoolsRec* vpr);
void XpValidateDocumentPool(XpContextPtr pContext,
const XpValidatePoolsRec* vpr);
void XpValidatePagePool(XpContextPtr pContext,
const XpValidatePoolsRec* vpr);
void XpValidatePrinterMediaAttrs(XpContextPtr pContext,
const XpOidList* valid_trays,
const XpOidList* valid_sizes);
#endif
#endif