summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/PMCore.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/PMCore.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/PMCore.h')
-rw-r--r--common/quicktime_win32/PMCore.h1755
1 files changed, 1755 insertions, 0 deletions
diff --git a/common/quicktime_win32/PMCore.h b/common/quicktime_win32/PMCore.h
new file mode 100644
index 0000000..8327b2d
--- /dev/null
+++ b/common/quicktime_win32/PMCore.h
@@ -0,0 +1,1755 @@
+/*
+ File: PMCore.h
+
+ Contains: Carbon Printing Manager Interfaces.
+
+ Version: QuickTime 7.3
+
+ Copyright: (c) 2007 (c) 1998-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 __PMCORE__
+#define __PMCORE__
+
+#ifndef __MACERRORS__
+#include <MacErrors.h>
+#endif
+
+#ifndef __FILES__
+#include <Files.h>
+#endif
+
+#ifndef __CFSTRING__
+#include <CFString.h>
+#endif
+
+#ifndef __CFURL__
+#include <CFURL.h>
+#endif
+
+#ifndef __QUICKDRAW__
+#include <Quickdraw.h>
+#endif
+
+#ifndef __CMAPPLICATION__
+#include <CMApplication.h>
+#endif
+
+#ifndef __PMDEFINITIONS__
+#include <PMDefinitions.h>
+#endif
+
+
+
+
+#if PRAGMA_ONCE
+#pragma once
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if PRAGMA_IMPORT
+#pragma import on
+#endif
+
+#ifndef PM_USE_SESSION_APIS
+#define PM_USE_SESSION_APIS 1
+#endif /* !defined(PM_USE_SESSION_APIS) */
+
+/* Callbacks */
+typedef CALLBACK_API( void , PMIdleProcPtr )(void);
+typedef STACK_UPP_TYPE(PMIdleProcPtr) PMIdleUPP;
+/*
+ * NewPMIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( PMIdleUPP )
+NewPMIdleUPP(PMIdleProcPtr userRoutine);
+
+/*
+ * DisposePMIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposePMIdleUPP(PMIdleUPP userUPP);
+
+/*
+ * InvokePMIdleUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokePMIdleUPP(PMIdleUPP userUPP);
+
+#if PM_USE_SESSION_APIS
+/*
+ * PMSessionCreatePrinterList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCreatePrinterList(
+ PMPrintSession printSession,
+ CFArrayRef * printerList,
+ CFIndex * currentIndex,
+ PMPrinter * currentPrinter);
+
+
+/*
+ * PMSessionSetCurrentPrinter()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.4 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionSetCurrentPrinter(
+ PMPrintSession session,
+ CFStringRef printerName);
+
+
+/*
+ * PMSessionSetDestination()
+ *
+ * Summary:
+ * Alter a print session and print settings so that an associated
+ * print job is sent to the provided destination type in the,
+ * optional, MIME document format.
+ *
+ * Discussion:
+ * This function is most useful when an application would like to
+ * write its print output to disk without requiring user
+ * interaction. The list of MIME types that can be sent to the
+ * provided destination can be obtained from
+ * PMSessionCopyOutputFormatList and one of these passed to this
+ * function.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * The session to be used for a print job. The session holds the
+ * preview setting which can override the destination type in the
+ * print settings.
+ *
+ * printSettings:
+ * The print settings to be used for a print job. The print
+ * settings specify whether a job will be directed toward a
+ * printer or to file. It also holds the requested MIME output
+ * type.
+ *
+ * destType:
+ * The destiation type for a print job associated with the
+ * provided print session and print settings. Fax is currently not
+ * supported, but kPMDestinationPrinter, kPMDestinationFile, and
+ * kPMDestinationPreview can be set.
+ *
+ * destFormat:
+ * The MIME type to be generated for the provided destination
+ * type. This parameter can be NULL in which the default format
+ * for the requested destination type is used. To obtain a list of
+ * valid formats for a given destiation type, use the function
+ * PMSessionCopyOutputFormatList.
+ *
+ * destLocation:
+ * Some destination types support a destination location. The
+ * clearest example is the kPMDestinationFile destination type
+ * which allows a caller to also supply a file URL specifying
+ * where the output file is to be created.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionSetDestination(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ PMDestinationType destType,
+ CFStringRef destFormat,
+ CFURLRef destLocation);
+
+
+/*
+ * PMSessionGetDestinationType()
+ *
+ * Summary:
+ * Hand back the destination type that will be used for a print job
+ * with the specified print settings and print session.
+ *
+ * Discussion:
+ * Currently there are four destination types:
+ * kPMDestinationPrinter, kPMDestinationFile, kPMDestinationFax and
+ * kPMDestinationPreview. The first three destination types are
+ * stored in the print settings. The switch for preview is stored in
+ * the print session and, if enabled, overrides the destination in
+ * the print setting. This function is preferred over
+ * PMGetDestination as the latter does not take a print session
+ * parameter and therefore can not indicate whether preview has been
+ * selected as the destination.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * The session to be used for a print job. The session holds the
+ * preview setting which can override the destination type in the
+ * print settings.
+ *
+ * printSettings:
+ * The print settings to be used for a print job. The print
+ * settings specify whether a job will be directed toward a
+ * printer or to file.
+ *
+ * destTypeP:
+ * A pointer to a caller supplied PMDestinationType variable. If
+ * this function succeeds then *'destTypeP' will be filled in with
+ * the destination type for a print job that used the specified
+ * session and print settings. If this function fails, then
+ * *'destType' will be set to kPMDestinationInvalid.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionGetDestinationType(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ PMDestinationType * destTypeP);
+
+
+/*
+ * PMSessionCopyDestinationFormat()
+ *
+ * Summary:
+ * Hand back the destination output MIME type associated with the
+ * provided print session and print settings.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * A currently open print session.
+ *
+ * printSettings:
+ * The print settings that are to be searched.
+ *
+ * destFormatP:
+ * A pointer to a caller allocated CFStringRef variable. If this
+ * routine returns noErr then *'destFormatP' will either be a copy
+ * of a CFStringRef specifying the output format for the print
+ * job, or NULL indicating that the default output format will be
+ * used. If this function return an error, then *'destFormatP'
+ * will be set to NULL.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCopyDestinationFormat(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ CFStringRef * destFormatP);
+
+
+/*
+ * PMSessionCopyDestinationLocation()
+ *
+ * Summary:
+ * Hand back the URL destination location given a print session and
+ * print settings.
+ *
+ * Discussion:
+ * Some destination type support a destination location which
+ * further defines where the output from a pritn job should be sent.
+ * The kPMDestinationFile destiation type, for example, will use a
+ * file URL to determine where a new file should be created.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * A currently open print session.
+ *
+ * printSettings:
+ * The print settings that are to be searched.
+ *
+ * destLocationP:
+ * A pointer to a caller allocated CFURLRef variable. If this
+ * routine returns noErr then *'outputFileP' will either be NULL
+ * indicating that the job is using the default destination
+ * location for the current destination type or a copy of a
+ * CFURLRef will be placed in *'destLocationP'. If this function
+ * returns an error then 'destLocationP' will be set to NULL.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCopyDestinationLocation(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ CFURLRef * destLocationP);
+
+
+/*
+ * PMSessionCopyOutputFormatList()
+ *
+ * Summary:
+ * Hands back an an array of MIME types describing the possible
+ * output formats for the printer module associated with the current
+ * printer.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * This session's current printer's printer module will be queried
+ * for its supported output MIME types.
+ *
+ * destType:
+ * A print job can have one of several possible destination types.
+ * The list of valid output formats is dependent upon the
+ * destination type. This parameter specifies destination type of
+ * interest when retrieving the output formats list.
+ *
+ * documentFormatP:
+ * A pointer to a caller's CFArrayRef variable. If this routine
+ * completes successfully, then *'documentFormatP' will be set to
+ * a CFArrayRef containing CFStringRefs. Each CFStringRef in the
+ * array is a MIME type specifying a type of output that can be
+ * generated by the printer module associated with the current
+ * printer.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
+ * routine returns kPMNotImplemented
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCopyOutputFormatList(
+ PMPrintSession printSession,
+ PMDestinationType destType,
+ CFArrayRef * documentFormatP);
+
+
+
+/*
+ * PMSessionCreatePageFormatList()
+ *
+ * Summary:
+ * Hand back a list of page format instances. Each page format
+ * instance describes a paper size available on the specified
+ * printer.
+ *
+ * Parameters:
+ *
+ * printSession:
+ * A currently open print session.
+ *
+ * printer:
+ * The printer whose page size list should be enumerated. To get
+ * the session's current printer, see PMSessionGetCurrentPrinter().
+ *
+ * pageFormatList:
+ * If this function is successful then noErr will be returned and
+ * *'pageFormatList' will be set to a newly created CFArray. Each
+ * element in the array will be a PMPageFormat describing an
+ * available paper size for the specified printer. If this
+ * function fails then a non-zero error code will be returned and
+ * *'pageFormatList' will be set to NULL.
+ *
+ * SPECIAL_AVAILABILITY_NOTE:
+ * This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.1 and later. On Mac OS X it is available to
+ * CFM applications through CarbonLib starting with Mac OS X
+ * version 10.2 and later. On Mac OS 8/9 using CarbonLib, this
+ * routine returns kPMNotImplemented
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionCreatePageFormatList(
+ PMPrintSession printSession,
+ PMPrinter printer,
+ CFArrayRef * pageFormatList);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionBeginDocumentNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionBeginDocumentNoDialog(
+ PMPrintSession printSession,
+ PMPrintSettings printSettings,
+ PMPageFormat pageFormat);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionEndDocumentNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionEndDocumentNoDialog(PMPrintSession printSession);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionBeginPageNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionBeginPageNoDialog(
+ PMPrintSession printSession,
+ PMPageFormat pageFormat,
+ const PMRect * pageFrame);
+
+
+/*
+ * SPECIAL AVAILABILITY note: This routine is available in ApplicationsServices.framework in
+ * Mac OS X version 10.0 and later. On Mac OS X it is available to CFM applications through CarbonLib
+ * starting with Mac OS X version 10.2 and later.
+ *
+ * On Mac OS 8/9 using CarbonLib, this routine returns kPMNotImplemented
+ */
+/*
+ * PMSessionEndPageNoDialog()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSessionEndPageNoDialog(PMPrintSession printSession);
+
+
+#else
+/*
+ * PMSetIdleProc()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetIdleProc(PMIdleUPP idleProc);
+
+
+/* Print loop */
+/*
+ * PMBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMBegin(void);
+
+
+/*
+ * PMEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMEnd(void);
+
+
+/************************/
+/* Valid only within a PMBeginPage/PMEndPage block. You should retrieve the printing */
+/* port with this call and set it before imaging a page. */
+/************************/
+/*
+ * PMGetGrafPtr()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetGrafPtr(
+ PMPrintContext printContext,
+ GrafPtr * grafPort);
+
+
+/* PMPageFormat */
+/*
+ * PMNewPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMNewPageFormat(PMPageFormat * pageFormat);
+
+
+/*
+ * PMDisposePageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDisposePageFormat(PMPageFormat pageFormat);
+
+
+/*
+ * PMDefaultPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDefaultPageFormat(PMPageFormat pageFormat);
+
+
+/*
+ * PMValidatePageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMValidatePageFormat(
+ PMPageFormat pageFormat,
+ Boolean * result);
+
+
+/* PMPrintSettings */
+/*
+ * PMNewPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMNewPrintSettings(PMPrintSettings * printSettings);
+
+
+/*
+ * PMDisposePrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDisposePrintSettings(PMPrintSettings printSettings);
+
+
+/*
+ * PMDefaultPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDefaultPrintSettings(PMPrintSettings printSettings);
+
+
+/*
+ * PMValidatePrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMValidatePrintSettings(
+ PMPrintSettings printSettings,
+ Boolean * result);
+
+
+/* Classic Support */
+/*
+ * PMGeneral()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGeneral(Ptr pData);
+
+
+/*
+ * PMConvertOldPrintRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMConvertOldPrintRecord(
+ Handle printRecordHandle,
+ PMPrintSettings * printSettings,
+ PMPageFormat * pageFormat);
+
+
+/*
+ * PMMakeOldPrintRecord()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMMakeOldPrintRecord(
+ PMPrintSettings printSettings,
+ PMPageFormat pageFormat,
+ Handle * printRecordHandle);
+
+
+/* Driver Information */
+/*
+ * PMIsPostScriptDriver()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMIsPostScriptDriver(Boolean * isPostScript);
+
+
+/*
+ * PMGetLanguageInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetLanguageInfo(PMLanguageInfo * info);
+
+
+/*
+ * PMGetDriverCreator()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDriverCreator(OSType * creator);
+
+
+/*
+ * PMGetDriverReleaseInfo()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDriverReleaseInfo(VersRec * release);
+
+
+/*
+ * PMGetPrinterResolutionCount()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPrinterResolutionCount(UInt32 * count);
+
+
+/*
+ * PMGetPrinterResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPrinterResolution(
+ PMTag tag,
+ PMResolution * res);
+
+
+/*
+ * PMGetIndexedPrinterResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetIndexedPrinterResolution(
+ UInt32 index,
+ PMResolution * res);
+
+
+/************************/
+/* PMEnableColorSync and PMDisableColorSync are valid within */
+/* BeginPage/EndPage block */
+/************************/
+/* ColorSync & PostScript Support */
+/*
+ * PMEnableColorSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMEnableColorSync(void);
+
+
+/*
+ * PMDisableColorSync()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMDisableColorSync(void);
+
+
+/************************/
+/* The PMPostScriptxxx calls are valid within a */
+/* BeginPage/EndPage block */
+/************************/
+/*
+ * PMPostScriptBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptBegin(void);
+
+
+/*
+ * PMPostScriptEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptEnd(void);
+
+
+/************************/
+/* These PMPostScriptxxx calls are valid within a */
+/* PMPostScriptBegin/PMPostScriptEnd block */
+/************************/
+/*
+ * PMPostScriptHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptHandle(Handle psHandle);
+
+
+/*
+ * PMPostScriptData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptData(
+ Ptr psPtr,
+ Size len);
+
+
+/*
+ * PMPostScriptFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMPostScriptFile(FSSpec * psFile);
+
+
+/* Error */
+/*
+ * PMError()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMError(void);
+
+
+/*
+ * PMSetError()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetError(OSStatus printError);
+
+
+#endif /* PM_USE_SESSION_APIS */
+
+/* PMPageFormat */
+/*
+ * PMCopyPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMCopyPageFormat(
+ PMPageFormat formatSrc,
+ PMPageFormat formatDest);
+
+
+/************************/
+/* Flattening a page format should only be necessary if you intend to preserve */
+/* the object settings along with a document. A page format will persist outside of a */
+/* PMBegin/PMEnd block. This will allow you to use any accessors on the object without */
+/* the need to flatten and unflatten. Keep in mind accessors make no assumption */
+/* on the validity of the value you set. This can only be done thru PMValidatePageFormat */
+/* in a PMBegin/PMEnd block or with PMSessionValidatePageFormat with a valid session. */
+/* It is your responsibility for disposing of the handle. */
+/************************/
+/*
+ * PMFlattenPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMFlattenPageFormat(
+ PMPageFormat pageFormat,
+ Handle * flatFormat);
+
+
+/*
+ * PMUnflattenPageFormat()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMUnflattenPageFormat(
+ Handle flatFormat,
+ PMPageFormat * pageFormat);
+
+
+/* PMPageFormat Accessors */
+/************************/
+/* PMSetxxx calls only saves the value inside the printing object. They make no assumption on the */
+/* validity of the value. This should be done using PMValidatePageFormat/PMSessionValidatePageFormat */
+/* Any dependant settings are also updated during a validate call. */
+/* For example: */
+/* PMGetAdjustedPaperRect - returns a rect of a certain size */
+/* PMSetScale( aPageFormat, 500.0 ) */
+/* PMGetAdjustedPaperRect - returns the SAME rect as the first call */
+/**/
+/* PMGetAdjustedPaperRect - returns a rect of a certain size */
+/* PMSetScale( aPageFormat, 500.0 ) */
+/* PMValidatePageFormat or PMSessionValidatePageFormat */
+/* PMGetAdjustedPaperRect - returns a rect thats scaled 500% from the first call */
+/************************/
+/*
+ * PMGetPageFormatExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPageFormatExtendedData(
+ PMPageFormat pageFormat,
+ OSType dataID,
+ UInt32 * size,
+ void * extendedData);
+
+
+/*
+ * PMSetPageFormatExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPageFormatExtendedData(
+ PMPageFormat pageFormat,
+ OSType dataID,
+ UInt32 size,
+ void * extendedData);
+
+
+/************************/
+/* A value of 100.0 means 100% (no scaling). 50.0 means 50% scaling */
+/************************/
+/*
+ * PMGetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetScale(
+ PMPageFormat pageFormat,
+ double * scale);
+
+
+/*
+ * PMSetScale()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetScale(
+ PMPageFormat pageFormat,
+ double scale);
+
+
+/************************/
+/* This is the drawing resolution of an app. This should not be confused with */
+/* the resolution of the printer. You can call PMGetPrinterResolution to see */
+/* what resolutions are avaliable for the current printer. */
+/************************/
+/*
+ * PMGetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetResolution(
+ PMPageFormat pageFormat,
+ PMResolution * res);
+
+
+/*
+ * PMSetResolution()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetResolution(
+ PMPageFormat pageFormat,
+ const PMResolution * res);
+
+
+/************************/
+/* This is the physical size of the paper without regard to resolution, orientation */
+/* or scaling. It is returned as a 72dpi value. */
+/************************/
+/*
+ * PMGetPhysicalPaperSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPhysicalPaperSize(
+ PMPageFormat pageFormat,
+ PMRect * paperSize);
+
+
+/*
+ * PMSetPhysicalPaperSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPhysicalPaperSize(
+ PMPageFormat pageFormat,
+ const PMRect * paperSize);
+
+
+/************************/
+/* This is the physical size of the page without regard to resolution, orientation */
+/* or scaling. It is returned as a 72dpi value. */
+/************************/
+/*
+ * PMGetPhysicalPageSize()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPhysicalPageSize(
+ PMPageFormat pageFormat,
+ PMRect * pageSize);
+
+
+/*
+ * PMGetAdjustedPaperRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetAdjustedPaperRect(
+ PMPageFormat pageFormat,
+ PMRect * paperRect);
+
+
+/*
+ * PMGetAdjustedPageRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetAdjustedPageRect(
+ PMPageFormat pageFormat,
+ PMRect * pageRect);
+
+
+/*
+ * PMGetUnadjustedPaperRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetUnadjustedPaperRect(
+ PMPageFormat pageFormat,
+ PMRect * paperRect);
+
+
+/*
+ * PMSetUnadjustedPaperRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetUnadjustedPaperRect(
+ PMPageFormat pageFormat,
+ const PMRect * paperRect);
+
+
+/*
+ * PMGetUnadjustedPageRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetUnadjustedPageRect(
+ PMPageFormat pageFormat,
+ PMRect * pageRect);
+
+
+/*
+ * PMSetAdjustedPageRect()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetAdjustedPageRect(
+ PMPageFormat pageFormat,
+ const PMRect * pageRect);
+
+
+/*
+ * PMGetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetOrientation(
+ PMPageFormat pageFormat,
+ PMOrientation * orientation);
+
+
+/*
+ * PMSetOrientation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetOrientation(
+ PMPageFormat pageFormat,
+ PMOrientation orientation,
+ Boolean lock);
+
+
+/* PMPrintSettings */
+/*
+ * PMCopyPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMCopyPrintSettings(
+ PMPrintSettings settingSrc,
+ PMPrintSettings settingDest);
+
+
+/************************/
+/* Flattening a print settings should only be necessary if you intend to preserve */
+/* the object settings along with a document. A print settings will persist outside of a */
+/* PMBegin/PMEnd block. This allows you to use any accessors on the object without */
+/* the need to flatten and unflatten. Keep in mind the accessors make no assumption */
+/* on the validity of the value. This can only be done thru PMValidatePrintSettings */
+/* in a PMBegin/PMEnd block or with PMSessionValidatePrintSettings with a valid session. */
+/* It is your responsibility for disposing of the handle. */
+/************************/
+/*
+ * PMFlattenPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMFlattenPrintSettings(
+ PMPrintSettings printSettings,
+ Handle * flatSettings);
+
+
+/*
+ * PMUnflattenPrintSettings()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMUnflattenPrintSettings(
+ Handle flatSettings,
+ PMPrintSettings * printSettings);
+
+
+/* PMPrintSettings Accessors */
+/*
+ * PMGetPrintSettingsExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPrintSettingsExtendedData(
+ PMPrintSettings printSettings,
+ OSType dataID,
+ UInt32 * size,
+ void * extendedData);
+
+
+/*
+ * PMSetPrintSettingsExtendedData()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPrintSettingsExtendedData(
+ PMPrintSettings printSettings,
+ OSType dataID,
+ UInt32 size,
+ void * extendedData);
+
+
+/*
+ * PMGetDestination()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.1 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetDestination(
+ PMPrintSettings printSettings,
+ PMDestinationType * destType,
+ CFURLRef * fileURL);
+
+
+/*
+ * PMGetJobName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetJobName(
+ PMPrintSettings printSettings,
+ StringPtr name);
+
+
+/*
+ * PMSetJobName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetJobName(
+ PMPrintSettings printSettings,
+ StringPtr name);
+
+
+/*
+ * PMGetCopies()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetCopies(
+ PMPrintSettings printSettings,
+ UInt32 * copies);
+
+
+/*
+ * PMSetCopies()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetCopies(
+ PMPrintSettings printSettings,
+ UInt32 copies,
+ Boolean lock);
+
+
+/*
+ * PMGetFirstPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetFirstPage(
+ PMPrintSettings printSettings,
+ UInt32 * first);
+
+
+/*
+ * PMSetFirstPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetFirstPage(
+ PMPrintSettings printSettings,
+ UInt32 first,
+ Boolean lock);
+
+
+/*
+ * PMGetLastPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetLastPage(
+ PMPrintSettings printSettings,
+ UInt32 * last);
+
+
+/*
+ * PMSetLastPage()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetLastPage(
+ PMPrintSettings printSettings,
+ UInt32 last,
+ Boolean lock);
+
+
+/************************/
+/* The default page range is from 1-32000. The page range is something that is */
+/* set by the application. It is NOT the first and last page to print. It serves */
+/* as limits for setting the first and last page. You may pass kPMPrintAllPages for */
+/* the maxPage value to specified that all pages are available for printing. */
+/************************/
+/*
+ * PMGetPageRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMGetPageRange(
+ PMPrintSettings printSettings,
+ UInt32 * minPage,
+ UInt32 * maxPage);
+
+
+/************************/
+/* The first and last page are immediately clipped to the new range */
+/************************/
+/*
+ * PMSetPageRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetPageRange(
+ PMPrintSettings printSettings,
+ UInt32 minPage,
+ UInt32 maxPage);
+
+
+/*
+ * PMSetProfile()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSStatus )
+PMSetProfile(
+ PMPrintSettings printSettings,
+ PMTag tag,
+ const CMProfileLocation * profile);
+
+
+/*
+ * PMSetCollate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMSetCollate(
+ PMPrintSettings printSettings,
+ Boolean collate);
+
+
+/*
+ * PMGetCollate()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.6 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMGetCollate(
+ PMPrintSettings printSettings,
+ Boolean * collate);
+
+
+/*
+ * PMServerCreatePrinterList()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMServerCreatePrinterList(
+ PMServer server,
+ CFArrayRef * printerList);
+
+
+/*
+ * PMPrinterGetName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFStringRef )
+PMPrinterGetName(PMPrinter printer);
+
+
+/*
+ * PMPrinterGetID()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFStringRef )
+PMPrinterGetID(PMPrinter printer);
+
+
+/*
+ * PMPrinterIsDefault()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( Boolean )
+PMPrinterIsDefault(PMPrinter printer);
+
+
+/*
+ * PMPrinterGetLocation()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( CFStringRef )
+PMPrinterGetLocation(PMPrinter printer);
+
+
+/*
+ * PMPrinterGetState()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMPrinterGetState(
+ PMPrinter printer,
+ PMPrinterState * state);
+
+
+/*
+ * PMPrinterGetDeviceURI()
+ *
+ * Summary:
+ * Hand back the URI of the printer's device.
+ *
+ * Discussion:
+ * If defined on OS 9 this function returns kPMNotImplemented.
+ *
+ * Parameters:
+ *
+ * printer:
+ * The printer whose device URI is to be retrieved.
+ *
+ * deviceURI:
+ * On exit, if successful *'deviceURI' will contain a reference to
+ * a CFURL describing the printer's device. The caller is
+ * responsible for releasing this reference. If this call returns
+ * an error, then *'deviceURI' will be set to NULL.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( OSStatus )
+PMPrinterGetDeviceURI(
+ PMPrinter printer,
+ CFURLRef * deviceURI);
+
+
+
+/*
+ * PMPrinterIsFavorite()
+ *
+ * Summary:
+ * Return true if the printer is in the user's favorite printer list.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Mac OS X: in version 10.2 and later
+ */
+EXTERN_API( Boolean )
+PMPrinterIsFavorite(PMPrinter printer);
+
+
+/*
+ * PMCGImageCreateWithEPSDataProvider()
+ *
+ * Summary:
+ * Create an image reference that references both the PostScript
+ * contents of an EPS file and a preview (proxy) image for that EPS
+ * file.
+ *
+ * Discussion:
+ * For OS X 10.1.0, this function ignores the passed in data
+ * provider. The passed in image reference is retained and then
+ * returned. For 10.1.1 and later, then the data provider is used
+ * and the returned image reference is different than the passed in
+ * image reference, so please be careful with your use of these
+ * references. It is likely that the data will not be read from the
+ * EPS data provider until well after this function returns. The
+ * caller should be careful not to free the underlying EPS data
+ * until the provider's release routine is invoked. Similarly the
+ * preview image's data may be needed long after you think it should
+ * be. Do not free the image data until the image data provider's
+ * release data function has been called. To make sure these data
+ * providers are properly reference counted, release your reference
+ * the EPS data provider and on the EPS image preview when they are
+ * no longer needed by your application. For Mac OS X 10.2 and
+ * later, the contents of the EPS provider at the time of this call
+ * can be dumped to a file if you first do the following, BEFORE
+ * running your application. From the command line in terminal:
+ * defaults write NSGlobalDomain com.apple.print.eps.testProvider
+ * /tmp/dump.eps causes a dump of the EPS data into a file
+ * /tmp/dump.eps.
+ *
+ * Parameters:
+ *
+ * epsDataProvider:
+ * A Core Graphics data provider that can supply the PostScript
+ * contents of the EPS file. Post OS X 10.1, there will be some
+ * checking done on the EPS data provided to the
+ * PMCGImageCreateWithEPSDataProvider() call. It is important that
+ * the EPS data begin with the EPSF required header and bounding
+ * box DSC comments.
+ *
+ * epsPreview:
+ * A Core Graphics image reference to the proxy image for the EPS
+ * file. When the image reference result of this function is
+ * rendered on screen or printed to a printer that can not render
+ * PostScript this proxy image is drawn instead.
+ *
+ * Result:
+ * an image reference capable of rendering either the EPS content or
+ * the proxy image depending upon the capabilities of the targeted
+ * context.
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
+ * Mac OS X: in version 10.1 and later
+ */
+EXTERN_API( CGImageRef )
+PMCGImageCreateWithEPSDataProvider(
+ CGDataProviderRef epsDataProvider,
+ CGImageRef epsPreview);
+
+
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __PMCORE__ */
+