Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

944 lines
24 KiB

/*
File: PMTemplate.h
Contains: Mac OS X Printing Manager Job Template Interfaces.
Version: QuickTime 7.3
Copyright: (c) 2007 (c) 1999-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __PMTEMPLATE__
#define __PMTEMPLATE__
#ifndef __CORESERVICES__
#include <CoreServices.h>
#endif
#ifndef __PMTICKET__
#include <PMTicket.h>
#endif
/* An enum to distinguish between different kinds of template entries. Each entry in a template */
/* has a specific type that allows us to determine what other fields and functions are available. */
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
typedef SInt32 PMValueType;
enum {
kPMValueUndefined = 0, /* Template Entry is unknown or undefined */
kPMValueBoolean = 1, /* A CFBoolean of value true or false. */
kPMValueData = 2, /* A CFData, raw data converted to CFData. Has a default value, but no other constraints */
kPMValueString = 3, /* A CFString. Has a default value, but no other constraints */
kPMValueSInt32 = 4, /* A CFNumber of long type. */
kPMValueSInt32Range = 5, /* A pair of CFNumbers, SInt32s, defining a range. */
kPMValueUInt32 = 6, /* A CFNumber of unsigned long type (which isn't actually defined) */
kPMValueUInt32Range = 7, /* A pair of CFNumber, UInt32s, defining a range. */
kPMValueDouble = 8, /* A CFNumber of double type. */
kPMValueDoubleRange = 9, /* A pair of CFNumbers, doubles, defining a range of values. */
kPMValuePMRect = 10, /* A CFArray of 4 CFNumbers, all doubles. */
kPMValueDate = 11, /* A CFDate, holding date and time. */
kPMValueArray = 12, /* A CFArray, holding an array of values. No way to constrain these. */
kPMValueDict = 13, /* A CFDictionary, which has a default, but no constraints. */
kPMValueTicket = 14 /* A PMTicket will require each key/value be identical - only works for list constraints. */
};
typedef SInt32 PMConstraintType;
enum {
kPMConstraintUndefined = 0, /* Undefined, no constraint checking required. */
kPMConstraintRange = 1, /* Range has a CFArray of two values, both CFTypeRefs */
kPMConstraintList = 2, /* List has an array CFTypeRefs, listing possible values. DefaultValues are CFNumberRef (zero-based index into the list) */
kPMConstraintPrivate = 3 /* Private constraint, not checked by the system. */
};
/* A couple of keys are defined as special cases for the template code, only because it's */
/* a flat structure and the Job ticket is possibly a hierarchy of tickets. We need to be */
/* able to fetch the PaperInfo template information, but the Job Ticket has a separate */
/* ticket, so there is no key defined for fetching PaperInfo ticket from the Job Ticket. */
/* Will fetch the default value and constraint list for valid papers. */
#define kPMTemplatePrelude "com.apple.print.TemplateSpecific"
#define kPMPaperInfoListStr "com.apple.print.TemplateSpecific.PMTemplatePaperInfoTicket"
#define kPMPaperInfoList CFSTR("com.apple.print.TemplateSpecific.PMTemplatePaperInfoTicket")
/* The PMTemplateRef is defined in PMTicket.h to avoid circular references */
/* Functions to create or delete a template */
/*
* PMTemplateCreate()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateCreate(PMTemplateRef * newTemplate);
/*
* PMTemplateDelete()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateDelete(PMTemplateRef * oldTemplate);
/* Functions to send to and from XML. Also a function to tell us if the template is locked and */
/* can't be modified. */
/*
* PMTemplateCreateXML()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateCreateXML(
PMTemplateRef srcTemplate,
CFDataRef * xmlData);
/*
* PMTemplateLoadFromXML()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateLoadFromXML(
CFDataRef srcData,
PMTemplateRef * destTemplate);
/*
* PMTemplateIsLocked()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateIsLocked(
PMTemplateRef srcTemplate,
Boolean * locked);
/* Functions to add entries in a template. Each entry describes a value type and constraint */
/* type as well as default and constraint values for a specific key. This key must match the */
/* key we wish to validate in a PMTicket. */
/*
* PMTemplateMakeFullEntry()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateMakeFullEntry(
PMTemplateRef pmTemplate,
CFStringRef key,
PMValueType valueType,
PMConstraintType constraintType,
CFTypeRef defaultValue,
CFTypeRef constraintValue);
/* This function allows a caller to create the template entry in a series of calls, first to */
/* establish what type of entry it is and then later to set default and constraint values. This */
/* is especially useful for direct (non-cf) access to create template entries. There are various */
/* specialized functions for adding the default and cosntraint values with standard "C" types. */
/*
* PMTemplateMakeEntry()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateMakeEntry(
PMTemplateRef pmTemplate,
CFStringRef key,
PMValueType valueType,
PMConstraintType constraintType);
/* The following functions update an already created entry. */
/*
* PMTemplateSetCFDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetCFDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFTypeRef defaultValue);
/*
* PMTemplateSetSInt32DefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetSInt32DefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 defaultValue);
/*
* PMTemplateSetSInt32RangeDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetSInt32RangeDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 min,
SInt32 max);
/*
* PMTemplateSetBooleanDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetBooleanDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
Boolean defaultValue);
/*
* PMTemplateSetDoubleDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetDoubleDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
double defaultValue);
/*
* PMTemplateSetDoubleRangeDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetDoubleRangeDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
double min,
double max);
/*
* PMTemplateSetCFDataDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetCFDataDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFDataRef defaultValue);
/*
* PMTemplateSetPMRectDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetPMRectDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
PMRect * defaultValue);
/*
* PMTemplateSetPMTicketDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetPMTicketDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
PMTicketRef defaultValue);
/* Functions to allow various constraints to be set up. */
/*
* PMTemplateSetCFArrayConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetCFArrayConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFArrayRef constraintValue);
/*
* PMTemplateSetCFRangeConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetCFRangeConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
CFTypeRef min,
CFTypeRef max);
/*
* PMTemplateSetSInt32RangeConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetSInt32RangeConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 min,
SInt32 max);
/* Note - if the default value is a range, then the constraint should be a pair */
/* of ranges. */
/*
* PMTemplateSetSInt32RangesConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetSInt32RangesConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 minForMin,
SInt32 maxForMin,
SInt32 minForMax,
SInt32 maxForMax);
/*
* PMTemplateSetDoubleRangeConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetDoubleRangeConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
double min,
double max);
/*
* PMTemplateSetDoubleRangesConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetDoubleRangesConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
double minForMin,
double maxForMin,
double minForMax,
double maxForMax);
/* A List constraint could be a simple list of SInt32s. */
/*
* PMTemplateSetSInt32ListConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetSInt32ListConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
int listSize,
SInt32 * sint32List);
/* Or a list of doubles. */
/*
* PMTemplateSetDoubleListConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetDoubleListConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
int listSize,
double * doubleList);
/* A list of rectangles. */
/*
* PMTemplateSetPMRectListConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetPMRectListConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
int listSize,
PMRect * rectList);
/* Or a ticket list. */
/*
* PMTemplateSetPMTicketListConstraint()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateSetPMTicketListConstraint(
PMTemplateRef pmTemplate,
CFStringRef key,
PMTicketRef listTicket);
/* Boolean constraints don't need to be set - the constraint type is enough. */
/* Accessors for reaching specific template entry info based on the key passed in. */
/*
* PMTemplateGetValueType()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetValueType(
PMTemplateRef pmTemplate,
CFStringRef key,
PMValueType * valueType);
/*
* PMTemplateGetConstraintType()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetConstraintType(
PMTemplateRef pmTemplate,
CFStringRef key,
PMConstraintType * constraintType);
/* Fetch the various types of default values. */
/*
* PMTemplateGetCFDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetCFDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFTypeRef * defaultValue);
/*
* PMTemplateGetSInt32DefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetSInt32DefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 * defaultValue);
/*
* PMTemplateGetSInt32RangeDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetSInt32RangeDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 * min,
SInt32 * max);
/*
* PMTemplateGetBooleanDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetBooleanDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
Boolean * defaultValue);
/*
* PMTemplateGetDoubleDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetDoubleDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
double * defaultValue);
/*
* PMTemplateGetDoubleRangeDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetDoubleRangeDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
double * min,
double * max);
/*
* PMTemplateGetCFDataDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetCFDataDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFDataRef * defaultValue);
/*
* PMTemplateGetPMRectDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetPMRectDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
PMRect * defaultValue);
/*
* PMTemplateGetPMTicketDefaultValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetPMTicketDefaultValue(
PMTemplateRef pmTemplate,
CFStringRef key,
PMTicketRef * defaultValue);
/* Fetch the various flavors of constraint values. */
/*
* PMTemplateGetCFArrayConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetCFArrayConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFArrayRef * constraintValue);
/*
* PMTemplateGetCFRangeConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetCFRangeConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
CFTypeRef * min,
CFTypeRef * max);
/*
* PMTemplateGetSInt32RangeConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetSInt32RangeConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 * min,
SInt32 * max);
/*
* PMTemplateGetSInt32RangesConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetSInt32RangesConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
SInt32 * minForMin,
SInt32 * maxForMin,
SInt32 * minForMax,
SInt32 * maxForMax);
/*
* PMTemplateGetDoubleRangeConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetDoubleRangeConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
double * min,
double * max);
/*
* PMTemplateGetDoubleRangesConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetDoubleRangesConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
double * minForMin,
double * maxForMin,
double * minForMax,
double * maxForMax);
/* The following functions need to be called twice, first to determine the length of */
/* the list and a second time, after allocating space, to actually fetch the list.*/
/*
* PMTemplateGetSInt32ListConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetSInt32ListConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
int * listSize,
SInt32 * sint32List);
/*
* PMTemplateGetDoubleListConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetDoubleListConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
int * listSize,
double * doubleList);
/*
* PMTemplateGetPMRectListConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetPMRectListConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
int * listSize,
PMRect * rectList);
/* The Ticket APIs support a "List Ticket" that can hold numerous other tickets, so there is */
/* no need to allocate space for an array in this case. */
/* Always returns length and list at one time. */
/*
* PMTemplateGetListTicketConstraintValue()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateGetListTicketConstraintValue(
PMTemplateRef pmTemplate,
CFStringRef key,
PMTicketRef * listTicket);
/* Remove an entry from our template. */
/*
* PMTemplateRemoveEntry()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateRemoveEntry(
PMTemplateRef pmTemplate,
CFStringRef key);
/* Validate a ticket item - passing in the key and the item data. */
/*
* PMTemplateValidateItem()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateValidateItem(
PMTemplateRef pmTemplate,
CFStringRef key,
CFTypeRef item,
Boolean * validationResults);
/* Move a set of template entries from one template to another. Any entry in the destination */
/* template will be overwritten by an entry with the same key in the source template */
/*
* PMTemplateMergeTemplates()
*
* Availability:
* Non-Carbon CFM: not available
* CarbonLib: not available
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSStatus )
PMTemplateMergeTemplates(
PMTemplateRef sourceTemplate,
PMTemplateRef destTemplate);
/* NOTES:
A few comments about some special template entry types:
Rectangles - We assume a PMRect is four doubles. To verify a Rectangle, we allow the caller to
define a list of rectangles, of which one must match exactly, or, planned for the future, a
range constraint that defines the min and max for horizontal and vertical, as well as the
maximum width and height. For now, only a list of rectangles can be used to validate a rect.
Tickets - To facilitate validating a PaperInfo ticket, we provide a mechanism to construct a
list constraint for a ticket. A given ticket may then be validated by checking each key/value
pair to confirm that it holds exactly the same value as a ticket in the list. There won't be
any range checking for values within the ticket being validated, only a comparison with the
fixed values in the ticket list.
For other tickets, such as Print Settings, or Page Format, we call the validate functions to
confirm that each entry complies with the proper constraint in the template. This allows
for range constraints to be built for some entries, and list constraints for other entries.
*/
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __PMTEMPLATE__ */