mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 12:29:56 +00:00
Add NtcurrentThread, ALTERNATIVE_ARCHITECTURE_TYPE, KSYSTEM_TIME, KUSER_SHARED_DATA, REG_CREATED_NEW_KEY, REG_OPENED_EXISTING_KEY, KeRaiseIrqlToSynchLevel to DDK. Remove HANDLE_TABLE_ENTRY_INFO and HANDLE_TABLE_ENTRY from NTIFS. Add NT_PRODUCT_TYPE
svn path=/trunk/; revision=16078
This commit is contained in:
parent
10c1c40139
commit
469fa69ab7
7 changed files with 117 additions and 26 deletions
|
@ -13,6 +13,8 @@
|
||||||
#define PF_PAE_ENABLED 9
|
#define PF_PAE_ENABLED 9
|
||||||
#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
|
#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
|
||||||
|
|
||||||
|
#ifndef __USE_W32API
|
||||||
|
|
||||||
#ifndef __ASM__
|
#ifndef __ASM__
|
||||||
|
|
||||||
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
|
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
|
||||||
|
@ -71,6 +73,7 @@ typedef struct _KUSER_SHARED_DATA {
|
||||||
};
|
};
|
||||||
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||||
|
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Values for DosDeviceDriveType */
|
/* Values for DosDeviceDriveType */
|
||||||
|
|
|
@ -12,7 +12,7 @@ enum
|
||||||
DIRECTORY_CREATE_SUBDIRECTORY,
|
DIRECTORY_CREATE_SUBDIRECTORY,
|
||||||
DIRECTORY_ALL_ACCESS,
|
DIRECTORY_ALL_ACCESS,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* General type for status information
|
* General type for status information
|
||||||
|
@ -24,7 +24,7 @@ typedef enum _NT_PRODUCT_TYPE
|
||||||
NtProductLanManNt,
|
NtProductLanManNt,
|
||||||
NtProductServer
|
NtProductServer
|
||||||
} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
|
} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
|
||||||
|
#endif
|
||||||
typedef ULARGE_INTEGER TIME, *PTIME;
|
typedef ULARGE_INTEGER TIME, *PTIME;
|
||||||
|
|
||||||
#ifndef __USE_W32API
|
#ifndef __USE_W32API
|
||||||
|
|
|
@ -87,6 +87,8 @@ typedef struct _OBJECT_ATTRIBUTES
|
||||||
PVOID SecurityQualityOfService;
|
PVOID SecurityQualityOfService;
|
||||||
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct _HANDLE_TABLE_ENTRY_INFO {
|
typedef struct _HANDLE_TABLE_ENTRY_INFO {
|
||||||
ULONG AuditMask;
|
ULONG AuditMask;
|
||||||
} HANDLE_TABLE_ENTRY_INFO, *PHANDLE_TABLE_ENTRY_INFO;
|
} HANDLE_TABLE_ENTRY_INFO, *PHANDLE_TABLE_ENTRY_INFO;
|
||||||
|
@ -105,8 +107,6 @@ typedef struct _HANDLE_TABLE_ENTRY {
|
||||||
} u2;
|
} u2;
|
||||||
} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
|
} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
|
||||||
|
|
||||||
#endif /* __USE_W32API */
|
|
||||||
|
|
||||||
typedef struct _HANDLE_TABLE
|
typedef struct _HANDLE_TABLE
|
||||||
{
|
{
|
||||||
ULONG Flags;
|
ULONG Flags;
|
||||||
|
|
37
reactos/include/reactos/helper.h
Normal file
37
reactos/include/reactos/helper.h
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
#ifndef _HELPER_H
|
||||||
|
#define _HELPER_H
|
||||||
|
|
||||||
|
#define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b))
|
||||||
|
#define ROUNDDOWN(a,b) (((a)/(b))*(b))
|
||||||
|
#define ROUND_UP ROUNDUP
|
||||||
|
#define ROUND_DOWN ROUNDDOWN
|
||||||
|
#define PAGE_ROUND_DOWN(x) (((ULONG)x)&(~(PAGE_SIZE-1)))
|
||||||
|
#define PAGE_ROUND_UP(x) ( (((ULONG)x)%PAGE_SIZE) ? ((((ULONG)x)&(~(PAGE_SIZE-1)))+PAGE_SIZE) : ((ULONG)x) )
|
||||||
|
#define ABS_VALUE(V) (((V) < 0) ? -(V) : (V))
|
||||||
|
#define RtlRosMin(X,Y) (((X) < (Y))? (X) : (Y))
|
||||||
|
#define RtlRosMin3(X,Y,Z) (((X) < (Y)) ? RtlRosMin(X,Z) : RtlRosMin(Y,Z))
|
||||||
|
#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx at %s:%i\n",__FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
|
||||||
|
#define KEBUGCHECK(a) DbgPrint("KeBugCheck at %s:%i\n",__FILE__,__LINE__), KeBugCheck(a)
|
||||||
|
#define EXPORTED __declspec(dllexport)
|
||||||
|
#define IMPORTED __declspec(dllimport)
|
||||||
|
#define LIST_FOR_EACH(entry, head) \
|
||||||
|
for(entry = (head)->Flink; entry != (head); entry = entry->Flink)
|
||||||
|
#define LIST_FOR_EACH_SAFE(tmp_entry, head, ptr, type, field) \
|
||||||
|
for ((tmp_entry)=(head)->Flink; (tmp_entry)!=(head) && \
|
||||||
|
((ptr) = CONTAINING_RECORD(tmp_entry,type,field)) && \
|
||||||
|
((tmp_entry) = (tmp_entry)->Flink); )
|
||||||
|
#define OPTHDROFFSET(a) ((LPVOID)((BYTE *)a + \
|
||||||
|
((PIMAGE_DOS_HEADER)a)->e_lfanew + \
|
||||||
|
sizeof (IMAGE_NT_SIGNATURE) + \
|
||||||
|
sizeof (IMAGE_FILE_HEADER)))
|
||||||
|
#define TAG(A, B, C, D) (ULONG)(((A)<<0) + ((B)<<8) + ((C)<<16) + ((D)<<24))
|
||||||
|
#define RVA(m, b) ((ULONG)b + m)
|
||||||
|
#define NTSTAT_SEVERITY_SHIFT 30
|
||||||
|
#define NTSTAT_SEVERITY_MASK 0x00000003
|
||||||
|
#define NTSTAT_FACILITY_SHIFT 16
|
||||||
|
#define NTSTAT_FACILITY_MASK 0x00000FFF
|
||||||
|
#define NTSTAT_CUSTOMER_MASK 0x20000000
|
||||||
|
#define NT_SEVERITY(StatCode) (((StatCode) >> NTSTAT_SEVERITY_SHIFT) & NTSTAT_SEVERITY_MASK)
|
||||||
|
#define NT_FACILITY(StatCode) (((StatCode) >> NTSTAT_FACILITY_SHIFT) & NTSTAT_FACILITY_MASK)
|
||||||
|
#define NT_CUSTOMER(StatCode) ((StatCode) & NTSTAT_CUSTOMER_MASK)
|
||||||
|
#endif
|
|
@ -1250,25 +1250,6 @@ typedef struct _GENERATE_NAME_CONTEXT {
|
||||||
ULONG LastIndexValue;
|
ULONG LastIndexValue;
|
||||||
} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
|
} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
|
||||||
|
|
||||||
typedef struct _HANDLE_TABLE_ENTRY_INFO {
|
|
||||||
ULONG AuditMask;
|
|
||||||
} HANDLE_TABLE_ENTRY_INFO, *PHANDLE_TABLE_ENTRY_INFO;
|
|
||||||
|
|
||||||
typedef struct _HANDLE_TABLE_ENTRY {
|
|
||||||
union {
|
|
||||||
PVOID Object;
|
|
||||||
ULONG ObAttributes;
|
|
||||||
PHANDLE_TABLE_ENTRY_INFO InfoTable;
|
|
||||||
ULONG_PTR Value;
|
|
||||||
} u1;
|
|
||||||
union {
|
|
||||||
ULONG GrantedAccess;
|
|
||||||
USHORT GrantedAccessIndex;
|
|
||||||
LONG NextFreeTableEntry;
|
|
||||||
} u2;
|
|
||||||
USHORT CreatorBackTraceIndex;
|
|
||||||
} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
|
|
||||||
|
|
||||||
typedef struct _MAPPING_PAIR {
|
typedef struct _MAPPING_PAIR {
|
||||||
ULONGLONG Vcn;
|
ULONGLONG Vcn;
|
||||||
ULONGLONG Lcn;
|
ULONGLONG Lcn;
|
||||||
|
|
|
@ -122,9 +122,7 @@ typedef ULONG LOGICAL;
|
||||||
/*
|
/*
|
||||||
** Routines specific to this DDK
|
** Routines specific to this DDK
|
||||||
*/
|
*/
|
||||||
|
#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 )
|
||||||
#define TAG(_a, _b, _c, _d) (ULONG) \
|
|
||||||
(((_a) << 0) + ((_b) << 8) + ((_c) << 16) + ((_d) << 24))
|
|
||||||
|
|
||||||
static __inline struct _KPCR * KeGetCurrentKPCR(
|
static __inline struct _KPCR * KeGetCurrentKPCR(
|
||||||
VOID)
|
VOID)
|
||||||
|
@ -350,6 +348,63 @@ extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
|
||||||
|
|
||||||
extern NTOSAPI CCHAR KeNumberProcessors;
|
extern NTOSAPI CCHAR KeNumberProcessors;
|
||||||
|
|
||||||
|
#define PROCESSOR_FEATURE_MAX 64
|
||||||
|
|
||||||
|
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
|
||||||
|
{
|
||||||
|
StandardDesign,
|
||||||
|
NEC98x86,
|
||||||
|
EndAlternatives
|
||||||
|
} ALTERNATIVE_ARCHITECTURE_TYPE;
|
||||||
|
|
||||||
|
typedef struct _KSYSTEM_TIME
|
||||||
|
{
|
||||||
|
ULONG LowPart;
|
||||||
|
LONG High1Time;
|
||||||
|
LONG High2Time;
|
||||||
|
} KSYSTEM_TIME, *PKSYSTEM_TIME;
|
||||||
|
|
||||||
|
typedef struct _KUSER_SHARED_DATA
|
||||||
|
{
|
||||||
|
ULONG TickCountLowDeprecated;
|
||||||
|
ULONG TickCountMultiplier;
|
||||||
|
volatile KSYSTEM_TIME InterruptTime;
|
||||||
|
volatile KSYSTEM_TIME SystemTime;
|
||||||
|
volatile KSYSTEM_TIME TimeZoneBias;
|
||||||
|
USHORT ImageNumberLow;
|
||||||
|
USHORT ImageNumberHigh;
|
||||||
|
WCHAR NtSystemRoot[ 260 ];
|
||||||
|
ULONG MaxStackTraceDepth;
|
||||||
|
ULONG CryptoExponent;
|
||||||
|
ULONG TimeZoneId;
|
||||||
|
ULONG LargePageMinimum;
|
||||||
|
ULONG Reserved2[ 7 ];
|
||||||
|
NT_PRODUCT_TYPE NtProductType;
|
||||||
|
BOOLEAN ProductTypeIsValid;
|
||||||
|
ULONG NtMajorVersion;
|
||||||
|
ULONG NtMinorVersion;
|
||||||
|
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX];
|
||||||
|
ULONG Reserved1;
|
||||||
|
ULONG Reserved3;
|
||||||
|
volatile ULONG TimeSlip;
|
||||||
|
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;
|
||||||
|
LARGE_INTEGER SystemExpirationDate;
|
||||||
|
ULONG SuiteMask;
|
||||||
|
BOOLEAN KdDebuggerEnabled;
|
||||||
|
volatile ULONG ActiveConsoleId;
|
||||||
|
volatile ULONG DismountCount;
|
||||||
|
ULONG ComPlusPackage;
|
||||||
|
ULONG LastSystemRITEventTickCount;
|
||||||
|
ULONG NumberOfPhysicalPages;
|
||||||
|
BOOLEAN SafeBootMode;
|
||||||
|
ULONG TraceLogging;
|
||||||
|
ULONGLONG Fill0;
|
||||||
|
ULONGLONG SystemCall[4];
|
||||||
|
union {
|
||||||
|
volatile KSYSTEM_TIME TickCount;
|
||||||
|
volatile ULONG64 TickCountQuad;
|
||||||
|
};
|
||||||
|
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** IRP function codes
|
** IRP function codes
|
||||||
|
@ -3393,6 +3448,10 @@ typedef enum _KEY_SET_INFORMATION_CLASS {
|
||||||
MaxKeySetInfoClass
|
MaxKeySetInfoClass
|
||||||
} KEY_SET_INFORMATION_CLASS;
|
} KEY_SET_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
#define REG_CREATED_NEW_KEY 0x00000001L
|
||||||
|
#define REG_OPENED_EXISTING_KEY 0x00000002L
|
||||||
|
|
||||||
|
|
||||||
/* KEY_VALUE_Xxx.Type */
|
/* KEY_VALUE_Xxx.Type */
|
||||||
|
|
||||||
#define REG_NONE 0
|
#define REG_NONE 0
|
||||||
|
@ -8401,6 +8460,12 @@ DDKAPI
|
||||||
KeRaiseIrqlToDpcLevel(
|
KeRaiseIrqlToDpcLevel(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
|
NTHALAPI
|
||||||
|
KIRQL
|
||||||
|
DDKAPI
|
||||||
|
KeRaiseIrqlToSynchLevel(
|
||||||
|
VOID);
|
||||||
|
|
||||||
#define KeLowerIrql(a) KfLowerIrql(a)
|
#define KeLowerIrql(a) KfLowerIrql(a)
|
||||||
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,11 @@ typedef enum _SECTION_INHERIT {
|
||||||
ViewShare = 1,
|
ViewShare = 1,
|
||||||
ViewUnmap = 2
|
ViewUnmap = 2
|
||||||
} SECTION_INHERIT;
|
} SECTION_INHERIT;
|
||||||
|
typedef enum _NT_PRODUCT_TYPE {
|
||||||
|
NtProductWinNt = 1,
|
||||||
|
NtProductLanManNt,
|
||||||
|
NtProductServer
|
||||||
|
} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
|
||||||
#if !defined(_NTSECAPI_H)
|
#if !defined(_NTSECAPI_H)
|
||||||
typedef struct _OBJECT_ATTRIBUTES {
|
typedef struct _OBJECT_ATTRIBUTES {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
|
|
Loading…
Reference in a new issue