Clean error paths in opendir and fd_opendir by only setting handle data on success.
[Samba.git] / source3 / registry / reg_dispatcher.h
blobc80ba15ec1dfd08873e7cda07dcad4c9679fa1be
1 /*
2 * Unix SMB/CIFS implementation.
3 * Virtual Windows Registry Layer
4 * Copyright (C) Gerald Carter 2002-2005
5 * Copyright (C) Michael Adam 2006-2008
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, see <http://www.gnu.org/licenses/>.
21 #ifndef _REG_DISPATCHER_H
22 #define _REG_DISPATCHER_H
24 bool store_reg_keys(struct registry_key_handle *key,
25 struct regsubkey_ctr *subkeys);
26 bool store_reg_values(struct registry_key_handle *key, struct regval_ctr *val);
27 WERROR create_reg_subkey(struct registry_key_handle *key, const char *subkey);
28 WERROR delete_reg_subkey(struct registry_key_handle *key, const char *subkey);
29 int fetch_reg_keys(struct registry_key_handle *key,
30 struct regsubkey_ctr *subkey_ctr);
31 int fetch_reg_values(struct registry_key_handle *key, struct regval_ctr *val);
32 bool regkey_access_check(struct registry_key_handle *key, uint32 requested,
33 uint32 *granted,
34 const struct security_token *token);
35 WERROR regkey_get_secdesc(TALLOC_CTX *mem_ctx, struct registry_key_handle *key,
36 struct security_descriptor **psecdesc);
37 WERROR regkey_set_secdesc(struct registry_key_handle *key,
38 struct security_descriptor *psecdesc);
39 bool reg_subkeys_need_update(struct registry_key_handle *key,
40 struct regsubkey_ctr *subkeys);
41 bool reg_values_need_update(struct registry_key_handle *key,
42 struct regval_ctr *values);
44 #endif /* _REG_DISPATCHER_H */