OpenVPN
basic.h
Go to the documentation of this file.
1/*
2 * basic -- Basic macros
3 * https://community.openvpn.net/openvpn/wiki/Tapctl
4 *
5 * Copyright (C) 2002-2024 OpenVPN Inc <sales@openvpn.net>
6 * Copyright (C) 2018-2024 Simon Rozman <simon@rozman.si>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2
10 * as published by the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 */
21
22#ifndef BASIC_H
23#define BASIC_H
24
25/* We do not support non-unicode builds */
26#ifndef UNICODE
27#define UNICODE
28#endif
29
30#define PRIXGUID "{%08lX-%04hX-%04hX-%02hhX%02hhX-%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX}"
31#define PRIGUID_PARAM(g) \
32 (g).Data1, (g).Data2, (g).Data3, (g).Data4[0], (g).Data4[1], (g).Data4[2], (g).Data4[3], (g).Data4[4], (g).Data4[5], (g).Data4[6], (g).Data4[7]
33#define PRIGUID_PARAM_REF(g) \
34 &(g).Data1, &(g).Data2, &(g).Data3, &(g).Data4[0], &(g).Data4[1], &(g).Data4[2], &(g).Data4[3], &(g).Data4[4], &(g).Data4[5], &(g).Data4[6], &(g).Data4[7]
35
36#define __L(q) L ## q
37#define _L(q) __L(q)
38
39#ifndef _In_
40#define _In_
41#endif
42#ifndef _In_opt_
43#define _In_opt_
44#endif
45#ifndef _In_z_
46#define _In_z_
47#endif
48#ifndef _Inout_
49#define _Inout_
50#endif
51#ifndef _Inout_opt_
52#define _Inout_opt_
53#endif
54#ifndef _Out_
55#define _Out_
56#endif
57#ifndef _Out_opt_
58#define _Out_opt_
59#endif
60#ifndef _Out_z_cap_
61#define _Out_z_cap_(n)
62#endif
63
64#endif /* ifndef BASIC_H */