diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/quicktime_win32/MultiprocessingInfo.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/quicktime_win32/MultiprocessingInfo.h')
| -rw-r--r-- | common/quicktime_win32/MultiprocessingInfo.h | 582 |
1 files changed, 582 insertions, 0 deletions
diff --git a/common/quicktime_win32/MultiprocessingInfo.h b/common/quicktime_win32/MultiprocessingInfo.h new file mode 100644 index 0000000..482fd59 --- /dev/null +++ b/common/quicktime_win32/MultiprocessingInfo.h @@ -0,0 +1,582 @@ +/* + File: MultiprocessingInfo.h + + Contains: Multiprocessing Information interfaces + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 1996-2001 by Apple Computer, Inc. and (c) 1995-1997 DayStar Digital, Inc. + + Bugs?: For bug reports, consult the following page on + the World Wide Web: + + http://developer.apple.com/bugreporter/ + +*/ + +/* + ========================================================================================================================== + *** WARNING: You must properly check the availability of MP services before calling them! + See the section titled "Checking API Availability". + ========================================================================================================================== +*/ + + +#ifndef __MULTIPROCESSINGINFO__ +#define __MULTIPROCESSINGINFO__ + +#ifndef __MACTYPES__ +#include <MacTypes.h> +#endif + +#ifndef __MULTIPROCESSING__ +#include <Multiprocessing.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=power +#elif PRAGMA_STRUCT_PACKPUSH + #pragma pack(push, 2) +#elif PRAGMA_STRUCT_PACK + #pragma pack(2) +#endif + +/* + ========================================================================================================================== + This is the header file for version 2.3 of the Mac OS multiprocessing information support. + ========================================================================================================================== +*/ + + +/* + ========================================================================================================================== + The following services are new in version 2.1: + MPGetNextTaskID + MPGetNextCpuID + ========================================================================================================================== +*/ + +/* + ========================================================================================================================== + The following services are new in version 2.2: + MPGetPageSizeClasses + MPGetPageSize + MPGetNextAreaID + ========================================================================================================================== +*/ + +/* + ========================================================================================================================== + The following services are new in version 2.3: + MPGetNextCoherenceID + MPGetNextProcessID + MPGetNextAddressSpaceID + MPGetNextQueueID + MPGetNextSemaphoreID + MPGetNextCriticalRegionID + MPGetNextTimerID + MPGetNextEventID + MPGetNextNotificationID + MPGetNextConsoleID + ========================================================================================================================== +*/ + + + +/* + . + ========================================================================================================================== + Page size Services + ================== +*/ + +#if CALL_NOT_IN_CARBON +/* + * MPGetPageSizeClasses() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( MPPageSizeClass ) +MPGetPageSizeClasses(void); + + +/* The number of page size classes, 1 to n.*/ +#endif /* CALL_NOT_IN_CARBON */ + +/* -------------------------------------------------------------------------------------------*/ +#if CALL_NOT_IN_CARBON +/* + * MPGetPageSize() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( ByteCount ) +MPGetPageSize(MPPageSizeClass pageClass); + + +/* The page size in bytes.*/ +#endif /* CALL_NOT_IN_CARBON */ + + +/* + . + ========================================================================================================================== + ID Iterator Services + ========================== +*/ + +#if CALL_NOT_IN_CARBON +/* + * MPGetNextCoherenceID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextCoherenceID(MPCoherenceID * coherenceID); + + +/* + * MPGetNextCpuID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextCpuID( + MPCoherenceID owningCoherenceID, + MPCpuID * cpuID); + + +/* + * MPGetNextProcessID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextProcessID(MPProcessID * processID); + + +/* + * MPGetNextAddressSpaceID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextAddressSpaceID( + MPProcessID owningProcessID, + MPAddressSpaceID * addressSpaceID); + + +/* + * MPGetNextTaskID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextTaskID( + MPProcessID owningProcessID, + MPTaskID * taskID); + + +/* + * MPGetNextQueueID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextQueueID( + MPProcessID owningProcessID, + MPQueueID * queueID); + + +/* + * MPGetNextSemaphoreID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextSemaphoreID( + MPProcessID owningProcessID, + MPSemaphoreID * semaphoreID); + + +/* + * MPGetNextCriticalRegionID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextCriticalRegionID( + MPProcessID owningProcessID, + MPCriticalRegionID * criticalRegionID); + + +/* + * MPGetNextTimerID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextTimerID( + MPProcessID owningProcessID, + MPTimerID * timerID); + + +/* + * MPGetNextEventID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextEventID( + MPProcessID owningProcessID, + MPEventID * eventID); + + +/* + * MPGetNextNotificationID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextNotificationID( + MPProcessID owningProcessID, + MPNotificationID * notificationID); + + +#endif /* CALL_NOT_IN_CARBON */ + +#if CALL_NOT_IN_CARBON +/* + * MPGetNextAreaID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API( OSStatus ) +MPGetNextAreaID( + MPAddressSpaceID owningSpaceID, + MPAreaID * areaID); + + +#endif /* CALL_NOT_IN_CARBON */ + +#if CALL_NOT_IN_CARBON +/* + * MPGetNextConsoleID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextConsoleID(MPConsoleID * consoleID); + + + + +/* -------------------------------------------------------------------------------------------*/ + + +/* + * MPGetNextID() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNextID( + MPOpaqueIDClass kind, + MPOpaqueID * id); + + + + +/* + . + ========================================================================================================================== + Object Information Services + =========================== +*/ + + +/* + ---------------------------------------------------------------------------------------------- + ! The implementation of MPGetObjectInfo assumes that all info records are in 4 byte multiples. +*/ + + +#endif /* CALL_NOT_IN_CARBON */ + +enum { + /* The version of the MPAreaInfo structure requested.*/ + kMPQueueInfoVersion = 1L | (kOpaqueQueueID << 16), + kMPSemaphoreInfoVersion = 1L | (kOpaqueSemaphoreID << 16), + kMPEventInfoVersion = 1L | (kOpaqueEventID << 16), + kMPCriticalRegionInfoVersion = 1L | (kOpaqueCriticalRegionID << 16), + kMPNotificationInfoVersion = 1L | (kOpaqueNotificationID << 16), + kMPAddressSpaceInfoVersion = 1L | (kOpaqueAddressSpaceID << 16) +}; + + +struct MPQueueInfo { + PBVersion version; /* Version of the data structure requested*/ + + MPProcessID processID; /* Owning process ID*/ + OSType queueName; /* Queue name*/ + + ItemCount nWaiting; + MPTaskID waitingTaskID; /* First waiting task.*/ + + ItemCount nMessages; + ItemCount nReserved; + + void * p1; /* First message parameters...*/ + void * p2; + void * p3; +}; +typedef struct MPQueueInfo MPQueueInfo; +struct MPSemaphoreInfo { + PBVersion version; /* Version of the data structure requested*/ + + MPProcessID processID; /* Owning process ID*/ + OSType semaphoreName; /* Semaphore name*/ + + ItemCount nWaiting; + MPTaskID waitingTaskID; /* First waiting task.*/ + + ItemCount maximum; + ItemCount count; +}; +typedef struct MPSemaphoreInfo MPSemaphoreInfo; +struct MPEventInfo { + PBVersion version; /* Version of the data structure requested*/ + + MPProcessID processID; /* Owning process ID*/ + OSType eventName; /* Event name*/ + + ItemCount nWaiting; + MPTaskID waitingTaskID; /* First waiting task.*/ + + MPEventFlags events; +}; +typedef struct MPEventInfo MPEventInfo; +struct MPCriticalRegionInfo { + PBVersion version; /* Version of the data structure requested*/ + + MPProcessID processID; /* Owning process ID*/ + OSType regionName; /* Critical region name*/ + + ItemCount nWaiting; + MPTaskID waitingTaskID; /* First waiting task.*/ + + MPTaskID owningTask; + ItemCount count; +}; +typedef struct MPCriticalRegionInfo MPCriticalRegionInfo; +struct MPNotificationInfo { + PBVersion version; /* Version of the data structure requested*/ + + MPProcessID processID; /* Owning process ID*/ + OSType notificationName; /* Notification name*/ + + MPQueueID queueID; /* Queue to notify.*/ + void * p1; + void * p2; + void * p3; + + MPEventID eventID; /* Event to set.*/ + MPEventFlags events; + + MPSemaphoreID semaphoreID; /* Sempahore to signal. */ +}; +typedef struct MPNotificationInfo MPNotificationInfo; +struct MPAddressSpaceInfo { + PBVersion version; /* Version of the data structure requested*/ + + MPProcessID processID; /* Owning process ID*/ + MPCoherenceID groupID; /* Related coherence group.*/ + ItemCount nTasks; /* Number of tasks in this space.*/ + UInt32 vsid[16]; /* Segment register VSIDs.*/ +}; +typedef struct MPAddressSpaceInfo MPAddressSpaceInfo; +/* *** We should put the task info call here instead of in MPExtractTaskState.*/ + + +#if CALL_NOT_IN_CARBON +/* + * MPGetQueueInfo() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetQueueInfo( + MPQueueID id, + PBVersion version, + MPQueueInfo * info_o); + + +/* + * MPGetSemaphoreInfo() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetSemaphoreInfo( + MPSemaphoreID id, + PBVersion version, + MPSemaphoreInfo * info_o); + + +/* + * MPGetEventInfo() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetEventInfo( + MPEventID id, + PBVersion version, + MPEventInfo * info_o); + + +/* + * MPGetCriticalRegionInfo() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetCriticalRegionInfo( + MPCriticalRegionID id, + PBVersion version, + MPCriticalRegionInfo * info_o); + + +/* + * MPGetNotificationInfo() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetNotificationInfo( + MPNotificationID id, + PBVersion version, + MPNotificationInfo * info_o); + + +/* + * MPGetAddressSpaceInfo() + * + * Availability: + * Non-Carbon CFM: in MPDiagnostics 2.3 and later + * CarbonLib: not available + * Mac OS X: not available + */ +EXTERN_API_C( OSStatus ) +MPGetAddressSpaceInfo( + MPAddressSpaceID id, + PBVersion version, + MPAddressSpaceInfo * info_o); + + + +/* ==========================================================================================================================*/ + + + +#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 /* __MULTIPROCESSINGINFO__ */ + |