OpenVPN
win32-util.h
Go to the documentation of this file.
1 /*
2  * OpenVPN -- An application to securely tunnel IP networks
3  * over a single UDP port, with support for SSL/TLS-based
4  * session authentication and key exchange,
5  * packet encryption, packet authentication, and
6  * packet compression.
7  *
8  * Copyright (C) 2002-2023 OpenVPN Inc <sales@openvpn.net>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2
12  * as published by the Free Software Foundation.
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 along
20  * with this program; if not, write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22  */
23 
24 #ifdef _WIN32
25 #ifndef OPENVPN_WIN32_UTIL_H
26 #define OPENVPN_WIN32_UTIL_H
27 
28 #include <winioctl.h>
29 
30 #include "mtu.h"
31 #include "openvpn-msg.h"
32 #include "argv.h"
33 
34 /* Convert a string from UTF-8 to UCS-2 */
35 WCHAR *wide_string(const char *utf8, struct gc_arena *gc);
36 
37 /* Convert a string from UTF-16 to UTF-8 */
38 char *utf16to8(const wchar_t *utf16, struct gc_arena *gc);
39 
40 /* return true if filename is safe to be used on Windows */
41 bool win_safe_filename(const char *fn);
42 
43 /* Find temporary directory */
44 const char *win_get_tempdir(void);
45 
46 #endif /* OPENVPN_WIN32_UTIL_H */
47 #endif /* ifdef _WIN32 */
multi_instance::gc
struct gc_arena gc
Definition: multi.h:105
wide_string
WCHAR * wide_string(const char *utf8, struct gc_arena *gc)
Definition: win32-util.c:41
mtu.h
win_safe_filename
bool win_safe_filename(const char *fn)
Definition: win32-util.c:118
argv.h
utf16to8
char * utf16to8(const wchar_t *utf16, struct gc_arena *gc)
Definition: win32-util.c:50
gc_arena
Garbage collection arena used to keep track of dynamically allocated memory.
Definition: buffer.h:116
openvpn-msg.h
win_get_tempdir
const char * win_get_tempdir(void)
Definition: win32-util.c:152