[NTOS:KE/x64] Handle NMI vs swapgs race condition
[reactos.git] / sdk / include / reactos / appcompat / sdbtypes.h
1 /*
2 * PROJECT: ReactOS Application compatibility module
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Sdb core definitions
5 * COPYRIGHT: Copyright 2013 Mislav Blažević
6 * Copyright 2015-2019 Mark Jansen (mark.jansen@reactos.org)
7 */
8
9 #ifndef SDBTYPES_H
10 #define SDBTYPES_H
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 typedef WORD TAG;
17 typedef DWORD TAGID;
18 typedef DWORD TAGREF;
19 typedef UINT64 QWORD;
20
21 #define TAGREF_NULL (0)
22 #define TAGREF_ROOT (0)
23
24 typedef struct _DB {
25 HANDLE file;
26 DWORD size;
27 BYTE* data;
28 TAGID stringtable;
29 DWORD write_iter;
30 DWORD major;
31 DWORD minor;
32 GUID database_id;
33 PCWSTR database_name;
34 BOOL for_write;
35 struct SdbStringHashTable* string_lookup;
36 struct _DB* string_buffer;
37 } DB, *PDB;
38
39 typedef enum _PATH_TYPE {
40 DOS_PATH,
41 NT_PATH
42 } PATH_TYPE;
43
44
45 #ifdef __cplusplus
46 } // extern "C"
47 #endif
48
49 #endif // SDBTYPES_H