summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/OSUtils.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/OSUtils.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/quicktime_win32/OSUtils.h')
-rw-r--r--common/quicktime_win32/OSUtils.h775
1 files changed, 775 insertions, 0 deletions
diff --git a/common/quicktime_win32/OSUtils.h b/common/quicktime_win32/OSUtils.h
new file mode 100644
index 0000000..ea44911
--- /dev/null
+++ b/common/quicktime_win32/OSUtils.h
@@ -0,0 +1,775 @@
+/*
+ File: OSUtils.h
+
+ Contains: OS Utilities 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 __OSUTILS__
+#define __OSUTILS__
+
+#ifndef __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+#ifndef __MIXEDMODE__
+#include <MixedMode.h>
+#endif
+
+/* HandToHand and other memory utilties were moved to MacMemory.h */
+#ifndef __MACMEMORY__
+#include <MacMemory.h>
+#endif
+
+/* GetTrapAddress and other trap table utilties were moved to Patches.h */
+#ifndef __PATCHES__
+#include <Patches.h>
+#endif
+
+/* Date and Time utilties were moved to DateTimeUtils.h */
+#ifndef __DATETIMEUTILS__
+#include <DateTimeUtils.h>
+#endif
+
+#ifndef __CFSTRING__
+#include <CFString.h>
+#endif
+
+#if !TARGET_OS_MAC
+#ifndef __ENDIAN__
+#include <Endian.h>
+#endif
+
+#endif /* !TARGET_OS_MAC */
+
+
+
+#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 {
+ useFree = 0,
+ useATalk = 1,
+ useAsync = 2,
+ useExtClk = 3, /*Externally clocked*/
+ useMIDI = 4
+};
+
+enum {
+ false32b = 0, /*24 bit addressing error*/
+ true32b = 1 /*32 bit addressing error*/
+};
+
+enum {
+ /* result types for RelString Call */
+ sortsBefore = -1, /*first string < second string*/
+ sortsEqual = 0, /*first string = second string*/
+ sortsAfter = 1 /*first string > second string*/
+};
+
+enum {
+ dummyType = 0,
+ vType = 1,
+ ioQType = 2,
+ drvQType = 3,
+ evType = 4,
+ fsQType = 5,
+ sIQType = 6,
+ dtQType = 7,
+ nmType = 8
+};
+
+typedef SignedByte QTypes;
+struct SysParmType {
+ UInt8 valid;
+ UInt8 aTalkA;
+ UInt8 aTalkB;
+ UInt8 config;
+ short portA;
+ short portB;
+ long alarm;
+ short font;
+ short kbdPrint;
+ short volClik;
+ short misc;
+};
+typedef struct SysParmType SysParmType;
+typedef SysParmType * SysPPtr;
+struct QElem {
+ struct QElem * qLink;
+ short qType;
+ short qData[1];
+};
+typedef struct QElem QElem;
+typedef QElem * QElemPtr;
+#if TARGET_OS_MAC
+struct QHdr {
+ volatile short qFlags;
+ volatile QElemPtr qHead;
+ volatile QElemPtr qTail;
+};
+typedef struct QHdr QHdr;
+typedef QHdr * QHdrPtr;
+#else
+/*
+ QuickTime 3.0
+ this version of QHdr contains the Mutex necessary for
+ non-mac non-interrupt code
+*/
+struct QHdr {
+ volatile short qFlags;
+ short pad;
+ long MutexID;
+ volatile QElemPtr qHead;
+ volatile QElemPtr qTail;
+};
+typedef struct QHdr QHdr;
+typedef QHdr * QHdrPtr;
+#endif /* TARGET_OS_MAC */
+
+typedef CALLBACK_API_REGISTER68K( void , DeferredTaskProcPtr, (long dtParam) );
+typedef REGISTER_UPP_TYPE(DeferredTaskProcPtr) DeferredTaskUPP;
+/*
+ * NewDeferredTaskUPP()
+ *
+ * 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( DeferredTaskUPP )
+NewDeferredTaskUPP(DeferredTaskProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppDeferredTaskProcInfo = 0x0000B802 }; /* register no_return_value Func(4_bytes:A1) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(DeferredTaskUPP) NewDeferredTaskUPP(DeferredTaskProcPtr userRoutine) { return (DeferredTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeferredTaskProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewDeferredTaskUPP(userRoutine) (DeferredTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDeferredTaskProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposeDeferredTaskUPP()
+ *
+ * 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 )
+DisposeDeferredTaskUPP(DeferredTaskUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeDeferredTaskUPP(DeferredTaskUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeDeferredTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeDeferredTaskUPP()
+ *
+ * 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 InvokeDeferredTaskUPP(__A1, __A0)
+#endif
+EXTERN_API_C( void )
+InvokeDeferredTaskUPP(
+ long dtParam,
+ DeferredTaskUPP userUPP) ONEWORDINLINE(0x4E90);
+#if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeDeferredTaskUPP(long dtParam, DeferredTaskUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppDeferredTaskProcInfo, dtParam); }
+ #else
+ #define InvokeDeferredTaskUPP(dtParam, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppDeferredTaskProcInfo, (dtParam))
+ #endif
+#endif
+
+#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
+ /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
+ #define NewDeferredTaskProc(userRoutine) NewDeferredTaskUPP(userRoutine)
+ #define CallDeferredTaskProc(userRoutine, dtParam) InvokeDeferredTaskUPP(dtParam, userRoutine)
+#endif /* CALL_NOT_IN_CARBON */
+
+struct DeferredTask {
+ volatile QElemPtr qLink;
+ short qType;
+ volatile short dtFlags;
+ DeferredTaskUPP dtAddr;
+ long dtParam;
+ long dtReserved;
+};
+typedef struct DeferredTask DeferredTask;
+typedef DeferredTask * DeferredTaskPtr;
+/*
+ In order for MachineLocation to be endian-safe, a new member
+ has been added to the 'u' union in the structure. You are
+ encouraged to use the new member instead of the old one.
+
+ If your code looked like this:
+
+ MachineLocation.u.dlsDelta = 1;
+
+ you should change it to this:
+
+ MachineLocation.u.dls.Delta = 1;
+
+ to be endian safe. The gmtDelta remains the same; the low 24-bits
+ are used. Remember that order of assignment DOES matter:
+
+ This will overwrite results:
+
+ MachineLocation.u.dls.Delta = 0xAA; // u = 0xAAGGGGGG; G=Garbage
+ MachineLocation.u.gmtDelta = 0xBBBBBB; // u = 0x00BBBBBB;
+
+ when in fact reversing the assignment would have preserved the values:
+
+ MachineLocation.u.gmtDelta = 0xBBBBBB; // u = 0x00BBBBBB;
+ MachineLocation.u.dls.Delta = 0xAA; // u = 0xAABBBBBB;
+*/
+#if TARGET_OS_MAC
+struct MachineLocation {
+ Fract latitude;
+ Fract longitude;
+ union {
+ #if TARGET_RT_BIG_ENDIAN
+ SInt8 dlsDelta;
+ #endif
+ long gmtDelta; /* use low 24-bits only */
+ struct {
+ #if TARGET_RT_LITTLE_ENDIAN
+ SInt8 pad[3];
+ #endif
+ SInt8 Delta; /* signed byte; daylight savings delta */
+ } dls;
+ } u;
+};
+typedef struct MachineLocation MachineLocation;
+#else
+/*
+ QuickTime 3.0:
+ Alignment of MachineLocation is weird. The union above used for delta
+ tends not to work on non-Mac compilers.
+*/
+struct MachineLocation {
+ Fract latitude;
+ Fract longitude;
+ BigEndianLong delta; /* high byte is daylight savings delta, low 24-bits is GMT delta */
+};
+typedef struct MachineLocation MachineLocation;
+#endif /* TARGET_OS_MAC */
+
+
+
+
+/*
+ * IsMetric()
+ *
+ * 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( Boolean )
+IsMetric(void) THREEWORDINLINE(0x3F3C, 0x0004, 0xA9ED);
+
+
+/*
+ * GetSysPPtr()
+ *
+ * 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( SysPPtr )
+GetSysPPtr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x01F8);
+
+
+
+/*
+ NOTE: SysBeep() has been moved to Sound.h.
+ We could not automatically #include Sound.h in this file
+ because Sound.h indirectly #include's OSUtils.h which
+ would make a circular include.
+*/
+/*
+ * DTInstall()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 DTInstall(__A0)
+#endif
+EXTERN_API( OSErr )
+DTInstall(DeferredTaskPtr dtTaskPtr) ONEWORDINLINE(0xA082);
+
+
+
+
+#if TARGET_CPU_PPC || !TARGET_OS_MAC
+#define GetMMUMode() ((SInt8)true32b)
+#define SwapMMUMode(x) (*(SInt8*)(x) = true32b)
+#else
+#if CALL_NOT_IN_CARBON
+/*
+ * GetMMUMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( SInt8 )
+GetMMUMode(void) TWOWORDINLINE(0x1EB8, 0x0CB2);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if CALL_NOT_IN_CARBON
+/*
+ * SwapMMUMode()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter SwapMMUMode(__A0)
+#endif
+EXTERN_API( void )
+SwapMMUMode(SInt8 * mode) THREEWORDINLINE(0x1010, 0xA05D, 0x1080);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#endif
+/*
+ * Delay()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter Delay(__A0, __A1)
+#endif
+EXTERN_API( void )
+Delay(
+ unsigned long numTicks,
+ unsigned long * finalTicks) TWOWORDINLINE(0xA03B, 0x2280);
+
+
+/*
+ * WriteParam()
+ *
+ * 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 )
+WriteParam(void);
+
+
+/*
+ * Enqueue()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter Enqueue(__A0, __A1)
+#endif
+EXTERN_API( void )
+Enqueue(
+ QElemPtr qElement,
+ QHdrPtr qHeader) ONEWORDINLINE(0xA96F);
+
+
+/*
+ * Dequeue()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 Dequeue(__A0, __A1)
+#endif
+EXTERN_API( OSErr )
+Dequeue(
+ QElemPtr qElement,
+ QHdrPtr qHeader) ONEWORDINLINE(0xA96E);
+
+
+
+/*
+ * SetCurrentA5()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 SetCurrentA5
+#endif
+EXTERN_API( long )
+SetCurrentA5(void) THREEWORDINLINE(0x200D, 0x2A78, 0x0904);
+
+
+/*
+ * SetA5()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 SetA5(__D0)
+#endif
+EXTERN_API( long )
+SetA5(long newA5) ONEWORDINLINE(0xC18D);
+
+
+/*
+ * InitUtil()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 InitUtil
+#endif
+EXTERN_API( OSErr )
+InitUtil(void) ONEWORDINLINE(0xA03F);
+
+
+
+#if !TARGET_CPU_68K
+/*
+ * MakeDataExecutable()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.5 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( void )
+MakeDataExecutable(
+ void * baseAddress,
+ unsigned long length);
+
+
+#endif /* !TARGET_CPU_68K */
+
+
+#if TARGET_CPU_68K
+#if CALL_NOT_IN_CARBON
+/*
+ * SwapInstructionCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SwapInstructionCache(Boolean cacheEnable);
+
+
+/*
+ * SwapDataCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( Boolean )
+SwapDataCache(Boolean cacheEnable);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#if CALL_NOT_IN_CARBON
+/*
+ * FlushInstructionCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FlushInstructionCache(void) TWOWORDINLINE(0x7001, 0xA098);
+
+
+/*
+ * FlushDataCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FlushDataCache(void) TWOWORDINLINE(0x7003, 0xA098);
+
+
+/*
+ * FlushCodeCache()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+EXTERN_API( void )
+FlushCodeCache(void) ONEWORDINLINE(0xA0BD);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+#endif /* TARGET_CPU_68K */
+
+#if CALL_NOT_IN_CARBON
+/*
+ * FlushCodeCacheRange()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 8.5 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 FlushCodeCacheRange(__A0, __A1)
+#endif
+EXTERN_API( OSErr )
+FlushCodeCacheRange(
+ void * address,
+ unsigned long count) TWOWORDINLINE(0x7009, 0xA098);
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+/*
+ * ReadLocation()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter ReadLocation(__A0)
+#endif
+EXTERN_API( void )
+ReadLocation(MachineLocation * loc) FOURWORDINLINE(0x203C, 0x000C, 0x00E4, 0xA051);
+
+
+
+/*
+ * WriteLocation()
+ *
+ * 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 && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter WriteLocation(__A0)
+#endif
+EXTERN_API( void )
+WriteLocation(const MachineLocation * loc) FOURWORDINLINE(0x203C, 0x000C, 0x00E4, 0xA052);
+
+
+
+/*
+ * TickCount()
+ *
+ * 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( UInt32 )
+TickCount(void) ONEWORDINLINE(0xA975);
+
+
+
+/*
+ * CSCopyUserName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFStringRef )
+CSCopyUserName(Boolean useShortName);
+
+
+/*
+ * CSCopyMachineName()
+ *
+ * Availability:
+ * Non-Carbon CFM: not available
+ * CarbonLib: in CarbonLib 1.5 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( CFStringRef )
+CSCopyMachineName(void);
+
+
+
+#if OLDROUTINENAMES
+#define IUMetric() IsMetric()
+#endif /* OLDROUTINENAMES */
+
+/*
+ NOTE: SysEnvirons is obsolete. You should be using Gestalt.
+*/
+/* Environs Equates */
+enum {
+ curSysEnvVers = 2 /*Updated to equal latest SysEnvirons version*/
+};
+
+struct SysEnvRec {
+ short environsVersion;
+ short machineType;
+ short systemVersion;
+ short processor;
+ Boolean hasFPU;
+ Boolean hasColorQD;
+ short keyBoardType;
+ short atDrvrVersNum;
+ short sysVRefNum;
+};
+typedef struct SysEnvRec SysEnvRec;
+enum {
+ /* Machine Types */
+ envMac = -1,
+ envXL = -2,
+ envMachUnknown = 0,
+ env512KE = 1,
+ envMacPlus = 2,
+ envSE = 3,
+ envMacII = 4,
+ envMacIIx = 5,
+ envMacIIcx = 6,
+ envSE30 = 7,
+ envPortable = 8,
+ envMacIIci = 9,
+ envMacIIfx = 11
+};
+
+enum {
+ /* CPU types */
+ envCPUUnknown = 0,
+ env68000 = 1,
+ env68010 = 2,
+ env68020 = 3,
+ env68030 = 4,
+ env68040 = 5
+};
+
+enum {
+ /* Keyboard types */
+ envUnknownKbd = 0,
+ envMacKbd = 1,
+ envMacAndPad = 2,
+ envMacPlusKbd = 3,
+ envAExtendKbd = 4,
+ envStandADBKbd = 5,
+ envPrtblADBKbd = 6,
+ envPrtblISOKbd = 7,
+ envStdISOADBKbd = 8,
+ envExtISOADBKbd = 9
+};
+
+#if CALL_NOT_IN_CARBON
+/*
+ * SysEnvirons()
+ *
+ * Availability:
+ * Non-Carbon CFM: in InterfaceLib 7.1 and later
+ * CarbonLib: not available
+ * Mac OS X: not available
+ */
+#if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
+#pragma parameter __D0 SysEnvirons(__D0, __A0)
+#endif
+EXTERN_API( OSErr )
+SysEnvirons(
+ short versionRequested,
+ SysEnvRec * theWorld) ONEWORDINLINE(0xA090);
+
+
+
+#endif /* CALL_NOT_IN_CARBON */
+
+
+
+
+#if PRAGMA_STRUCT_ALIGN
+ #pragma options align=reset
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(pop)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack()
+#endif
+
+#ifdef PRAGMA_IMPORT_OFF
+#pragma import off
+#elif PRAGMA_IMPORT
+#pragma import reset
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __OSUTILS__ */
+