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 ULARGE_INTEGER InterruptTime;
19 volatile ULARGE_INTEGER SystemTime;
20 volatile ULARGE_INTEGER 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__)
62 #define KI_USER_SHARED_DATA (0xFFDF0000)
67 #define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)
70 #define SharedUserData ((KUSER_SHARED_DATA * const)USER_SHARED_DATA)
71 #endif /* !__USE_W32API */
75 #endif /* __INCLUDE_NAPI_SHARED_DATA_H */