mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 04:20:46 +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_XMMI64_INSTRUCTIONS_AVAILABLE 10
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
||||
#ifndef __ASM__
|
||||
|
||||
typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
|
||||
|
@ -71,6 +73,7 @@ typedef struct _KUSER_SHARED_DATA {
|
|||
};
|
||||
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Values for DosDeviceDriveType */
|
||||
|
|
|
@ -12,7 +12,7 @@ enum
|
|||
DIRECTORY_CREATE_SUBDIRECTORY,
|
||||
DIRECTORY_ALL_ACCESS,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* General type for status information
|
||||
|
@ -24,7 +24,7 @@ typedef enum _NT_PRODUCT_TYPE
|
|||
NtProductLanManNt,
|
||||
NtProductServer
|
||||
} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
|
||||
|
||||
#endif
|
||||
typedef ULARGE_INTEGER TIME, *PTIME;
|
||||
|
||||
#ifndef __USE_W32API
|
||||
|
|
|
@ -87,6 +87,8 @@ typedef struct _OBJECT_ATTRIBUTES
|
|||
PVOID SecurityQualityOfService;
|
||||
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct _HANDLE_TABLE_ENTRY_INFO {
|
||||
ULONG AuditMask;
|
||||
} HANDLE_TABLE_ENTRY_INFO, *PHANDLE_TABLE_ENTRY_INFO;
|
||||
|
@ -105,8 +107,6 @@ typedef struct _HANDLE_TABLE_ENTRY {
|
|||
} u2;
|
||||
} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
|
||||
|
||||
#endif /* __USE_W32API */
|
||||
|
||||
typedef struct _HANDLE_TABLE
|
||||
{
|
||||
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;
|
||||
} 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 {
|
||||
ULONGLONG Vcn;
|
||||
ULONGLONG Lcn;
|
||||
|
|
|
@ -122,9 +122,7 @@ typedef ULONG LOGICAL;
|
|||
/*
|
||||
** Routines specific to this DDK
|
||||
*/
|
||||
|
||||
#define TAG(_a, _b, _c, _d) (ULONG) \
|
||||
(((_a) << 0) + ((_b) << 8) + ((_c) << 16) + ((_d) << 24))
|
||||
#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 )
|
||||
|
||||
static __inline struct _KPCR * KeGetCurrentKPCR(
|
||||
VOID)
|
||||
|
@ -350,6 +348,63 @@ extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
|
|||
|
||||
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
|
||||
|
@ -3393,6 +3448,10 @@ typedef enum _KEY_SET_INFORMATION_CLASS {
|
|||
MaxKeySetInfoClass
|
||||
} KEY_SET_INFORMATION_CLASS;
|
||||
|
||||
#define REG_CREATED_NEW_KEY 0x00000001L
|
||||
#define REG_OPENED_EXISTING_KEY 0x00000002L
|
||||
|
||||
|
||||
/* KEY_VALUE_Xxx.Type */
|
||||
|
||||
#define REG_NONE 0
|
||||
|
@ -8401,6 +8460,12 @@ DDKAPI
|
|||
KeRaiseIrqlToDpcLevel(
|
||||
VOID);
|
||||
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
DDKAPI
|
||||
KeRaiseIrqlToSynchLevel(
|
||||
VOID);
|
||||
|
||||
#define KeLowerIrql(a) KfLowerIrql(a)
|
||||
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
||||
|
||||
|
|
|
@ -52,6 +52,11 @@ typedef enum _SECTION_INHERIT {
|
|||
ViewShare = 1,
|
||||
ViewUnmap = 2
|
||||
} SECTION_INHERIT;
|
||||
typedef enum _NT_PRODUCT_TYPE {
|
||||
NtProductWinNt = 1,
|
||||
NtProductLanManNt,
|
||||
NtProductServer
|
||||
} NT_PRODUCT_TYPE, *PNT_PRODUCT_TYPE;
|
||||
#if !defined(_NTSECAPI_H)
|
||||
typedef struct _OBJECT_ATTRIBUTES {
|
||||
ULONG Length;
|
||||
|
|
Loading…
Reference in a new issue