ReactOS 0.4.15-dev-8058-ga7cbb60
inseng_private.h
Go to the documentation of this file.
1/*
2 * Copyright 2016 Michael Müller
3 *
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.
8 *
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.
13 *
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
17 */
18
19#pragma once
20
21#include "windef.h"
22#include "winbase.h"
23#include "winuser.h"
24#ifdef __REACTOS__
25#include "winnls.h"
26#endif
27#include "ole2.h"
28#include "rpcproxy.h"
29#include "inseng.h"
30#include "wine/heap.h"
31
32
33static inline char *strdupA(const char *src)
34{
35 char *dest = heap_alloc(strlen(src) + 1);
36 if (dest) strcpy(dest, src);
37 return dest;
38}
39
40static inline WCHAR *strdupW(const WCHAR *src)
41{
42 WCHAR *dest;
43 if (!src) return NULL;
44 dest = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(src) + 1) * sizeof(WCHAR));
45 if (dest) lstrcpyW(dest, src);
46 return dest;
47}
48
49static inline LPWSTR strAtoW(const char *str)
50{
51 LPWSTR ret = NULL;
52
53 if (str)
54 {
55 DWORD len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
56 if ((ret = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR))))
58 }
59
60 return ret;
61}
62
63struct inf_value;
64struct inf_section;
65struct inf_file;
66
68void inf_free(struct inf_file *inf) DECLSPEC_HIDDEN;
69
71struct inf_section *inf_get_section(struct inf_file *inf, const char *name) DECLSPEC_HIDDEN;
74
75struct inf_value *inf_get_value(struct inf_section *sec, const char *key) DECLSPEC_HIDDEN;
78
79char *trim(char *str, char **last_chr, BOOL strip_quotes) DECLSPEC_HIDDEN;
80
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static void strip_quotes(WCHAR *word, WCHAR **end)
Definition: xcopy.c:701
#define NULL
Definition: types.h:112
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
#define GetProcessHeap()
Definition: compat.h:736
#define CP_ACP
Definition: compat.h:109
#define HeapAlloc
Definition: compat.h:733
#define lstrcpyW
Definition: compat.h:749
#define MultiByteToWideChar
Definition: compat.h:110
#define lstrlenW
Definition: compat.h:750
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLsizeiptr size
Definition: glext.h:5919
GLenum src
Definition: glext.h:6340
GLenum GLsizei len
Definition: glext.h:6722
void component_set_downloaded(ICifComponent *iface, BOOL value) DECLSPEC_HIDDEN
Definition: icif.c:325
char * inf_value_get_key(struct inf_value *value) DECLSPEC_HIDDEN
Definition: inf.c:248
char * trim(char *str, char **last_chr, BOOL strip_quotes) DECLSPEC_HIDDEN
Definition: inf.c:258
char * inf_section_get_name(struct inf_section *section) DECLSPEC_HIDDEN
Definition: inf.c:214
void inf_free(struct inf_file *inf) DECLSPEC_HIDDEN
Definition: inf.c:172
void component_set_actual_download_size(ICifComponent *iface, DWORD size) DECLSPEC_HIDDEN
Definition: icif.c:318
static char * strdupA(const char *src)
HRESULT inf_load(const char *path, struct inf_file **inf_file) DECLSPEC_HIDDEN
Definition: inf.c:405
static LPWSTR strAtoW(const char *str)
BOOL inf_section_next_value(struct inf_section *sec, struct inf_value **value) DECLSPEC_HIDDEN
Definition: inf.c:219
BOOL inf_next_section(struct inf_file *inf, struct inf_section **sec) DECLSPEC_HIDDEN
Definition: inf.c:185
char * component_get_id(ICifComponent *iface) DECLSPEC_HIDDEN
Definition: icif.c:339
struct inf_section * inf_get_section(struct inf_file *inf, const char *name) DECLSPEC_HIDDEN
Definition: inf.c:201
struct inf_value * inf_get_value(struct inf_section *sec, const char *key) DECLSPEC_HIDDEN
Definition: inf.c:235
static WCHAR * strdupW(const WCHAR *src)
char * inf_value_get_value(struct inf_value *value) DECLSPEC_HIDDEN
Definition: inf.c:253
void component_set_installed(ICifComponent *iface, BOOL value) DECLSPEC_HIDDEN
Definition: icif.c:332
static char * dest
Definition: rtl.c:135
const WCHAR * str
Definition: inf.c:49
Definition: inf.c:31
Definition: copy.c:22
Definition: name.c:39
Definition: parser.c:56
Definition: pdh_main.c:94
int ret
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184