233 lines
6.1 KiB
C
233 lines
6.1 KiB
C
// ******************************************************************
|
|
// *
|
|
// * proj : OpenXDK
|
|
// *
|
|
// * desc : Open Source XBox Development Kit
|
|
// *
|
|
// * file : ex.h
|
|
// *
|
|
// * note : XBox Kernel *Executive* Declarations
|
|
// *
|
|
// ******************************************************************
|
|
#ifndef XBOXKRNL_EX_H
|
|
#define XBOXKRNL_EX_H
|
|
|
|
XBSYSAPI EXPORTNUM(12) NTSTATUS NTAPI ExAcquireReadWriteLockExclusive
|
|
(
|
|
IN PERWLOCK ReadWriteLock
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(13) NTSTATUS NTAPI ExAcquireReadWriteLockShared
|
|
(
|
|
IN PERWLOCK ReadWriteLock
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * ExAllocatePool
|
|
// ******************************************************************
|
|
// *
|
|
// * Allocates pool memory
|
|
// *
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(14) PVOID NTAPI ExAllocatePool
|
|
(
|
|
IN SIZE_T NumberOfBytes
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * ExAllocatePoolWithTag
|
|
// ******************************************************************
|
|
// *
|
|
// * Allocates pool memory with a tag
|
|
// *
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(15) PVOID NTAPI ExAllocatePoolWithTag
|
|
(
|
|
IN SIZE_T NumberOfBytes,
|
|
IN ULONG Tag
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(16) OBJECT_TYPE ExEventObjectType;
|
|
|
|
// ******************************************************************
|
|
// * ExFreePool
|
|
// ******************************************************************
|
|
// *
|
|
// * Deallocates a block of pool memory
|
|
// *
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(17) VOID NTAPI ExFreePool
|
|
(
|
|
IN PVOID P
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * 0x0012 - ExInitializeReadWriteLock()
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(18) VOID NTAPI ExInitializeReadWriteLock
|
|
(
|
|
IN PERWLOCK ReadWriteLock
|
|
);
|
|
|
|
// Source:APILogger - Uncertain
|
|
XBSYSAPI EXPORTNUM(19) LARGE_INTEGER NTAPI ExInterlockedAddLargeInteger
|
|
(
|
|
IN OUT PLARGE_INTEGER Addend,
|
|
IN LARGE_INTEGER Increment,
|
|
IN OUT PKSPIN_LOCK Lock
|
|
);
|
|
|
|
// Source:ReactOS
|
|
XBSYSAPI EXPORTNUM(20) VOID FASTCALL ExInterlockedAddLargeStatistic
|
|
(
|
|
IN PLARGE_INTEGER Addend,
|
|
IN ULONG Increment
|
|
);
|
|
|
|
// Source:ReactOS
|
|
XBSYSAPI EXPORTNUM(21) LONGLONG FASTCALL ExInterlockedCompareExchange64
|
|
(
|
|
IN OUT PLONGLONG Destination,
|
|
IN PLONGLONG Exchange,
|
|
IN PLONGLONG Comparand,
|
|
IN PKSPIN_LOCK Lock
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(22) OBJECT_TYPE ExMutantObjectType;
|
|
|
|
// ******************************************************************
|
|
// * ExQueryPoolBlockSize
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(23) ULONG NTAPI ExQueryPoolBlockSize
|
|
(
|
|
IN PVOID PoolBlock
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * 0x0018 - ExQueryNonVolatileSetting()
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(24) NTSTATUS NTAPI ExQueryNonVolatileSetting
|
|
(
|
|
IN DWORD ValueIndex,
|
|
OUT DWORD *Type,
|
|
OUT PVOID Value,
|
|
IN SIZE_T ValueLength,
|
|
OUT PSIZE_T ResultLength OPTIONAL
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * ExReadWriteRefurbInfo
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(25) NTSTATUS NTAPI ExReadWriteRefurbInfo
|
|
(
|
|
IN OUT PXBOX_REFURB_INFO pRefurbInfo,
|
|
IN ULONG dwBufferSize,
|
|
IN BOOLEAN bIsWriteMode
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(26) VOID NTAPI ExRaiseException
|
|
(
|
|
IN PEXCEPTION_RECORD ExceptionRecord
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(27) VOID NTAPI ExRaiseStatus
|
|
(
|
|
IN NTSTATUS Status
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(28) NTSTATUS NTAPI ExReleaseReadWriteLock
|
|
(
|
|
IN PERWLOCK ReadWriteLock
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * 0x001D - ExSaveNonVolatileSetting()
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(29) NTSTATUS NTAPI ExSaveNonVolatileSetting
|
|
(
|
|
IN DWORD ValueIndex,
|
|
IN DWORD Type,
|
|
IN PVOID Value,
|
|
IN SIZE_T ValueLength
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(30) OBJECT_TYPE ExSemaphoreObjectType;
|
|
|
|
XBSYSAPI EXPORTNUM(31) OBJECT_TYPE ExTimerObjectType;
|
|
|
|
// ******************************************************************
|
|
// * 0x0020 - ExfInterlockedInsertHeadList()
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(32) PLIST_ENTRY FASTCALL ExfInterlockedInsertHeadList
|
|
(
|
|
IN PLIST_ENTRY ListHead,
|
|
IN PLIST_ENTRY ListEntry
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * 0x0021 - ExfInterlockedInsertTailList()
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(33) PLIST_ENTRY FASTCALL ExfInterlockedInsertTailList
|
|
(
|
|
IN PLIST_ENTRY ListHead,
|
|
IN PLIST_ENTRY ListEntry
|
|
);
|
|
|
|
// ******************************************************************
|
|
// * 0x0022 - ExfInterlockedRemoveHeadList()
|
|
// ******************************************************************
|
|
XBSYSAPI EXPORTNUM(34) PLIST_ENTRY FASTCALL ExfInterlockedRemoveHeadList
|
|
(
|
|
IN PLIST_ENTRY ListHead
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(51) LONG FASTCALL KRNL(InterlockedCompareExchange)
|
|
(
|
|
IN OUT volatile PLONG Destination,
|
|
IN LONG Exchange,
|
|
IN LONG Comparand
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(52) LONG FASTCALL KRNL(InterlockedDecrement)
|
|
(
|
|
IN OUT PLONG Addend
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(53) LONG FASTCALL KRNL(InterlockedIncrement)
|
|
(
|
|
IN OUT PLONG Addend
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(54) LONG FASTCALL KRNL(InterlockedExchange)
|
|
(
|
|
IN volatile PLONG Destination,
|
|
IN LONG Value
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(55) LONG FASTCALL KRNL(InterlockedExchangeAdd)
|
|
(
|
|
IN volatile PLONG Addend,
|
|
IN LONG Value
|
|
);
|
|
|
|
// Dxbx Note : The Xbox1 SINGLE_LIST strucures are the same as in WinNT
|
|
XBSYSAPI EXPORTNUM(56) SINGLE_LIST_ENTRY * FASTCALL KRNL(InterlockedFlushSList)
|
|
(
|
|
IN PSLIST_HEADER ListHead
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(57) SLIST_ENTRY * FASTCALL KRNL(InterlockedPopEntrySList)
|
|
(
|
|
IN PSLIST_HEADER ListHead
|
|
);
|
|
|
|
XBSYSAPI EXPORTNUM(58) SLIST_ENTRY * FASTCALL KRNL(InterlockedPushEntrySList)
|
|
(
|
|
IN PSLIST_HEADER ListHead,
|
|
IN PSLIST_ENTRY ListEntry
|
|
);
|
|
|
|
#endif
|
|
|
|
|