1 #ifndef __INCLUDE_NAPI_SHARED_DATA_H
2 #define __INCLUDE_NAPI_SHARED_DATA_H
4 #define PROCESSOR_FEATURES_MAX 64
6 typedef enum _ALTERNATIVE_ARCHITECTURE_TYPE
11 } ALTERNATIVE_ARCHITECTURE_TYPE
;
14 typedef struct _KUSER_SHARED_DATA
16 volatile ULONG TickCountLow
;
17 ULONG TickCountMultiplier
;
18 volatile KSYSTEM_TIME InterruptTime
;
19 volatile KSYSTEM_TIME SystemTime
;
20 volatile KSYSTEM_TIME TimeZoneBias
;
21 USHORT ImageNumberLow
;
22 USHORT ImageNumberHigh
;
23 WCHAR NtSystemRoot
[260];
27 UCHAR DosDeviceDriveType
[32];
28 NT_PRODUCT_TYPE NtProductType
;
29 BOOLEAN ProductTypeIsValid
;
32 BOOLEAN ProcessorFeatures
[PROCESSOR_FEATURES_MAX
];
34 // NT5 / Win2k specific ??
37 volatile ULONG TimeSlip
;
38 ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture
;
42 UCHAR RemoteBootServerPath
[260];
44 BOOLEAN KdDebuggerEnabled
;
45 } KUSER_SHARED_DATA
, *PKUSER_SHARED_DATA
;
47 /* Values for DosDeviceDriveType */
48 #define DOSDEVICE_DRIVE_UNKNOWN 0
49 #define DOSDEVICE_DRIVE_CALCULATE 1
50 #define DOSDEVICE_DRIVE_REMOVABLE 2
51 #define DOSDEVICE_DRIVE_FIXED 3
52 #define DOSDEVICE_DRIVE_REMOTE 4
53 #define DOSDEVICE_DRIVE_CDROM 5
54 #define DOSDEVICE_DRIVE_RAMDISK 6
57 #define KERNEL_SHARED_DATA (0xFFDF0000)
58 #define USER_SHARED_DATA (0x7FFE0000)
60 #if defined(__NTOSKRNL__) || defined(__NTDRIVER__) || defined(__NTHAL__)
61 #define KI_USER_SHARED_DATA (0xFFDF0000)
62 #define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)
64 #define SharedUserData ((KUSER_SHARED_DATA * const)USER_SHARED_DATA)
68 #endif /* __INCLUDE_NAPI_SHARED_DATA_H */