22ef7ae7517133ff493b0132673919f26d9c3bd9
[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 GUID database_id;
31 BOOL for_write;
32 struct SdbStringHashTable* string_lookup;
33 struct _DB* string_buffer;
34 } DB, *PDB;
35
36 typedef enum _PATH_TYPE {
37 DOS_PATH,
38 NT_PATH
39 } PATH_TYPE;
40
41
42 #ifdef __cplusplus
43 } // extern "C"
44 #endif
45
46 #endif // SDBTYPES_H