hl2_src-leak-2017/src/common/quicktime_win32/AEObjects.h

822 lines
32 KiB
C

/*
File: AEObjects.h
Contains: Object Support Library Interfaces.
Version: QuickTime 7.3
Copyright: (c) 2007 (c) 1991-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 __AEOBJECTS__
#define __AEOBJECTS__
#ifndef __MACERRORS__
#include <MacErrors.h>
#endif
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
#ifndef __APPLEEVENTS__
#include <AppleEvents.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 {
/**** LOGICAL OPERATOR CONSTANTS ****/
kAEAND = FOUR_CHAR_CODE('AND '), /* 0x414e4420 */
kAEOR = FOUR_CHAR_CODE('OR '), /* 0x4f522020 */
kAENOT = FOUR_CHAR_CODE('NOT '), /* 0x4e4f5420 */
/**** ABSOLUTE ORDINAL CONSTANTS ****/
kAEFirst = FOUR_CHAR_CODE('firs'), /* 0x66697273 */
kAELast = FOUR_CHAR_CODE('last'), /* 0x6c617374 */
kAEMiddle = FOUR_CHAR_CODE('midd'), /* 0x6d696464 */
kAEAny = FOUR_CHAR_CODE('any '), /* 0x616e7920 */
kAEAll = FOUR_CHAR_CODE('all '), /* 0x616c6c20 */
/**** RELATIVE ORDINAL CONSTANTS ****/
kAENext = FOUR_CHAR_CODE('next'), /* 0x6e657874 */
kAEPrevious = FOUR_CHAR_CODE('prev'), /* 0x70726576 */
/**** KEYWORD CONSTANT ****/
keyAECompOperator = FOUR_CHAR_CODE('relo'), /* 0x72656c6f */
keyAELogicalTerms = FOUR_CHAR_CODE('term'), /* 0x7465726d */
keyAELogicalOperator = FOUR_CHAR_CODE('logc'), /* 0x6c6f6763 */
keyAEObject1 = FOUR_CHAR_CODE('obj1'), /* 0x6f626a31 */
keyAEObject2 = FOUR_CHAR_CODE('obj2'), /* 0x6f626a32 */
/* ... for Keywords for getting fields out of object specifier records. */
keyAEDesiredClass = FOUR_CHAR_CODE('want'), /* 0x77616e74 */
keyAEContainer = FOUR_CHAR_CODE('from'), /* 0x66726f6d */
keyAEKeyForm = FOUR_CHAR_CODE('form'), /* 0x666f726d */
keyAEKeyData = FOUR_CHAR_CODE('seld') /* 0x73656c64 */
};
enum {
/* ... for Keywords for getting fields out of Range specifier records. */
keyAERangeStart = FOUR_CHAR_CODE('star'), /* 0x73746172 */
keyAERangeStop = FOUR_CHAR_CODE('stop'), /* 0x73746f70 */
/* ... special handler selectors for OSL Callbacks. */
keyDisposeTokenProc = FOUR_CHAR_CODE('xtok'), /* 0x78746f6b */
keyAECompareProc = FOUR_CHAR_CODE('cmpr'), /* 0x636d7072 */
keyAECountProc = FOUR_CHAR_CODE('cont'), /* 0x636f6e74 */
keyAEMarkTokenProc = FOUR_CHAR_CODE('mkid'), /* 0x6d6b6964 */
keyAEMarkProc = FOUR_CHAR_CODE('mark'), /* 0x6d61726b */
keyAEAdjustMarksProc = FOUR_CHAR_CODE('adjm'), /* 0x61646a6d */
keyAEGetErrDescProc = FOUR_CHAR_CODE('indc') /* 0x696e6463 */
};
/**** VALUE and TYPE CONSTANTS ****/
enum {
/* ... possible values for the keyAEKeyForm field of an object specifier. */
formAbsolutePosition = FOUR_CHAR_CODE('indx'), /* 0x696e6478 */
formRelativePosition = FOUR_CHAR_CODE('rele'), /* 0x72656c65 */
formTest = FOUR_CHAR_CODE('test'), /* 0x74657374 */
formRange = FOUR_CHAR_CODE('rang'), /* 0x72616e67 */
formPropertyID = FOUR_CHAR_CODE('prop'), /* 0x70726f70 */
formName = FOUR_CHAR_CODE('name'), /* 0x6e616d65 */
/* ... relevant types (some of these are often pared with forms above). */
typeObjectSpecifier = FOUR_CHAR_CODE('obj '), /* 0x6f626a20 */
typeObjectBeingExamined = FOUR_CHAR_CODE('exmn'), /* 0x65786d6e */
typeCurrentContainer = FOUR_CHAR_CODE('ccnt'), /* 0x63636e74 */
typeToken = FOUR_CHAR_CODE('toke'), /* 0x746f6b65 */
typeRelativeDescriptor = FOUR_CHAR_CODE('rel '), /* 0x72656c20 */
typeAbsoluteOrdinal = FOUR_CHAR_CODE('abso'), /* 0x6162736f */
typeIndexDescriptor = FOUR_CHAR_CODE('inde'), /* 0x696e6465 */
typeRangeDescriptor = FOUR_CHAR_CODE('rang'), /* 0x72616e67 */
typeLogicalDescriptor = FOUR_CHAR_CODE('logi'), /* 0x6c6f6769 */
typeCompDescriptor = FOUR_CHAR_CODE('cmpd'), /* 0x636d7064 */
typeOSLTokenList = FOUR_CHAR_CODE('ostl') /* 0x6F73746C */
};
/* Possible values for flags parameter to AEResolve. They're additive */
enum {
kAEIDoMinimum = 0x0000,
kAEIDoWhose = 0x0001,
kAEIDoMarking = 0x0004,
kAEPassSubDescs = 0x0008,
kAEResolveNestedLists = 0x0010,
kAEHandleSimpleRanges = 0x0020,
kAEUseRelativeIterators = 0x0040
};
/**** SPECIAL CONSTANTS FOR CUSTOM WHOSE-CLAUSE RESOLUTION */
enum {
typeWhoseDescriptor = FOUR_CHAR_CODE('whos'), /* 0x77686f73 */
formWhose = FOUR_CHAR_CODE('whos'), /* 0x77686f73 */
typeWhoseRange = FOUR_CHAR_CODE('wrng'), /* 0x77726e67 */
keyAEWhoseRangeStart = FOUR_CHAR_CODE('wstr'), /* 0x77737472 */
keyAEWhoseRangeStop = FOUR_CHAR_CODE('wstp'), /* 0x77737470 */
keyAEIndex = FOUR_CHAR_CODE('kidx'), /* 0x6b696478 */
keyAETest = FOUR_CHAR_CODE('ktst') /* 0x6b747374 */
};
/*
used for rewriting tokens in place of 'ccnt' descriptors
This record is only of interest to those who, when they...
...get ranges as key data in their accessor procs, choose
...to resolve them manually rather than call AEResolve again.
*/
struct ccntTokenRecord {
DescType tokenClass;
AEDesc token;
};
typedef struct ccntTokenRecord ccntTokenRecord;
typedef ccntTokenRecord * ccntTokenRecPtr;
typedef ccntTokenRecPtr * ccntTokenRecHandle;
#if OLDROUTINENAMES
typedef AEDesc * DescPtr;
typedef DescPtr * DescHandle;
#endif /* OLDROUTINENAMES */
/* typedefs providing type checking for procedure pointers */
typedef CALLBACK_API( OSErr , OSLAccessorProcPtr )(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form, const AEDesc *selectionData, AEDesc *value, long accessorRefcon);
typedef CALLBACK_API( OSErr , OSLCompareProcPtr )(DescType oper, const AEDesc *obj1, const AEDesc *obj2, Boolean *result);
typedef CALLBACK_API( OSErr , OSLCountProcPtr )(DescType desiredType, DescType containerClass, const AEDesc *container, long *result);
typedef CALLBACK_API( OSErr , OSLDisposeTokenProcPtr )(AEDesc * unneededToken);
typedef CALLBACK_API( OSErr , OSLGetMarkTokenProcPtr )(const AEDesc *dContainerToken, DescType containerClass, AEDesc *result);
typedef CALLBACK_API( OSErr , OSLGetErrDescProcPtr )(AEDesc ** appDescPtr);
typedef CALLBACK_API( OSErr , OSLMarkProcPtr )(const AEDesc *dToken, const AEDesc *markToken, long index);
typedef CALLBACK_API( OSErr , OSLAdjustMarksProcPtr )(long newStart, long newStop, const AEDesc *markToken);
typedef STACK_UPP_TYPE(OSLAccessorProcPtr) OSLAccessorUPP;
typedef STACK_UPP_TYPE(OSLCompareProcPtr) OSLCompareUPP;
typedef STACK_UPP_TYPE(OSLCountProcPtr) OSLCountUPP;
typedef STACK_UPP_TYPE(OSLDisposeTokenProcPtr) OSLDisposeTokenUPP;
typedef STACK_UPP_TYPE(OSLGetMarkTokenProcPtr) OSLGetMarkTokenUPP;
typedef STACK_UPP_TYPE(OSLGetErrDescProcPtr) OSLGetErrDescUPP;
typedef STACK_UPP_TYPE(OSLMarkProcPtr) OSLMarkUPP;
typedef STACK_UPP_TYPE(OSLAdjustMarksProcPtr) OSLAdjustMarksUPP;
/*
* NewOSLAccessorUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLAccessorUPP )
NewOSLAccessorUPP(OSLAccessorProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLAccessorProcInfo = 0x000FFFE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLAccessorUPP) NewOSLAccessorUPP(OSLAccessorProcPtr userRoutine) { return (OSLAccessorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAccessorProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLAccessorUPP(userRoutine) (OSLAccessorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAccessorProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLCompareUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLCompareUPP )
NewOSLCompareUPP(OSLCompareProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLCompareProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLCompareUPP) NewOSLCompareUPP(OSLCompareProcPtr userRoutine) { return (OSLCompareUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCompareProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLCompareUPP(userRoutine) (OSLCompareUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCompareProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLCountUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLCountUPP )
NewOSLCountUPP(OSLCountProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLCountProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLCountUPP) NewOSLCountUPP(OSLCountProcPtr userRoutine) { return (OSLCountUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCountProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLCountUPP(userRoutine) (OSLCountUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLCountProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLDisposeTokenUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLDisposeTokenUPP )
NewOSLDisposeTokenUPP(OSLDisposeTokenProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLDisposeTokenProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLDisposeTokenUPP) NewOSLDisposeTokenUPP(OSLDisposeTokenProcPtr userRoutine) { return (OSLDisposeTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLDisposeTokenProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLDisposeTokenUPP(userRoutine) (OSLDisposeTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLDisposeTokenProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLGetMarkTokenUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLGetMarkTokenUPP )
NewOSLGetMarkTokenUPP(OSLGetMarkTokenProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLGetMarkTokenProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLGetMarkTokenUPP) NewOSLGetMarkTokenUPP(OSLGetMarkTokenProcPtr userRoutine) { return (OSLGetMarkTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetMarkTokenProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLGetMarkTokenUPP(userRoutine) (OSLGetMarkTokenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetMarkTokenProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLGetErrDescUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLGetErrDescUPP )
NewOSLGetErrDescUPP(OSLGetErrDescProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLGetErrDescProcInfo = 0x000000E0 }; /* pascal 2_bytes Func(4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLGetErrDescUPP) NewOSLGetErrDescUPP(OSLGetErrDescProcPtr userRoutine) { return (OSLGetErrDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetErrDescProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLGetErrDescUPP(userRoutine) (OSLGetErrDescUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLGetErrDescProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLMarkUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLMarkUPP )
NewOSLMarkUPP(OSLMarkProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLMarkProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLMarkUPP) NewOSLMarkUPP(OSLMarkProcPtr userRoutine) { return (OSLMarkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLMarkProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLMarkUPP(userRoutine) (OSLMarkUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLMarkProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewOSLAdjustMarksUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSLAdjustMarksUPP )
NewOSLAdjustMarksUPP(OSLAdjustMarksProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppOSLAdjustMarksProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(OSLAdjustMarksUPP) NewOSLAdjustMarksUPP(OSLAdjustMarksProcPtr userRoutine) { return (OSLAdjustMarksUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAdjustMarksProcInfo, GetCurrentArchitecture()); }
#else
#define NewOSLAdjustMarksUPP(userRoutine) (OSLAdjustMarksUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOSLAdjustMarksProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* DisposeOSLAccessorUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLAccessorUPP(OSLAccessorUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLAccessorUPP(OSLAccessorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLAccessorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLCompareUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLCompareUPP(OSLCompareUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLCompareUPP(OSLCompareUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLCompareUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLCountUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLCountUPP(OSLCountUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLCountUPP(OSLCountUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLCountUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLDisposeTokenUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLDisposeTokenUPP(OSLDisposeTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLDisposeTokenUPP(OSLDisposeTokenUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLDisposeTokenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLGetMarkTokenUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLGetMarkTokenUPP(OSLGetMarkTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLGetMarkTokenUPP(OSLGetMarkTokenUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLGetMarkTokenUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLGetErrDescUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLGetErrDescUPP(OSLGetErrDescUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLGetErrDescUPP(OSLGetErrDescUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLGetErrDescUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLMarkUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLMarkUPP(OSLMarkUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLMarkUPP(OSLMarkUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLMarkUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeOSLAdjustMarksUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( void )
DisposeOSLAdjustMarksUPP(OSLAdjustMarksUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeOSLAdjustMarksUPP(OSLAdjustMarksUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeOSLAdjustMarksUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* InvokeOSLAccessorUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLAccessorUPP(
DescType desiredClass,
const AEDesc * container,
DescType containerClass,
DescType form,
const AEDesc * selectionData,
AEDesc * value,
long accessorRefcon,
OSLAccessorUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLAccessorUPP(DescType desiredClass, const AEDesc * container, DescType containerClass, DescType form, const AEDesc * selectionData, AEDesc * value, long accessorRefcon, OSLAccessorUPP userUPP) { return (OSErr)CALL_SEVEN_PARAMETER_UPP(userUPP, uppOSLAccessorProcInfo, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon); }
#else
#define InvokeOSLAccessorUPP(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon, userUPP) (OSErr)CALL_SEVEN_PARAMETER_UPP((userUPP), uppOSLAccessorProcInfo, (desiredClass), (container), (containerClass), (form), (selectionData), (value), (accessorRefcon))
#endif
#endif
/*
* InvokeOSLCompareUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLCompareUPP(
DescType oper,
const AEDesc * obj1,
const AEDesc * obj2,
Boolean * result,
OSLCompareUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLCompareUPP(DescType oper, const AEDesc * obj1, const AEDesc * obj2, Boolean * result, OSLCompareUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppOSLCompareProcInfo, oper, obj1, obj2, result); }
#else
#define InvokeOSLCompareUPP(oper, obj1, obj2, result, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppOSLCompareProcInfo, (oper), (obj1), (obj2), (result))
#endif
#endif
/*
* InvokeOSLCountUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLCountUPP(
DescType desiredType,
DescType containerClass,
const AEDesc * container,
long * result,
OSLCountUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLCountUPP(DescType desiredType, DescType containerClass, const AEDesc * container, long * result, OSLCountUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppOSLCountProcInfo, desiredType, containerClass, container, result); }
#else
#define InvokeOSLCountUPP(desiredType, containerClass, container, result, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppOSLCountProcInfo, (desiredType), (containerClass), (container), (result))
#endif
#endif
/*
* InvokeOSLDisposeTokenUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLDisposeTokenUPP(
AEDesc * unneededToken,
OSLDisposeTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLDisposeTokenUPP(AEDesc * unneededToken, OSLDisposeTokenUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSLDisposeTokenProcInfo, unneededToken); }
#else
#define InvokeOSLDisposeTokenUPP(unneededToken, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSLDisposeTokenProcInfo, (unneededToken))
#endif
#endif
/*
* InvokeOSLGetMarkTokenUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLGetMarkTokenUPP(
const AEDesc * dContainerToken,
DescType containerClass,
AEDesc * result,
OSLGetMarkTokenUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLGetMarkTokenUPP(const AEDesc * dContainerToken, DescType containerClass, AEDesc * result, OSLGetMarkTokenUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLGetMarkTokenProcInfo, dContainerToken, containerClass, result); }
#else
#define InvokeOSLGetMarkTokenUPP(dContainerToken, containerClass, result, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLGetMarkTokenProcInfo, (dContainerToken), (containerClass), (result))
#endif
#endif
/*
* InvokeOSLGetErrDescUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLGetErrDescUPP(
AEDesc ** appDescPtr,
OSLGetErrDescUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLGetErrDescUPP(AEDesc ** appDescPtr, OSLGetErrDescUPP userUPP) { return (OSErr)CALL_ONE_PARAMETER_UPP(userUPP, uppOSLGetErrDescProcInfo, appDescPtr); }
#else
#define InvokeOSLGetErrDescUPP(appDescPtr, userUPP) (OSErr)CALL_ONE_PARAMETER_UPP((userUPP), uppOSLGetErrDescProcInfo, (appDescPtr))
#endif
#endif
/*
* InvokeOSLMarkUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLMarkUPP(
const AEDesc * dToken,
const AEDesc * markToken,
long index,
OSLMarkUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLMarkUPP(const AEDesc * dToken, const AEDesc * markToken, long index, OSLMarkUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLMarkProcInfo, dToken, markToken, index); }
#else
#define InvokeOSLMarkUPP(dToken, markToken, index, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLMarkProcInfo, (dToken), (markToken), (index))
#endif
#endif
/*
* InvokeOSLAdjustMarksUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API_C( OSErr )
InvokeOSLAdjustMarksUPP(
long newStart,
long newStop,
const AEDesc * markToken,
OSLAdjustMarksUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(OSErr) InvokeOSLAdjustMarksUPP(long newStart, long newStop, const AEDesc * markToken, OSLAdjustMarksUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppOSLAdjustMarksProcInfo, newStart, newStop, markToken); }
#else
#define InvokeOSLAdjustMarksUPP(newStart, newStop, markToken, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppOSLAdjustMarksProcInfo, (newStart), (newStop), (markToken))
#endif
#endif
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
#define NewOSLAccessorProc(userRoutine) NewOSLAccessorUPP(userRoutine)
#define NewOSLCompareProc(userRoutine) NewOSLCompareUPP(userRoutine)
#define NewOSLCountProc(userRoutine) NewOSLCountUPP(userRoutine)
#define NewOSLDisposeTokenProc(userRoutine) NewOSLDisposeTokenUPP(userRoutine)
#define NewOSLGetMarkTokenProc(userRoutine) NewOSLGetMarkTokenUPP(userRoutine)
#define NewOSLGetErrDescProc(userRoutine) NewOSLGetErrDescUPP(userRoutine)
#define NewOSLMarkProc(userRoutine) NewOSLMarkUPP(userRoutine)
#define NewOSLAdjustMarksProc(userRoutine) NewOSLAdjustMarksUPP(userRoutine)
#define CallOSLAccessorProc(userRoutine, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon) InvokeOSLAccessorUPP(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon, userRoutine)
#define CallOSLCompareProc(userRoutine, oper, obj1, obj2, result) InvokeOSLCompareUPP(oper, obj1, obj2, result, userRoutine)
#define CallOSLCountProc(userRoutine, desiredType, containerClass, container, result) InvokeOSLCountUPP(desiredType, containerClass, container, result, userRoutine)
#define CallOSLDisposeTokenProc(userRoutine, unneededToken) InvokeOSLDisposeTokenUPP(unneededToken, userRoutine)
#define CallOSLGetMarkTokenProc(userRoutine, dContainerToken, containerClass, result) InvokeOSLGetMarkTokenUPP(dContainerToken, containerClass, result, userRoutine)
#define CallOSLGetErrDescProc(userRoutine, appDescPtr) InvokeOSLGetErrDescUPP(appDescPtr, userRoutine)
#define CallOSLMarkProc(userRoutine, dToken, markToken, index) InvokeOSLMarkUPP(dToken, markToken, index, userRoutine)
#define CallOSLAdjustMarksProc(userRoutine, newStart, newStop, markToken) InvokeOSLAdjustMarksUPP(newStart, newStop, markToken, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
/*
* AEObjectInit()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AEObjectInit(void);
/* Not done by inline, but by direct linking into code. It sets up the pack
such that further calls can be via inline */
/*
* AESetObjectCallbacks()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AESetObjectCallbacks(
OSLCompareUPP myCompareProc,
OSLCountUPP myCountProc,
OSLDisposeTokenUPP myDisposeTokenProc,
OSLGetMarkTokenUPP myGetMarkTokenProc,
OSLMarkUPP myMarkProc,
OSLAdjustMarksUPP myAdjustMarksProc,
OSLGetErrDescUPP myGetErrDescProcPtr) THREEWORDINLINE(0x303C, 0x0E35, 0xA816);
/*
* AEResolve()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AEResolve(
const AEDesc * objectSpecifier,
short callbackFlags,
AEDesc * theToken) THREEWORDINLINE(0x303C, 0x0536, 0xA816);
/*
* AEInstallObjectAccessor()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AEInstallObjectAccessor(
DescType desiredClass,
DescType containerType,
OSLAccessorUPP theAccessor,
long accessorRefcon,
Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0937, 0xA816);
/*
* AERemoveObjectAccessor()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AERemoveObjectAccessor(
DescType desiredClass,
DescType containerType,
OSLAccessorUPP theAccessor,
Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0738, 0xA816);
/*
* AEGetObjectAccessor()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AEGetObjectAccessor(
DescType desiredClass,
DescType containerType,
OSLAccessorUPP * accessor,
long * accessorRefcon,
Boolean isSysHandler) THREEWORDINLINE(0x303C, 0x0939, 0xA816);
/*
* AEDisposeToken()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AEDisposeToken(AEDesc * theToken) THREEWORDINLINE(0x303C, 0x023A, 0xA816);
/*
* AECallObjectAccessor()
*
* Availability:
* Non-Carbon CFM: in ObjectSupportLib 1.0 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSErr )
AECallObjectAccessor(
DescType desiredClass,
const AEDesc * containerToken,
DescType containerClass,
DescType keyForm,
const AEDesc * keyData,
AEDesc * token) THREEWORDINLINE(0x303C, 0x0C3B, 0xA816);
#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 /* __AEOBJECTS__ */