propsys: Implement prop variant integer conversions with tests.
[wine] / include / in6addr.h
1 /*
2  * Copyright (C) 2009 Jeff Latimer
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 #ifndef __IN6ADDR__
20 #define __IN6ADDR__
21
22 #ifdef USE_WS_PREFIX
23 #define WS(x)    WS_##x
24 #else
25 #define WS(x)    x
26 #endif
27
28 typedef struct WS(in6_addr) {
29     union {
30         UCHAR  Byte[16];
31         USHORT Word[8];
32     } u;
33 } IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR;
34
35 #define in_addr6    WS(in6_addr)
36
37 #ifdef USE_WS_PREFIX
38 #define WS__S6_un   u
39 #define WS__S6_u8   Byte
40 #define WS_s6_addr  WS__S6_un.WS__S6_u8
41 #else
42 #define _S6_un      u
43 #define _S6_u8      Byte
44 #define s6_addr     _S6_un._S6_u8
45 #endif
46
47 #define s6_bytes    u.Byte
48 #define s6_words    u.Word
49
50 #undef WS
51
52 #endif /* __IN6ADDR__ */