xref: /reactos/sdk/tools/mkhive/registry.h (revision fc35f6eb)
1c2c66affSColin Finck /*
2c2c66affSColin Finck  * COPYRIGHT:       See COPYING in the top level directory
3c2c66affSColin Finck  * PROJECT:         ReactOS hive maker
4c2c66affSColin Finck  * FILE:            tools/mkhive/registry.h
5c2c66affSColin Finck  * PURPOSE:         Registry code
6c2c66affSColin Finck  */
7c2c66affSColin Finck 
8c2c66affSColin Finck #pragma once
9c2c66affSColin Finck 
1084d2264dSHermès Bélusca-Maïto typedef struct _HIVE_LIST_ENTRY
1184d2264dSHermès Bélusca-Maïto {
1284d2264dSHermès Bélusca-Maïto     PCSTR   HiveName;
1384d2264dSHermès Bélusca-Maïto     PCWSTR  HiveRegistryPath;
1484d2264dSHermès Bélusca-Maïto     PCMHIVE CmHive;
1584d2264dSHermès Bélusca-Maïto     PUCHAR  SecurityDescriptor;
1684d2264dSHermès Bélusca-Maïto     ULONG   SecurityDescriptorLength;
1784d2264dSHermès Bélusca-Maïto } HIVE_LIST_ENTRY, *PHIVE_LIST_ENTRY;
1884d2264dSHermès Bélusca-Maïto 
1984d2264dSHermès Bélusca-Maïto #define MAX_NUMBER_OF_REGISTRY_HIVES    7
2084d2264dSHermès Bélusca-Maïto extern HIVE_LIST_ENTRY RegistryHives[];
21c2c66affSColin Finck 
22c2c66affSColin Finck #define ERROR_SUCCESS                    0L
23*fc35f6ebSHermès Bélusca-Maïto #define ERROR_INVALID_FUNCTION           1L
24c2c66affSColin Finck #define ERROR_FILE_NOT_FOUND             2L
25*fc35f6ebSHermès Bélusca-Maïto #define ERROR_ACCESS_DENIED              5L
26*fc35f6ebSHermès Bélusca-Maïto #define ERROR_NOT_ENOUGH_MEMORY          8L
27*fc35f6ebSHermès Bélusca-Maïto #define ERROR_GEN_FAILURE                31L
28c2c66affSColin Finck #define ERROR_INVALID_PARAMETER          87L
29*fc35f6ebSHermès Bélusca-Maïto // #define ERROR_MORE_DATA                  234L
30*fc35f6ebSHermès Bélusca-Maïto // #define ERROR_NO_MORE_ITEMS              259L
31*fc35f6ebSHermès Bélusca-Maïto #define ERROR_NO_LOG_SPACE               1019L
32*fc35f6ebSHermès Bélusca-Maïto #define ERROR_NO_SYSTEM_RESOURCES        1450L
33c2c66affSColin Finck 
34c2c66affSColin Finck #define REG_NONE                           0
35c2c66affSColin Finck #define REG_SZ                             1
36c2c66affSColin Finck #define REG_EXPAND_SZ                      2
37c2c66affSColin Finck #define REG_BINARY                         3
38c2c66affSColin Finck #define REG_DWORD                          4
39c2c66affSColin Finck #define REG_DWORD_LITTLE_ENDIAN            4
40c2c66affSColin Finck #define REG_DWORD_BIG_ENDIAN               5
41c2c66affSColin Finck #define REG_LINK                           6
42c2c66affSColin Finck #define REG_MULTI_SZ                       7
43c2c66affSColin Finck #define REG_RESOURCE_LIST                  8
44c2c66affSColin Finck #define REG_FULL_RESOURCE_DESCRIPTOR       9
45c2c66affSColin Finck #define REG_RESOURCE_REQUIREMENTS_LIST     10
46c2c66affSColin Finck #define REG_QWORD                          11
47c2c66affSColin Finck #define REG_QWORD_LITTLE_ENDIAN            11
48c2c66affSColin Finck 
49c2c66affSColin Finck VOID
5084d2264dSHermès Bélusca-Maïto RegInitializeRegistry(
5184d2264dSHermès Bélusca-Maïto     IN PCSTR HiveList);
52c2c66affSColin Finck 
53c2c66affSColin Finck VOID
54c2c66affSColin Finck RegShutdownRegistry(VOID);
55c2c66affSColin Finck 
56c2c66affSColin Finck /* EOF */
57