libcli/security Provide a common, top level libcli/security/security.h
[gd/samba-autobuild/.git] / libgpo / gpo_ini.h
1 /*
2  *  Unix SMB/CIFS implementation.
3  *  Group Policy Support
4  *  Copyright (C) Guenther Deschner 2007
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 3 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 struct keyval_pair {
21         char *key;
22         char *val;
23 };
24
25 struct gp_inifile_context {
26         TALLOC_CTX *mem_ctx;
27         uint32_t keyval_count;
28         struct keyval_pair **data;
29         char *current_section;
30         const char *generated_filename;
31 };
32
33 /* prototypes */
34
35 NTSTATUS gp_inifile_init_context(TALLOC_CTX *mem_ctx, uint32_t flags,
36                                  const char *unix_path, const char *suffix,
37                                  struct gp_inifile_context **ctx_ret);
38
39 NTSTATUS parse_gpt_ini(TALLOC_CTX *ctx,
40                        const char *filename,
41                        uint32_t *version,
42                        char **display_name);
43 NTSTATUS gp_inifile_getstring(struct gp_inifile_context *ctx, const char *key, char **ret);
44 NTSTATUS gp_inifile_getint(struct gp_inifile_context *ctx, const char *key, int *ret);
45