reg: Move 'import' syntax checks to reg_import().
[wine.git] / programs / reg / reg.h
blob703dd0d37af1d75ec54f95c86ecc1ed065a00efb
1 /*
2 * Copyright 2017 Hugh McMaster
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __REG_H__
20 #define __REG_H__
22 #include <windows.h>
23 #include <wine/heap.h>
24 #include "resource.h"
26 #define MAX_SUBKEY_LEN 257
28 /* reg.c */
29 struct reg_type_rels {
30 DWORD type;
31 const WCHAR *name;
34 extern const struct reg_type_rels type_rels[8];
36 void *heap_xalloc(size_t size);
37 void *heap_xrealloc(void *buf, size_t size);
38 void output_writeconsole(const WCHAR *str, DWORD wlen);
39 void WINAPIV output_message(unsigned int id, ...);
40 void WINAPIV output_string(const WCHAR *fmt, ...);
41 BOOL ask_confirm(unsigned int msgid, WCHAR *reg_info);
42 HKEY path_get_rootkey(const WCHAR *path);
43 WCHAR *build_subkey_path(WCHAR *path, DWORD path_len, WCHAR *subkey_name, DWORD subkey_len);
44 BOOL parse_registry_key(const WCHAR *key, HKEY *root, WCHAR **path, WCHAR **long_key);
45 BOOL is_switch(const WCHAR *s, const WCHAR c);
47 /* add.c */
48 int reg_add(HKEY root, WCHAR *path, WCHAR *value_name, BOOL value_empty,
49 WCHAR *type, WCHAR separator, WCHAR *data, BOOL force);
51 /* delete.c */
52 int reg_delete(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name,
53 BOOL value_empty, BOOL value_all, BOOL force);
55 /* export.c */
56 int reg_export(int argc, WCHAR *argv[]);
58 /* import.c */
59 int reg_import(int argc, WCHAR *argvW[]);
61 /* query.c */
62 int reg_query(HKEY root, WCHAR *path, WCHAR *key_name, WCHAR *value_name,
63 BOOL value_empty, BOOL recurse);
65 #endif /* __REG_H__ */