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-2018 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 /* return true if filename is safe to be used on Windows */
38 bool win_safe_filename(const char *fn);
39 
40 #endif /* OPENVPN_WIN32_UTIL_H */
41 #endif /* ifdef _WIN32 */
42