summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/Printing.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/quicktime_win32/Printing.h')
-rw-r--r--common/quicktime_win32/Printing.h866
1 files changed, 866 insertions, 0 deletions
diff --git a/common/quicktime_win32/Printing.h b/common/quicktime_win32/Printing.h
new file mode 100644
index 0000000..e2fa7dc
--- /dev/null
+++ b/common/quicktime_win32/Printing.h
@@ -0,0 +1,866 @@
+/*
+ File: Printing.h
+
+ Contains: Print Manager Interfaces.
+
+ Version: Technology: System 7.5
+ Release: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1985-1999 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 __PRINTING__
+#define __PRINTING__
+
+#ifndef __MACERRORS__
+#include <MacErrors.h>
+#endif
+
+#ifndef __QUICKDRAW__
+#include <Quickdraw.h>
+#endif
+
+#ifndef __DIALOGS__
+#include <Dialogs.h>
+#endif
+
+
+
+
+#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
+
+enum {
+ kFirstPageMin = 1, /* min value for first page */
+ kLastPageMax = 32767 /* max value for last page */
+};
+
+enum {
+ iPFMaxPgs = 128,
+ iPrPgFract = 120, /*Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract*/
+ iPrPgFst = 1, /*Page range constants*/
+ iPrPgMax = 9999,
+ iPrRelease = 3, /*Current version number of the code.*/
+ iPrSavPFil = -1,
+ iPrAbort = 0x0080,
+ iPrDevCtl = 7, /*The PrDevCtl Proc's ctl number*/
+ lPrReset = 0x00010000, /*The PrDevCtl Proc's CParam for reset*/
+ lPrLineFeed = 0x00030000,
+ lPrLFStd = 0x0003FFFF, /*The PrDevCtl Proc's CParam for std paper advance*/
+ lPrLFSixth = 0x0003FFFF,
+ lPrPageEnd = 0x00020000, /*The PrDevCtl Proc's CParam for end page*/
+ lPrDocOpen = 0x00010000,
+ lPrPageOpen = 0x00040000,
+ lPrPageClose = 0x00020000,
+ lPrDocClose = 0x00050000,
+ iFMgrCtl = 8, /*The FMgr's Tail-hook Proc's ctl number*/
+ iMscCtl = 9, /*The FMgr's Tail-hook Proc's ctl number*/
+ iPvtCtl = 10 /*The FMgr's Tail-hook Proc's ctl number*/
+};
+
+#define sPrDrvr ".Print"
+/* Error Codes moved to Errors.(hap) */
+enum {
+ pPrGlobals = 0x00000944, /*The PrVars lo mem area:*/
+ bDraftLoop = 0,
+ bSpoolLoop = 1,
+ bUser1Loop = 2,
+ bUser2Loop = 3,
+ fNewRunBit = 2,
+ fHiResOK = 3,
+ fWeOpenedRF = 4, /*Driver constants */
+ iPrBitsCtl = 4,
+ lScreenBits = 0,
+ lPaintBits = 1,
+ lHiScreenBits = 0x00000002, /*The Bitmap Print Proc's Screen Bitmap param*/
+ lHiPaintBits = 0x00000003, /*The Bitmap Print Proc's Paint [sq pix] param*/
+ iPrIOCtl = 5,
+ iPrEvtCtl = 6, /*The PrEvent Proc's ctl number*/
+ lPrEvtAll = 0x0002FFFD, /*The PrEvent Proc's CParam for the entire screen*/
+ lPrEvtTop = 0x0001FFFD, /*The PrEvent Proc's CParam for the top folder*/
+ iPrDrvrRef = -3
+};
+
+enum {
+ getRslDataOp = 4,
+ setRslOp = 5,
+ draftBitsOp = 6,
+ noDraftBitsOp = 7,
+ getRotnOp = 8,
+ NoSuchRsl = 1,
+ OpNotImpl = 2, /*the driver doesn't support this opcode*/
+ RgType1 = 1
+};
+
+enum {
+ feedCut = 0,
+ feedFanfold = 1,
+ feedMechCut = 2,
+ feedOther = 3
+};
+
+typedef SInt8 TFeed;
+enum {
+ scanTB = 0,
+ scanBT = 1,
+ scanLR = 2,
+ scanRL = 3
+};
+
+typedef SInt8 TScan;
+/* A Rect Ptr */
+typedef Rect * TPRect;
+typedef CALLBACK_API( void , PrIdleProcPtr )(void);
+typedef CALLBACK_API( void , PItemProcPtr )(DialogPtr theDialog, short item);
+typedef STACK_UPP_TYPE(PrIdleProcPtr) PrIdleUPP;
+typedef STACK_UPP_TYPE(PItemProcPtr) PItemUPP;
+#if CALL_NOT_IN_CARBON
+/*
+ * NewPrIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PrIdleUPP )
+NewPrIdleUPP(PrIdleProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppPrIdleProcInfo = 0x00000000 }; /* pascal no_return_value Func() */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PrIdleUPP) NewPrIdleUPP(PrIdleProcPtr userRoutine) { return (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPrIdleUPP(userRoutine) (PrIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPrIdleProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * NewPItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PItemUPP )
+NewPItemUPP(PItemProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppPItemProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PItemUPP) NewPItemUPP(PItemProcPtr userRoutine) { return (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPItemUPP(userRoutine) (PItemUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPItemProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposePrIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePrIdleUPP(PrIdleUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePrIdleUPP(PrIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePrIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * DisposePItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePItemUPP(PItemUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePItemUPP(PItemUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePItemUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokePrIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokePrIdleUPP(PrIdleUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePrIdleUPP(PrIdleUPP userUPP) { CALL_ZERO_PARAMETER_UPP(userUPP, uppPrIdleProcInfo); }
+ #else
+ #define InvokePrIdleUPP(userUPP) CALL_ZERO_PARAMETER_UPP((userUPP), uppPrIdleProcInfo)
+ #endif
+#endif
+
+/*
+ * InvokePItemUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+InvokePItemUPP(
+ DialogPtr theDialog,
+ short item,
+ PItemUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokePItemUPP(DialogPtr theDialog, short item, PItemUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppPItemProcInfo, theDialog, item); }
+ #else
+ #define InvokePItemUPP(theDialog, item, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppPItemProcInfo, (theDialog), (item))
+ #endif
+#endif
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
+ /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
+ #define NewPrIdleProc(userRoutine) NewPrIdleUPP(userRoutine)
+ #define NewPItemProc(userRoutine) NewPItemUPP(userRoutine)
+ #define CallPrIdleProc(userRoutine) InvokePrIdleUPP(userRoutine)
+ #define CallPItemProc(userRoutine, theDialog, item) InvokePItemUPP(theDialog, item, userRoutine)
+#endif /* CALL_NOT_IN_CARBON */
+
+#if !OPAQUE_TOOLBOX_STRUCTS
+struct TPrPort {
+ GrafPort gPort; /*The Printer's graf port.*/
+ QDProcs gProcs; /*..and its procs*/
+ long lGParam1; /*16 bytes for private parameter storage.*/
+ long lGParam2;
+ long lGParam3;
+ long lGParam4;
+ Boolean fOurPtr; /*Whether the PrPort allocation was done by us.*/
+ Boolean fOurBits; /*Whether the BitMap allocation was done by us.*/
+};
+typedef struct TPrPort TPrPort;
+typedef TPrPort * TPPrPort;
+#else
+typedef struct OpaqueTPPrPort* TPPrPort;
+#endif /* !OPAQUE_TOOLBOX_STRUCTS */
+
+typedef TPPrPort TPPrPortRef;
+/* Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
+ This is the "PrPeek" record. */
+struct TPrInfo {
+ short iDev; /*Font mgr/QuickDraw device code*/
+ short iVRes; /*Resolution of device, in device coordinates*/
+ short iHRes; /*..note: V before H => compatable with Point.*/
+ Rect rPage; /*The page (printable) rectangle in device coordinates.*/
+};
+typedef struct TPrInfo TPrInfo;
+typedef TPrInfo * TPPrInfo;
+/* Print Info Record: The parameters needed for page composition. */
+struct TPrStl {
+ short wDev;
+ short iPageV;
+ short iPageH;
+ SInt8 bPort;
+ TFeed feed;
+};
+typedef struct TPrStl TPrStl;
+typedef TPrStl * TPPrStl;
+struct TPrXInfo {
+ short iRowBytes;
+ short iBandV;
+ short iBandH;
+ short iDevBytes;
+ short iBands;
+ SInt8 bPatScale;
+ SInt8 bUlThick;
+ SInt8 bUlOffset;
+ SInt8 bUlShadow;
+ TScan scan;
+ SInt8 bXInfoX;
+};
+typedef struct TPrXInfo TPrXInfo;
+typedef TPrXInfo * TPPrXInfo;
+struct TPrJob {
+ short iFstPage; /*Page Range.*/
+ short iLstPage;
+ short iCopies; /*No. copies.*/
+ SInt8 bJDocLoop; /*The Doc style: Draft, Spool, .., and ..*/
+ Boolean fFromUsr; /*Printing from an User's App (not PrApp) flag*/
+ PrIdleUPP pIdleProc; /*The Proc called while waiting on IO etc.*/
+ StringPtr pFileName; /*Spool File Name: NIL for default.*/
+ short iFileVol; /*Spool File vol, set to 0 initially*/
+ SInt8 bFileVers; /*Spool File version, set to 0 initially*/
+ SInt8 bJobX; /*An eXtra byte.*/
+};
+typedef struct TPrJob TPrJob;
+typedef TPrJob * TPPrJob;
+/* Print Job: Print "form" for a single print request. */
+struct TPrint {
+ short iPrVersion; /*(2) Printing software version*/
+ TPrInfo prInfo; /*(14) the PrInfo data associated with the current style.*/
+ Rect rPaper; /*(8) The paper rectangle [offset from rPage]*/
+ TPrStl prStl; /*(8) This print request's style.*/
+ TPrInfo prInfoPT; /*(14) Print Time Imaging metrics*/
+ TPrXInfo prXInfo; /*(16) Print-time (expanded) Print info record.*/
+ TPrJob prJob; /*(20) The Print Job request (82) Total of the above; 120-82 = 38 bytes needed to fill 120*/
+ short printX[19]; /*Spare to fill to 120 bytes!*/
+};
+typedef struct TPrint TPrint;
+typedef TPrint * TPPrint;
+typedef TPPrint * THPrint;
+struct TPrStatus {
+ short iTotPages; /*Total pages in Print File.*/
+ short iCurPage; /*Current page number*/
+ short iTotCopies; /*Total copies requested*/
+ short iCurCopy; /*Current copy number*/
+ short iTotBands; /*Total bands per page.*/
+ short iCurBand; /*Current band number*/
+ Boolean fPgDirty; /*True if current page has been written to.*/
+ Boolean fImaging; /*Set while in band's DrawPic call.*/
+ THPrint hPrint; /*Handle to the active Printer record*/
+ TPPrPort pPrPort; /*Ptr to the active PrPort*/
+ PicHandle hPic; /*Handle to the active Picture*/
+};
+typedef struct TPrStatus TPrStatus;
+typedef TPrStatus * TPPrStatus;
+typedef TPPrStatus TPPrStatusRef;
+
+/* Print Status: Print information during printing. */
+struct TPfPgDir {
+ short iPages;
+ long iPgPos[129]; /*ARRAY [0..iPfMaxPgs] OF LONGINT*/
+};
+typedef struct TPfPgDir TPfPgDir;
+typedef TPfPgDir * TPPfPgDir;
+typedef TPPfPgDir * THPfPgDir;
+/* PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) */
+/* This is the Printing Dialog Record. Only used by folks appending their own
+ DITLs to the print dialogs. Print Dialog: The Dialog Stream object. */
+#if !OPAQUE_TOOLBOX_STRUCTS
+struct TPrDlg {
+ DialogRecord Dlg; /*The Dialog window*/
+ ModalFilterUPP pFltrProc; /*The Filter Proc.*/
+ PItemUPP pItemProc; /*The Item evaluating proc.*/
+ THPrint hPrintUsr; /*The user's print record.*/
+ Boolean fDoIt;
+ Boolean fDone;
+ long lUser1; /*Four longs for apps to hang global data.*/
+ long lUser2; /*Plus more stuff needed by the particular*/
+ long lUser3; /*printing dialog.*/
+ long lUser4;
+};
+typedef struct TPrDlg TPrDlg;
+typedef TPrDlg * TPPrDlg;
+#else
+typedef struct OpaqueTPPrDlg* TPPrDlg;
+#endif /* !OPAQUE_TOOLBOX_STRUCTS */
+
+typedef TPPrDlg TPPrDlgRef;
+typedef CALLBACK_API( TPPrDlgRef , PDlgInitProcPtr )(THPrint hPrint);
+typedef STACK_UPP_TYPE(PDlgInitProcPtr) PDlgInitUPP;
+#if CALL_NOT_IN_CARBON
+/*
+ * NewPDlgInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( PDlgInitUPP )
+NewPDlgInitUPP(PDlgInitProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppPDlgInitProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(PDlgInitUPP) NewPDlgInitUPP(PDlgInitProcPtr userRoutine) { return (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewPDlgInitUPP(userRoutine) (PDlgInitUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPDlgInitProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposePDlgInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( void )
+DisposePDlgInitUPP(PDlgInitUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposePDlgInitUPP(PDlgInitUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposePDlgInitUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokePDlgInitUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API_C( TPPrDlgRef )
+InvokePDlgInitUPP(
+ THPrint hPrint,
+ PDlgInitUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(TPPrDlgRef) InvokePDlgInitUPP(THPrint hPrint, PDlgInitUPP userUPP) { return (TPPrDlgRef)CALL_ONE_PARAMETER_UPP(userUPP, uppPDlgInitProcInfo, hPrint); }
+ #else
+ #define InvokePDlgInitUPP(hPrint, userUPP) (TPPrDlgRef)CALL_ONE_PARAMETER_UPP((userUPP), uppPDlgInitProcInfo, (hPrint))
+ #endif
+#endif
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
+ /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
+ #define NewPDlgInitProc(userRoutine) NewPDlgInitUPP(userRoutine)
+ #define CallPDlgInitProc(userRoutine, hPrint) InvokePDlgInitUPP(hPrint, userRoutine)
+#endif /* CALL_NOT_IN_CARBON */
+
+struct TGnlData {
+ short iOpCode;
+ short iError;
+ long lReserved; /*more fields here depending on call*/
+};
+typedef struct TGnlData TGnlData;
+struct TRslRg {
+ short iMin;
+ short iMax;
+};
+typedef struct TRslRg TRslRg;
+struct TRslRec {
+ short iXRsl;
+ short iYRsl;
+};
+typedef struct TRslRec TRslRec;
+struct TGetRslBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ short iRgType;
+ TRslRg xRslRg;
+ TRslRg yRslRg;
+ short iRslRecCnt;
+ TRslRec rgRslRec[27];
+};
+typedef struct TGetRslBlk TGetRslBlk;
+struct TSetRslBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ THPrint hPrint;
+ short iXRsl;
+ short iYRsl;
+};
+typedef struct TSetRslBlk TSetRslBlk;
+struct TDftBitsBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ THPrint hPrint;
+};
+typedef struct TDftBitsBlk TDftBitsBlk;
+struct TGetRotnBlk {
+ short iOpCode;
+ short iError;
+ long lReserved;
+ THPrint hPrint;
+ Boolean fLandscape;
+ SInt8 bXtra;
+};
+typedef struct TGetRotnBlk TGetRotnBlk;
+#if CALL_NOT_IN_CARBON
+/*
+ * PrPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrPurge(void) FOURWORDINLINE(0x2F3C, 0xA800, 0x0000, 0xA8FD);
+
+
+/*
+ * PrNoPurge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrNoPurge(void) FOURWORDINLINE(0x2F3C, 0xB000, 0x0000, 0xA8FD);
+
+
+/*
+ * PrOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrOpen(void) FOURWORDINLINE(0x2F3C, 0xC800, 0x0000, 0xA8FD);
+
+
+/*
+ * PrClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrClose(void) FOURWORDINLINE(0x2F3C, 0xD000, 0x0000, 0xA8FD);
+
+
+/*
+ * PrintDefault()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrintDefault(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2004, 0x0480, 0xA8FD);
+
+
+/*
+ * PrValidate()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrValidate(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x5204, 0x0498, 0xA8FD);
+
+
+/*
+ * PrStlDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrStlDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x2A04, 0x0484, 0xA8FD);
+
+
+/*
+ * PrJobDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrJobDialog(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3204, 0x0488, 0xA8FD);
+
+
+/*
+ * PrStlInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( TPPrDlgRef )
+PrStlInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x3C04, 0x040C, 0xA8FD);
+
+
+/*
+ * PrJobInit()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( TPPrDlgRef )
+PrJobInit(THPrint hPrint) FOURWORDINLINE(0x2F3C, 0x4404, 0x0410, 0xA8FD);
+
+
+/*
+ * PrJobMerge()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrJobMerge(
+ THPrint hPrintSrc,
+ THPrint hPrintDst) FOURWORDINLINE(0x2F3C, 0x5804, 0x089C, 0xA8FD);
+
+
+/*
+ * PrDlgMain()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+PrDlgMain(
+ THPrint hPrint,
+ PDlgInitUPP pDlgInit) FOURWORDINLINE(0x2F3C, 0x4A04, 0x0894, 0xA8FD);
+
+
+/*
+ * PrOpenDoc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( TPPrPort )
+PrOpenDoc(
+ THPrint hPrint,
+ TPPrPort pPrPort, /* can be NULL */
+ Ptr pIOBuf) FOURWORDINLINE(0x2F3C, 0x0400, 0x0C00, 0xA8FD);
+
+
+/*
+ * PrCloseDoc()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrCloseDoc(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x0800, 0x0484, 0xA8FD);
+
+
+/*
+ * PrOpenPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrOpenPage(
+ TPPrPort pPrPort,
+ TPRect pPageFrame) FOURWORDINLINE(0x2F3C, 0x1000, 0x0808, 0xA8FD);
+
+
+/*
+ * PrClosePage()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrClosePage(TPPrPort pPrPort) FOURWORDINLINE(0x2F3C, 0x1800, 0x040C, 0xA8FD);
+
+
+/*
+ * PrPicFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrPicFile(
+ THPrint hPrint,
+ TPPrPort pPrPort,
+ Ptr pIOBuf,
+ Ptr pDevBuf,
+ TPPrStatus prStatus) FOURWORDINLINE(0x2F3C, 0x6005, 0x1480, 0xA8FD);
+
+
+/*
+ * PrError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+PrError(void) FOURWORDINLINE(0x2F3C, 0xBA00, 0x0000, 0xA8FD);
+
+
+/*
+ * PrSetError()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrSetError(short iErr) FOURWORDINLINE(0x2F3C, 0xC000, 0x0200, 0xA8FD);
+
+
+/*
+ * PrGeneral()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrGeneral(Ptr pData) FOURWORDINLINE(0x2F3C, 0x7007, 0x0480, 0xA8FD);
+
+
+/*
+ * PrDrvrOpen()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrDrvrOpen(void) FOURWORDINLINE(0x2F3C, 0x8000, 0x0000, 0xA8FD);
+
+
+/*
+ * PrDrvrClose()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrDrvrClose(void) FOURWORDINLINE(0x2F3C, 0x8800, 0x0000, 0xA8FD);
+
+
+/*
+ * PrCtlCall()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+PrCtlCall(
+ short iWhichCtl,
+ long lParam1,
+ long lParam2,
+ long lParam3) FOURWORDINLINE(0x2F3C, 0xA000, 0x0E00, 0xA8FD);
+
+
+/*
+ * PrDrvrDCE()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Handle )
+PrDrvrDCE(void) FOURWORDINLINE(0x2F3C, 0x9400, 0x0000, 0xA8FD);
+
+
+/*
+ * PrDrvrVers()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+PrDrvrVers(void) FOURWORDINLINE(0x2F3C, 0x9A00, 0x0000, 0xA8FD);
+
+
+/*
+ * PrLoadDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( short )
+PrLoadDriver(void) FOURWORDINLINE(0x2F3C, 0xD800, 0x0000, 0xA8FD);
+
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+
+#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 /* __PRINTING__ */
+