4 #include "reg_objects.h"
6 /* The following definitions come from registry/reg_api.c */
8 WERROR
reg_openhive(TALLOC_CTX
*mem_ctx
, const char *hive
,
10 const struct nt_user_token
*token
,
11 struct registry_key
**pkey
);
12 WERROR
reg_openkey(TALLOC_CTX
*mem_ctx
, struct registry_key
*parent
,
13 const char *name
, uint32 desired_access
,
14 struct registry_key
**pkey
);
15 WERROR
reg_enumkey(TALLOC_CTX
*mem_ctx
, struct registry_key
*key
,
16 uint32 idx
, char **name
, NTTIME
*last_write_time
);
17 WERROR
reg_enumvalue(TALLOC_CTX
*mem_ctx
, struct registry_key
*key
,
18 uint32 idx
, char **pname
, struct registry_value
**pval
);
19 WERROR
reg_queryvalue(TALLOC_CTX
*mem_ctx
, struct registry_key
*key
,
20 const char *name
, struct registry_value
**pval
);
21 WERROR
reg_queryinfokey(struct registry_key
*key
, uint32_t *num_subkeys
,
22 uint32_t *max_subkeylen
, uint32_t *max_subkeysize
,
23 uint32_t *num_values
, uint32_t *max_valnamelen
,
24 uint32_t *max_valbufsize
, uint32_t *secdescsize
,
25 NTTIME
*last_changed_time
);
26 WERROR
reg_createkey(TALLOC_CTX
*ctx
, struct registry_key
*parent
,
27 const char *subkeypath
, uint32 desired_access
,
28 struct registry_key
**pkey
,
29 enum winreg_CreateAction
*paction
);
30 WERROR
reg_deletekey(struct registry_key
*parent
, const char *path
);
31 WERROR
reg_setvalue(struct registry_key
*key
, const char *name
,
32 const struct registry_value
*val
);
33 WERROR
reg_deletevalue(struct registry_key
*key
, const char *name
);
34 WERROR
reg_getkeysecurity(TALLOC_CTX
*mem_ctx
, struct registry_key
*key
,
35 struct security_descriptor
**psecdesc
);
36 WERROR
reg_setkeysecurity(struct registry_key
*key
,
37 struct security_descriptor
*psecdesc
);
38 WERROR
reg_getversion(uint32_t *version
);
39 WERROR
reg_restorekey(struct registry_key
*key
, const char *fname
);
40 WERROR
reg_savekey(struct registry_key
*key
, const char *fname
);
41 WERROR
reg_deleteallvalues(struct registry_key
*key
);
42 WERROR
reg_open_path(TALLOC_CTX
*mem_ctx
, const char *orig_path
,
43 uint32 desired_access
, const struct nt_user_token
*token
,
44 struct registry_key
**pkey
);
45 WERROR
reg_deletekey_recursive(TALLOC_CTX
*ctx
,
46 struct registry_key
*parent
,
48 WERROR
reg_deletesubkeys_recursive(TALLOC_CTX
*ctx
,
49 struct registry_key
*parent
,
51 WERROR
reg_create_path(TALLOC_CTX
*mem_ctx
, const char *orig_path
,
52 uint32 desired_access
,
53 const struct nt_user_token
*token
,
54 enum winreg_CreateAction
*paction
,
55 struct registry_key
**pkey
);
56 WERROR
reg_delete_path(const struct nt_user_token
*token
,
57 const char *orig_path
);
59 /* The following definitions come from registry/reg_dispatcher.c */
61 bool store_reg_keys(struct registry_key_handle
*key
,
62 struct regsubkey_ctr
*subkeys
);
63 bool store_reg_values(struct registry_key_handle
*key
, struct regval_ctr
*val
);
64 WERROR
create_reg_subkey(struct registry_key_handle
*key
, const char *subkey
);
65 WERROR
delete_reg_subkey(struct registry_key_handle
*key
, const char *subkey
);
66 int fetch_reg_keys(struct registry_key_handle
*key
,
67 struct regsubkey_ctr
*subkey_ctr
);
68 int fetch_reg_values(struct registry_key_handle
*key
, struct regval_ctr
*val
);
69 bool regkey_access_check(struct registry_key_handle
*key
, uint32 requested
,
71 const struct nt_user_token
*token
);
72 WERROR
regkey_get_secdesc(TALLOC_CTX
*mem_ctx
, struct registry_key_handle
*key
,
73 struct security_descriptor
**psecdesc
);
74 WERROR
regkey_set_secdesc(struct registry_key_handle
*key
,
75 struct security_descriptor
*psecdesc
);
76 bool reg_subkeys_need_update(struct registry_key_handle
*key
,
77 struct regsubkey_ctr
*subkeys
);
78 bool reg_values_need_update(struct registry_key_handle
*key
,
79 struct regval_ctr
*values
);
81 /* The following definitions come from registry/reg_eventlog.c */
83 bool eventlog_init_keys(void);
84 bool eventlog_add_source( const char *eventlog
, const char *sourcename
,
85 const char *messagefile
);
87 /* The following definitions come from registry/reg_init_basic.c */
89 WERROR
registry_init_common(void);
90 WERROR
registry_init_basic(void);
92 /* The following definitions come from registry/reg_init_full.c */
94 WERROR
registry_init_full(void);
96 /* The following definitions come from registry/reg_init_smbconf.c */
98 NTSTATUS
registry_create_admin_token(TALLOC_CTX
*mem_ctx
,
99 NT_USER_TOKEN
**ptoken
);
100 WERROR
registry_init_smbconf(const char *keyname
);
102 /* The following definitions come from registry/reg_perfcount.c */
104 void perfcount_init_keys( void );
105 uint32
reg_perfcount_get_base_index(void);
106 uint32
reg_perfcount_get_last_counter(uint32 base_index
);
107 uint32
reg_perfcount_get_last_help(uint32 last_counter
);
108 uint32
reg_perfcount_get_counter_help(uint32 base_index
, char **retbuf
);
109 uint32
reg_perfcount_get_counter_names(uint32 base_index
, char **retbuf
);
110 WERROR
reg_perfcount_get_hkpd(prs_struct
*ps
, uint32 max_buf_size
, uint32
*outbuf_len
, const char *object_ids
);
112 /* The following definitions come from lib/util_reg_api.c */
114 WERROR
registry_pull_value(TALLOC_CTX
*mem_ctx
,
115 struct registry_value
**pvalue
,
116 enum winreg_Type type
, uint8
*data
,
117 uint32 size
, uint32 length
);
118 WERROR
registry_push_value(TALLOC_CTX
*mem_ctx
,
119 const struct registry_value
*value
,
122 #endif /* _REGISTRY_H */