ExtendPrintRecord.h

/*
**  File:       ExtendPrintRecord.h
**
**  Definitions from Technote 1161
**
** Copyright 1996-1999 Apple Computer. All rights reserved.
**
**  You may incorporate this sample code into your applications without
**  restriction, though the sample code has been provided "AS IS" and the
**  responsibility for its operation is 100% yours.  However, what you are
**  not permitted to do is to redistribute the source as "DSC Sample Code"
**  after having made changes. If you're going to re-distribute the source,
**  we require that you make it clear in the source that the code was
**  descended from Apple Sample Code, but that you've made changes.
*/
 
#ifndef __EXTENDPRINTRECORD__
#define __EXTENDPRINTRECORD__
 
#ifndef __PRINTING__
#include <Printing.h>
#endif
 
#if PRAGMA_ONCE
#pragma once
#endif
 
#ifdef __cplusplus
extern "C" {
#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
 
#define kExtendPrintRecordOp 18
 
/* 
Use this structure when making the 'kExtendPrintRecOp' PrGeneral call.
On entry, 'hPrint' is the handle for a standard or extended print
record. If 'hPrint' is an extended print record, then nothing is
done. If 'hPrint' is a standard print record, then it is extended.
*/
 
typedef struct{
    short   iOpCode;
    short   iError;
    long    lReserved;
    THPrint hPrint;
}TExtendPrintRecord;
 
Boolean extendPrValidate(THPrint hPrint);
void extendPrDefault(THPrint hPrint);
void extendPrintRecord(THPrint hPrint);
 
#if PRAGMA_STRUCT_ALIGN
    #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
    #pragma pack()
#endif
 
#ifdef __cplusplus
}
#endif
 
#endif /* __EXTENDPRINTRECORD__ */