source: vendor/current/source3/registry/reg_api.h

Last change on this file was 988, checked in by Silvan Scherrer, 9 years ago

Samba Server: update vendor to version 4.4.3

File size: 2.9 KB
Line 
1/*
2 * Unix SMB/CIFS implementation.
3 *
4 * Virtual Windows Registry Layer
5 *
6 * Copyright (C) Volker Lendecke 2006
7 * Copyright (C) Michael Adam 2007-2010
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, see <http://www.gnu.org/licenses/>.
21 */
22
23#ifndef _REG_API_H
24#define _REG_API_H
25
26WERROR reg_openhive(TALLOC_CTX *mem_ctx, const char *hive,
27 uint32_t desired_access,
28 const struct security_token *token,
29 struct registry_key **pkey);
30WERROR reg_openkey(TALLOC_CTX *mem_ctx, struct registry_key *parent,
31 const char *name, uint32_t desired_access,
32 struct registry_key **pkey);
33WERROR reg_enumkey(TALLOC_CTX *mem_ctx, struct registry_key *key,
34 uint32_t idx, char **name, NTTIME *last_write_time);
35WERROR reg_enumvalue(TALLOC_CTX *mem_ctx, struct registry_key *key,
36 uint32_t idx, char **pname, struct registry_value **pval);
37WERROR reg_queryvalue(TALLOC_CTX *mem_ctx, struct registry_key *key,
38 const char *name, struct registry_value **pval);
39WERROR reg_querymultiplevalues(TALLOC_CTX *mem_ctx,
40 struct registry_key *key,
41 uint32_t num_names,
42 const char **names,
43 uint32_t *pnum_vals,
44 struct registry_value **pvals);
45WERROR reg_queryinfokey(struct registry_key *key, uint32_t *num_subkeys,
46 uint32_t *max_subkeylen, uint32_t *max_subkeysize,
47 uint32_t *num_values, uint32_t *max_valnamelen,
48 uint32_t *max_valbufsize, uint32_t *secdescsize,
49 NTTIME *last_changed_time);
50WERROR reg_createkey(TALLOC_CTX *ctx, struct registry_key *parent,
51 const char *subkeypath, uint32_t desired_access,
52 struct registry_key **pkey,
53 enum winreg_CreateAction *paction);
54WERROR reg_deletekey(struct registry_key *parent, const char *path);
55WERROR reg_setvalue(struct registry_key *key, const char *name,
56 const struct registry_value *val);
57WERROR reg_deletevalue(struct registry_key *key, const char *name);
58WERROR reg_getkeysecurity(TALLOC_CTX *mem_ctx, struct registry_key *key,
59 struct security_descriptor **psecdesc);
60WERROR reg_setkeysecurity(struct registry_key *key,
61 struct security_descriptor *psecdesc);
62WERROR reg_getversion(uint32_t *version);
63WERROR reg_deleteallvalues(struct registry_key *key);
64WERROR reg_deletekey_recursive(struct registry_key *parent,
65 const char *path);
66WERROR reg_deletesubkeys_recursive(struct registry_key *parent,
67 const char *path);
68
69
70#endif /* _REG_API_H */
Note: See TracBrowser for help on using the repository browser.