diff options
Diffstat (limited to 'common/quicktime_win32/Resources.h')
| -rw-r--r-- | common/quicktime_win32/Resources.h | 1317 |
1 files changed, 1317 insertions, 0 deletions
diff --git a/common/quicktime_win32/Resources.h b/common/quicktime_win32/Resources.h new file mode 100644 index 0000000..19c50d1 --- /dev/null +++ b/common/quicktime_win32/Resources.h @@ -0,0 +1,1317 @@ +/* + File: Resources.h + + Contains: Resource Manager Interfaces. + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1985-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 __RESOURCES__ +#define __RESOURCES__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MIXEDMODE__ +#include <MixedMode.h> +#endif + +#ifndef __FILES__ +#include <Files.h> +#endif + + + + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_IMPORT +#pragma import on +#endif + + +enum { + resSysHeap = 64, /*System or application heap?*/ + resPurgeable = 32, /*Purgeable resource?*/ + resLocked = 16, /*Load it in locked?*/ + resProtected = 8, /*Protected?*/ + resPreload = 4, /*Load in on OpenResFile?*/ + resChanged = 2, /*Resource changed?*/ + mapReadOnly = 128, /*Resource file read-only*/ + mapCompact = 64, /*Compact resource file*/ + mapChanged = 32 /*Write map out at update*/ +}; + +enum { + resSysRefBit = 7, /*reference to system/local reference*/ + resSysHeapBit = 6, /*In system/in application heap*/ + resPurgeableBit = 5, /*Purgeable/not purgeable*/ + resLockedBit = 4, /*Locked/not locked*/ + resProtectedBit = 3, /*Protected/not protected*/ + resPreloadBit = 2, /*Read in at OpenResource?*/ + resChangedBit = 1, /*Existing resource changed since last update*/ + mapReadOnlyBit = 7, /*is this file read-only?*/ + mapCompactBit = 6, /*Is a compact necessary?*/ + mapChangedBit = 5 /*Is it necessary to write map?*/ +}; + +enum { + kResFileNotOpened = -1, /*ref num return as error when opening a resource file*/ + kSystemResFile = 0 /*this is the default ref num to the system file*/ +}; + + +typedef CALLBACK_API_REGISTER68K( void , ResErrProcPtr, (OSErr thErr) ); +typedef REGISTER_UPP_TYPE(ResErrProcPtr) ResErrUPP; +/* + * NewResErrUPP() + * + * 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( ResErrUPP ) +NewResErrUPP(ResErrProcPtr userRoutine); +#if !OPAQUE_UPP_TYPES + enum { uppResErrProcInfo = 0x00001002 }; /* register no_return_value Func(2_bytes:D0) */ + #ifdef __cplusplus + inline DEFINE_API_C(ResErrUPP) NewResErrUPP(ResErrProcPtr userRoutine) { return (ResErrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppResErrProcInfo, GetCurrentArchitecture()); } + #else + #define NewResErrUPP(userRoutine) (ResErrUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppResErrProcInfo, GetCurrentArchitecture()) + #endif +#endif + +/* + * DisposeResErrUPP() + * + * 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 ) +DisposeResErrUPP(ResErrUPP userUPP); +#if !OPAQUE_UPP_TYPES + #ifdef __cplusplus + inline DEFINE_API_C(void) DisposeResErrUPP(ResErrUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } + #else + #define DisposeResErrUPP(userUPP) DisposeRoutineDescriptor(userUPP) + #endif +#endif + +/* + * InvokeResErrUPP() + * + * Availability: + * Non-Carbon CFM: available as macro/inline + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM +#pragma parameter InvokeResErrUPP(__D0, __A0) +#endif +EXTERN_API_C( void ) +InvokeResErrUPP( + OSErr thErr, + ResErrUPP userUPP) ONEWORDINLINE(0x4E90); +#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM) + #ifdef __cplusplus + inline DEFINE_API_C(void) InvokeResErrUPP(OSErr thErr, ResErrUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppResErrProcInfo, thErr); } + #else + #define InvokeResErrUPP(thErr, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppResErrProcInfo, (thErr)) + #endif +#endif + +#if CALL_NOT_IN_CARBON || OLDROUTINENAMES + /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ + #define NewResErrProc(userRoutine) NewResErrUPP(userRoutine) + #define CallResErrProc(userRoutine, thErr) InvokeResErrUPP(thErr, userRoutine) +#endif /* CALL_NOT_IN_CARBON */ + +/* QuickTime 3.0*/ +typedef CALLBACK_API( OSErr , ResourceEndianFilterPtr )(Handle theResource, Boolean currentlyNativeEndian); +#if CALL_NOT_IN_CARBON +/* + * InitResources() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( short ) +InitResources(void) ONEWORDINLINE(0xA995); + + +/* + * RsrcZoneInit() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +RsrcZoneInit(void) ONEWORDINLINE(0xA996); + + +#endif /* CALL_NOT_IN_CARBON */ + +/* + * CloseResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +CloseResFile(short refNum) ONEWORDINLINE(0xA99A); + + +/* + * ResError() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +ResError(void) ONEWORDINLINE(0xA9AF); + + +/* + * CurResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +CurResFile(void) ONEWORDINLINE(0xA994); + + +/* + * HomeResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +HomeResFile(Handle theResource) ONEWORDINLINE(0xA9A4); + + +#if CALL_NOT_IN_CARBON +/* + * CreateResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +CreateResFile(ConstStr255Param fileName) ONEWORDINLINE(0xA9B1); + + +/* + * OpenResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( short ) +OpenResFile(ConstStr255Param fileName) ONEWORDINLINE(0xA997); + + +#endif /* CALL_NOT_IN_CARBON */ + +/* + * UseResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +UseResFile(short refNum) ONEWORDINLINE(0xA998); + + +/* + * CountTypes() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +CountTypes(void) ONEWORDINLINE(0xA99E); + + +/* + * Count1Types() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +Count1Types(void) ONEWORDINLINE(0xA81C); + + +/* + * GetIndType() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +GetIndType( + ResType * theType, + short index) ONEWORDINLINE(0xA99F); + + +/* + * Get1IndType() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +Get1IndType( + ResType * theType, + short index) ONEWORDINLINE(0xA80F); + + +/* + * SetResLoad() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +SetResLoad(Boolean load) ONEWORDINLINE(0xA99B); + + +/* + * CountResources() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +CountResources(ResType theType) ONEWORDINLINE(0xA99C); + + +/* + * Count1Resources() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +Count1Resources(ResType theType) ONEWORDINLINE(0xA80D); + + +/* + * GetIndResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +GetIndResource( + ResType theType, + short index) ONEWORDINLINE(0xA99D); + + +/* + * Get1IndResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +Get1IndResource( + ResType theType, + short index) ONEWORDINLINE(0xA80E); + + +/* + * GetResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +GetResource( + ResType theType, + short theID) ONEWORDINLINE(0xA9A0); + + +/* + * Get1Resource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +Get1Resource( + ResType theType, + short theID) ONEWORDINLINE(0xA81F); + + +/* + * GetNamedResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +GetNamedResource( + ResType theType, + ConstStr255Param name) ONEWORDINLINE(0xA9A1); + + +/* + * Get1NamedResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +Get1NamedResource( + ResType theType, + ConstStr255Param name) ONEWORDINLINE(0xA820); + + +/* + * [Mac]LoadResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +#if TARGET_OS_MAC + #define MacLoadResource LoadResource +#endif +EXTERN_API( void ) +MacLoadResource(Handle theResource) ONEWORDINLINE(0xA9A2); + + +/* + * ReleaseResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +ReleaseResource(Handle theResource) ONEWORDINLINE(0xA9A3); + + +/* + * DetachResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +DetachResource(Handle theResource) ONEWORDINLINE(0xA992); + + +/* + * UniqueID() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +UniqueID(ResType theType) ONEWORDINLINE(0xA9C1); + + +/* + * Unique1ID() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +Unique1ID(ResType theType) ONEWORDINLINE(0xA810); + + +/* + * GetResAttrs() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +GetResAttrs(Handle theResource) ONEWORDINLINE(0xA9A6); + + +/* + * GetResInfo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +GetResInfo( + Handle theResource, + short * theID, + ResType * theType, + Str255 name) ONEWORDINLINE(0xA9A8); + + +/* + * SetResInfo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +SetResInfo( + Handle theResource, + short theID, + ConstStr255Param name) ONEWORDINLINE(0xA9A9); + + +/* + * AddResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +AddResource( + Handle theData, + ResType theType, + short theID, + ConstStr255Param name) ONEWORDINLINE(0xA9AB); + + +/* + * GetResourceSizeOnDisk() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( long ) +GetResourceSizeOnDisk(Handle theResource) ONEWORDINLINE(0xA9A5); + + +/* + * GetMaxResourceSize() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( long ) +GetMaxResourceSize(Handle theResource) ONEWORDINLINE(0xA821); + + +#if CALL_NOT_IN_CARBON +/* + * RsrcMapEntry() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( long ) +RsrcMapEntry(Handle theResource) ONEWORDINLINE(0xA9C5); + + +#endif /* CALL_NOT_IN_CARBON */ + +/* + * SetResAttrs() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +SetResAttrs( + Handle theResource, + short attrs) ONEWORDINLINE(0xA9A7); + + +/* + * ChangedResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +ChangedResource(Handle theResource) ONEWORDINLINE(0xA9AA); + + +/* + * RemoveResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +RemoveResource(Handle theResource) ONEWORDINLINE(0xA9AD); + + +/* + * UpdateResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +UpdateResFile(short refNum) ONEWORDINLINE(0xA999); + + +/* + * WriteResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +WriteResource(Handle theResource) ONEWORDINLINE(0xA9B0); + + +/* + * SetResPurge() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +SetResPurge(Boolean install) ONEWORDINLINE(0xA993); + + +/* + * GetResFileAttrs() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +GetResFileAttrs(short refNum) ONEWORDINLINE(0xA9F6); + + +/* + * SetResFileAttrs() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +SetResFileAttrs( + short refNum, + short attrs) ONEWORDINLINE(0xA9F7); + + +/* + * OpenRFPerm() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +OpenRFPerm( + ConstStr255Param fileName, + short vRefNum, + SInt8 permission) ONEWORDINLINE(0xA9C4); + + +#if CALL_NOT_IN_CARBON +/* + * RGetResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( Handle ) +RGetResource( + ResType theType, + short theID) ONEWORDINLINE(0xA80C); + + +#endif /* CALL_NOT_IN_CARBON */ + +/* + * HOpenResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +HOpenResFile( + short vRefNum, + long dirID, + ConstStr255Param fileName, + SInt8 permission) ONEWORDINLINE(0xA81A); + + +/* + * HCreateResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +HCreateResFile( + short vRefNum, + long dirID, + ConstStr255Param fileName) ONEWORDINLINE(0xA81B); + + +/* + * FSpOpenResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( short ) +FSpOpenResFile( + const FSSpec * spec, + SignedByte permission) TWOWORDINLINE(0x700D, 0xAA52); + + +/* + * FSpCreateResFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +FSpCreateResFile( + const FSSpec * spec, + OSType creator, + OSType fileType, + ScriptCode scriptTag) TWOWORDINLINE(0x700E, 0xAA52); + + +/* + * ReadPartialResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +ReadPartialResource( + Handle theResource, + long offset, + void * buffer, + long count) TWOWORDINLINE(0x7001, 0xA822); + + +/* + * WritePartialResource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +WritePartialResource( + Handle theResource, + long offset, + const void * buffer, + long count) TWOWORDINLINE(0x7002, 0xA822); + + +/* + * SetResourceSize() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( void ) +SetResourceSize( + Handle theResource, + long newSize) TWOWORDINLINE(0x7003, 0xA822); + + +/* + * GetNextFOND() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Handle ) +GetNextFOND(Handle fondHandle) TWOWORDINLINE(0x700A, 0xA822); + + +/* QuickTime 3.0*/ +#if CALL_NOT_IN_CARBON +/* + * RegisterResourceEndianFilter() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSErr ) +RegisterResourceEndianFilter( + ResType theType, + ResourceEndianFilterPtr theFilterProc); + + +/* Use TempInsertROMMap to force the ROM resource map to be + inserted into the chain in front of the system. Note that + this call is only temporary - the modified resource chain + is only used for the next call to the resource manager. + See IM IV 19 for more information. +*/ +/* + * TempInsertROMMap() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +TempInsertROMMap(Boolean tempResLoad) FIVEWORDINLINE(0x70FF, 0x4A1F, 0x56C0, 0x31C0, 0x0B9E); + + +/* + _________________________________________________________________________________________________________ + + o RESOURCE CHAIN LOCATION - for use with the Resource Manager chain manipulation routines under Carbon. + _________________________________________________________________________________________________________ +*/ + +#endif /* CALL_NOT_IN_CARBON */ + +typedef SInt16 RsrcChainLocation; +enum { + kRsrcChainBelowSystemMap = 0, /* Below the system's resource map*/ + kRsrcChainBelowApplicationMap = 1, /* Below the application's resource map*/ + kRsrcChainAboveApplicationMap = 2, /* Above the application's resource map*/ + kRsrcChainAboveAllMaps = 4 /* Above all resource maps*/ +}; + +/* + If the file is already in the resource chain, it is removed and re-inserted at the specified location + If the file has been detached, it is added to the resource chain at the specified location + Returns resFNotFound if it's not currently open. +*/ +/* + * InsertResourceFile() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +InsertResourceFile( + SInt16 refNum, + RsrcChainLocation where); + + +/* + If the file is not currently in the resource chain, this returns resNotFound + Otherwise, the resource file is removed from the resource chain. +*/ +/* + * DetachResourceFile() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +DetachResourceFile(SInt16 refNum); + + +/* + Returns true if the resource file is already open and known by the Resource Manager (i.e., it is + either in the current resource chain or it's a detached resource file.) If it's in the resource + chain, the inChain Boolean is set to true on exit and true is returned. If it's an open file, but + the file is currently detached, inChain is set to false and true is returned. If the file is open, + the refNum to the file is returned. +*/ +/* + * FSpResourceFileAlreadyOpen() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 9.0 and later + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( Boolean ) +FSpResourceFileAlreadyOpen( + const FSSpec * resourceFile, + Boolean * inChain, + SInt16 * refNum) TWOWORDINLINE(0x7010, 0xA822); + + +/* + FSpOpenOrphanResFile should be used to open a resource file that is persistent across all contexts, + because using OpenResFile normally loads a map and all preloaded resources into the application + context. FSpOpenOrphanResFile loads everything into the system context and detaches the file + from the context in which it was opened. If the file is already in the resource chain and a new + instance is not opened, FSpOpenOrphanResFile will return a paramErr. + Use with care, as can and will fail if the map is very large or a lot of preload + resources exist. +*/ +/* + * FSpOpenOrphanResFile() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.0 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +FSpOpenOrphanResFile( + const FSSpec * spec, + SignedByte permission, + SInt16 * refNum); + + +/* + GetTopResourceFile returns the refNum of the top most resource map in the current resource chain. If + the resource chain is empty it returns resFNotFound. +*/ +/* + * GetTopResourceFile() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetTopResourceFile(SInt16 * refNum); + + +/* + GetNextResourceFile can be used to iterate over resource files in the resource chain. By passing a + valid refNum in curRefNum it will return in nextRefNum the refNum of the next file in + the chain. If curRefNum is not found in the resource chain, GetNextResourceFile returns resFNotFound. + When the end of the chain is reached GetNextResourceFile will return noErr and nextRefNum will be NIL. +*/ +/* + * GetNextResourceFile() + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.0.2 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +GetNextResourceFile( + SInt16 curRefNum, + SInt16 * nextRefNum); + + + +#if CALL_NOT_IN_CARBON +/* + * getnamedresource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( Handle ) +getnamedresource( + ResType theType, + const char * name); + + +/* + * get1namedresource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( Handle ) +get1namedresource( + ResType theType, + const char * name); + + +/* + * openrfperm() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( short ) +openrfperm( + const char * fileName, + short vRefNum, + char permission); + + +/* + * openresfile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( short ) +openresfile(const char * fileName); + + +/* + * createresfile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( void ) +createresfile(const char * fileName); + + +/* + * getresinfo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( void ) +getresinfo( + Handle theResource, + short * theID, + ResType * theType, + char * name); + + +/* + * setresinfo() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( void ) +setresinfo( + Handle theResource, + short theID, + const char * name); + + +/* + * addresource() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 7.1 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( void ) +addresource( + Handle theResource, + ResType theType, + short theID, + const char * name); + + +#endif /* CALL_NOT_IN_CARBON */ + +#if OLDROUTINENAMES +#define SizeResource(theResource) GetResourceSizeOnDisk(theResource) +#define MaxSizeRsrc(theResource) GetMaxResourceSize(theResource) +#define RmveResource(theResource) RemoveResource(theResource) +#endif /* OLDROUTINENAMES */ + +/* + * FSCreateResourceFile() + * + * Summary: + * Creates a new resource file. + * + * Discussion: + * This function creates a new file and initializes the specified + * named fork as an empty resource fork. This function allows for + * the creation of data fork only files which can be used for + * storing resources. Passing in a null name defaults to using the + * data fork. + * + * Parameters: + * + * parentRef: + * The directory where the file is to be created + * + * nameLength: + * Number of Unicode characters in the file's name + * + * name: + * A pointer to the Unicode name + * + * whichInfo: + * Which catalog info fields to set + * + * catalogInfo: + * The values for catalog info fields to set; may be NULL + * + * forkNameLength: + * The length of the fork name (in Unicode characters) + * + * forkName: + * The name of the fork to initialize (in Unicode); may be NULL + * + * newRef: + * A pointer to the FSRef for the new file; may be NULL + * + * newSpec: + * A pointer to the FSSpec for the new directory; may be NULL + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.3 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +FSCreateResourceFile( + const FSRef * parentRef, + UniCharCount nameLength, + const UniChar * name, + FSCatalogInfoBitmap whichInfo, + const FSCatalogInfo * catalogInfo, /* can be NULL */ + UniCharCount forkNameLength, + const UniChar * forkName, /* can be NULL */ + FSRef * newRef, /* can be NULL */ + FSSpec * newSpec); /* can be NULL */ + + + +/* + * FSCreateResourceFork() + * + * Summary: + * Creates the named forked and initializes it as an empty resource + * fork. + * + * Discussion: + * This function allows a resource fork to be added to an existing + * file. Passing in a null forkname will result in the data fork + * being used. If the named fork already exists this function does + * nothing and returns errFSForkExists. + * + * Parameters: + * + * ref: + * The file to add the fork to + * + * forkNameLength: + * The length of the fork name (in Unicode characters) + * + * forkName: + * The name of the fork to open (in Unicode); may be NULL + * + * flags: + * Pass in zero + * + * 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_C( OSErr ) +FSCreateResourceFork( + const FSRef * ref, + UniCharCount forkNameLength, + const UniChar * forkName, /* can be NULL */ + UInt32 flags); + + +/* + * FSOpenResourceFile() + * + * Summary: + * Opens the specified named fork as a resource fork. + * + * Discussion: + * This function allows any named fork of a file to be used for + * storing resources. Passing in a null forkname will result in the + * data fork being used. + * + * Parameters: + * + * ref: + * The file containing the fork to open + * + * forkNameLength: + * The length of the fork name (in Unicode characters) + * + * forkName: + * The name of the fork to open (in Unicode); may be NULL + * + * permissions: + * The access (read and/or write) you want + * + * refNum: + * On exit the reference number for accessing the open fork + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: in CarbonLib 1.3 and later + * Mac OS X: in version 10.0 and later + */ +EXTERN_API( OSErr ) +FSOpenResourceFile( + const FSRef * ref, + UniCharCount forkNameLength, + const UniChar * forkName, /* can be NULL */ + SInt8 permissions, + SInt16 * refNum); + + +/* + These typedefs were originally created for the Copland Resource Mangager +*/ +typedef short ResFileRefNum; +typedef short ResID; +typedef short ResAttributes; +typedef short ResFileAttributes; +#if CALL_NOT_IN_CARBON +/* + * SortResourceFile() + * + * Availability: + * Non-Carbon CFM: in InterfaceLib 9.2 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( void ) +SortResourceFile(short resFileRefNum) TWOWORDINLINE(0x7016, 0xA822); + + + + +#endif /* CALL_NOT_IN_CARBON */ + + +#ifdef PRAGMA_IMPORT_OFF +#pragma import off +#elif PRAGMA_IMPORT +#pragma import reset +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __RESOURCES__ */ + |