annotate fuhtark_test/include/winapi/ws2tcpip.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1500
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
1 /**
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
2 * This file has no copyright assigned and is placed in the Public Domain.
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
3 * This file is part of the w64 mingw-runtime package.
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
4 * No warranty is given; refer to the file DISCLAIMER within this package.
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
5 */
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
6 #ifndef _WS2TCPIP_H
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
7 #define _WS2TCPIP_H
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
8
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
9 #if __GNUC__ >=3
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
10 #pragma GCC system_header
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
11 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
12
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
13 #include <ws2ipdef.h>
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
14
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
15 struct ip_msfilter {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
16 struct in_addr imsf_multiaddr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
17 struct in_addr imsf_interface;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
18 u_long imsf_fmode;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
19 u_long imsf_numsrc;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
20 struct in_addr imsf_slist[1];
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
21 };
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
22
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
23 #define IP_MSFILTER_SIZE(numsrc) (sizeof(struct ip_msfilter)-sizeof(struct in_addr) + (numsrc)*sizeof(struct in_addr))
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
24
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
25 #define MCAST_INCLUDE 0
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
26 #define MCAST_EXCLUDE 1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
27
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
28 #define SIO_GET_INTERFACE_LIST _IOR('t',127,u_long)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
29
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
30 #define SIO_GET_INTERFACE_LIST_EX _IOR('t',126,u_long)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
31 #define SIO_SET_MULTICAST_FILTER _IOW('t',125,u_long)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
32 #define SIO_GET_MULTICAST_FILTER _IOW('t',124 | IOC_IN,u_long)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
33
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
34 #define IP_OPTIONS 1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
35 #define IP_HDRINCL 2
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
36 #define IP_TOS 3
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
37 #define IP_TTL 4
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
38 #define IP_MULTICAST_IF 9
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
39 #define IP_MULTICAST_TTL 10
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
40 #define IP_MULTICAST_LOOP 11
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
41 #define IP_ADD_MEMBERSHIP 12
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
42 #define IP_DROP_MEMBERSHIP 13
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
43 #define IP_DONTFRAGMENT 14
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
44 #define IP_ADD_SOURCE_MEMBERSHIP 15
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
45 #define IP_DROP_SOURCE_MEMBERSHIP 16
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
46 #define IP_BLOCK_SOURCE 17
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
47 #define IP_UNBLOCK_SOURCE 18
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
48 #define IP_PKTINFO 19
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
49 #define IP_RECEIVE_BROADCAST 22
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
50
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
51 #define IPV6_HDRINCL 2
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
52 #define IPV6_UNICAST_HOPS 4
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
53 #define IPV6_MULTICAST_IF 9
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
54 #define IPV6_MULTICAST_HOPS 10
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
55 #define IPV6_MULTICAST_LOOP 11
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
56 #define IPV6_ADD_MEMBERSHIP 12
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
57 #define IPV6_DROP_MEMBERSHIP 13
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
58 #define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
59 #define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
60 #define IPV6_PKTINFO 19
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
61 #define IPV6_HOPLIMIT 21
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
62 #define IPV6_PROTECTION_LEVEL 23
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
63
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
64 #define PROTECTION_LEVEL_UNRESTRICTED 10
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
65 #define PROTECTION_LEVEL_DEFAULT 20
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
66 #define PROTECTION_LEVEL_RESTRICTED 30
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
67
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
68 #define UDP_NOCHECKSUM 1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
69 #define UDP_CHECKSUM_COVERAGE 20
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
70
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
71 #define TCP_EXPEDITED_1122 0x0002
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
72
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
73 #ifndef s6_addr
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
74
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
75 struct in6_addr {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
76 __MINGW_EXTENSION union {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
77 u_char Byte[16];
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
78 u_short Word[8];
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
79 } u;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
80 };
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
81
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
82 #define in_addr6 in6_addr
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
83
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
84 #define _S6_un u
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
85 #define _S6_u8 Byte
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
86 #define s6_addr _S6_un._S6_u8
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
87
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
88 #define s6_bytes u.Byte
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
89 #define s6_words u.Word
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
90 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
91
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
92 typedef struct ipv6_mreq {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
93 struct in6_addr ipv6mr_multiaddr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
94 unsigned int ipv6mr_interface;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
95 } IPV6_MREQ;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
96
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
97 struct sockaddr_in6_old {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
98 short sin6_family;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
99 u_short sin6_port;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
100 u_long sin6_flowinfo;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
101 struct in6_addr sin6_addr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
102 };
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
103
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
104 struct sockaddr_in6 {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
105 short sin6_family;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
106 u_short sin6_port;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
107 u_long sin6_flowinfo;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
108 struct in6_addr sin6_addr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
109 u_long sin6_scope_id;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
110 };
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
111
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
112 typedef struct in6_addr IN6_ADDR;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
113 typedef struct in6_addr *PIN6_ADDR;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
114 typedef struct in6_addr *LPIN6_ADDR;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
115
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
116 typedef struct sockaddr_in6 SOCKADDR_IN6;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
117 typedef struct sockaddr_in6 *PSOCKADDR_IN6;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
118 typedef struct sockaddr_in6 *LPSOCKADDR_IN6;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
119
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
120 #define SS_PORT(ssp) (((struct sockaddr_in*)(ssp))->sin_port)
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
121
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
122 #define IN6ADDR_ANY_INIT { 0 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
123 #define IN6ADDR_LOOPBACK_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
124
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
125 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
126 extern "C" {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
127 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
128
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
129 extern const struct in6_addr in6addr_any;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
130 extern const struct in6_addr in6addr_loopback;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
131
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
132 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
133 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
134 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
135
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
136 #define WS2TCPIP_INLINE __CRT_INLINE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
137
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
138 int IN6_ADDR_EQUAL(const struct in6_addr *,const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
139 int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
140 int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
141 int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
142 int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
143 int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
144 int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
145 int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
146 int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
147 int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
148 int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
149 int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
150 int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
151 int IN6ADDR_ISANY(const struct sockaddr_in6 *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
152 int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
153 void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
154 void IN6_SET_ADDR_LOOPBACK(struct in6_addr *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
155 void IN6ADDR_SETANY(struct sockaddr_in6 *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
156 void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
157
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
158 #ifndef __CRT__NO_INLINE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
159 WS2TCPIP_INLINE int IN6_ADDR_EQUAL(const struct in6_addr *a,const struct in6_addr *b) { return (memcmp(a,b,sizeof(struct in6_addr))==0); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
160 WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
161 WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
162 WS2TCPIP_INLINE int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a) { return (a->s6_bytes[0]==0xff); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
163 WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
164 WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
165 WS2TCPIP_INLINE int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0xffff)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
166 WS2TCPIP_INLINE int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && !((a->s6_words[6]==0) && (a->s6_addr[14]==0) && ((a->s6_addr[15]==0) || (a->s6_addr[15]==1)))); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
167 WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
168 WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
169 WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
170 WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
171 WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
172 WS2TCPIP_INLINE int IN6ADDR_ISANY(const struct sockaddr_in6 *a) { return ((a->sin6_family==AF_INET6) && IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
173 WS2TCPIP_INLINE int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *a) { return ((a->sin6_family==AF_INET6) && IN6_IS_ADDR_LOOPBACK(&a->sin6_addr)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
174 WS2TCPIP_INLINE void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a) { memset(a->s6_bytes,0,sizeof(struct in6_addr)); }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
175 WS2TCPIP_INLINE void IN6_SET_ADDR_LOOPBACK(struct in6_addr *a) {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
176 memset(a->s6_bytes,0,sizeof(struct in6_addr));
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
177 a->s6_bytes[15] = 1;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
178 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
179 WS2TCPIP_INLINE void IN6ADDR_SETANY(struct sockaddr_in6 *a) {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
180 a->sin6_family = AF_INET6;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
181 a->sin6_port = 0;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
182 a->sin6_flowinfo = 0;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
183 IN6_SET_ADDR_UNSPECIFIED(&a->sin6_addr);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
184 a->sin6_scope_id = 0;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
185 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
186 WS2TCPIP_INLINE void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *a) {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
187 a->sin6_family = AF_INET6;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
188 a->sin6_port = 0;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
189 a->sin6_flowinfo = 0;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
190 IN6_SET_ADDR_LOOPBACK(&a->sin6_addr);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
191 a->sin6_scope_id = 0;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
192 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
193 #endif /* !__CRT__NO_INLINE */
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
194
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
195 typedef union sockaddr_gen {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
196 struct sockaddr Address;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
197 struct sockaddr_in AddressIn;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
198 struct sockaddr_in6_old AddressIn6;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
199 } sockaddr_gen;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
200
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
201 typedef struct _INTERFACE_INFO {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
202 u_long iiFlags;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
203 sockaddr_gen iiAddress;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
204 sockaddr_gen iiBroadcastAddress;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
205 sockaddr_gen iiNetmask;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
206 } INTERFACE_INFO,*LPINTERFACE_INFO;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
207
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
208 typedef struct _INTERFACE_INFO_EX {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
209 u_long iiFlags;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
210 SOCKET_ADDRESS iiAddress;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
211 SOCKET_ADDRESS iiBroadcastAddress;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
212 SOCKET_ADDRESS iiNetmask;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
213 } INTERFACE_INFO_EX,*LPINTERFACE_INFO_EX;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
214
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
215 #define IFF_UP 0x00000001
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
216 #define IFF_BROADCAST 0x00000002
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
217 #define IFF_LOOPBACK 0x00000004
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
218 #define IFF_POINTTOPOINT 0x00000008
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
219 #define IFF_MULTICAST 0x00000010
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
220
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
221 typedef struct in_pktinfo {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
222 IN_ADDR ipi_addr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
223 UINT ipi_ifindex;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
224 } IN_PKTINFO;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
225
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
226 C_ASSERT(sizeof(IN_PKTINFO)==8);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
227
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
228 typedef struct in6_pktinfo {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
229 IN6_ADDR ipi6_addr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
230 UINT ipi6_ifindex;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
231 } IN6_PKTINFO;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
232
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
233 C_ASSERT(sizeof(IN6_PKTINFO)==20);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
234
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
235 #define EAI_AGAIN WSATRY_AGAIN
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
236 #define EAI_BADFLAGS WSAEINVAL
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
237 #define EAI_FAIL WSANO_RECOVERY
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
238 #define EAI_FAMILY WSAEAFNOSUPPORT
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
239 #define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
240
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
241 #define EAI_NONAME WSAHOST_NOT_FOUND
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
242 #define EAI_SERVICE WSATYPE_NOT_FOUND
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
243 #define EAI_SOCKTYPE WSAESOCKTNOSUPPORT
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
244
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
245 #define EAI_NODATA EAI_NONAME
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
246
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
247 typedef struct addrinfo {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
248 int ai_flags;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
249 int ai_family;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
250 int ai_socktype;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
251 int ai_protocol;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
252 size_t ai_addrlen;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
253 char *ai_canonname;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
254 struct sockaddr *ai_addr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
255 struct addrinfo *ai_next;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
256 } ADDRINFOA,*PADDRINFOA;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
257
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
258 typedef struct addrinfoW {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
259 int ai_flags;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
260 int ai_family;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
261 int ai_socktype;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
262 int ai_protocol;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
263 size_t ai_addrlen;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
264 PWSTR ai_canonname;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
265 struct sockaddr *ai_addr;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
266 struct addrinfoW *ai_next;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
267 } ADDRINFOW,*PADDRINFOW;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
268
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
269 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
270 typedef ADDRINFOW ADDRINFOT,*PADDRINFOT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
271 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
272 typedef ADDRINFOA ADDRINFOT,*PADDRINFOT;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
273 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
274
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
275 typedef ADDRINFOA ADDRINFO,*LPADDRINFO;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
276
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
277 #define AI_PASSIVE 0x1
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
278 #define AI_CANONNAME 0x2
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
279 #define AI_NUMERICHOST 0x4
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
280
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
281 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
282 extern "C" {
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
283 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
284
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
285 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
286 #define GetAddrInfo GetAddrInfoW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
287 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
288 #define GetAddrInfo GetAddrInfoA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
289 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
290
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
291 WINSOCK_API_LINKAGE int WSAAPI getaddrinfo(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
292 WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoW(PCWSTR pNodeName,PCWSTR pServiceName,const ADDRINFOW *pHints,PADDRINFOW *ppResult);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
293
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
294 #define GetAddrInfoA getaddrinfo
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
295
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
296 #if INCL_WINSOCK_API_TYPEDEFS
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
297 typedef int (WSAAPI *LPFN_GETADDRINFO)(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
298 typedef int (WSAAPI *LPFN_GETADDRINFOW)(PCWSTR pNodeName,PCWSTR pServiceName,const ADDRINFOW *pHints,PADDRINFOW *ppResult);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
299
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
300 #define LPFN_GETADDRINFOA LPFN_GETADDRINFO
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
301
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
302 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
303 #define LPFN_GETADDRINFOT LPFN_GETADDRINFOW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
304 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
305 #define LPFN_GETADDRINFOT LPFN_GETADDRINFOA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
306 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
307 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
308
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
309 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
310 #define FreeAddrInfo FreeAddrInfoW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
311 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
312 #define FreeAddrInfo FreeAddrInfoA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
313 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
314
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
315 WINSOCK_API_LINKAGE void WSAAPI freeaddrinfo(LPADDRINFO pAddrInfo);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
316 WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoW(PADDRINFOW pAddrInfo);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
317
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
318 #define FreeAddrInfoA freeaddrinfo
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
319
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
320 #if INCL_WINSOCK_API_TYPEDEFS
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
321 typedef void (WSAAPI *LPFN_FREEADDRINFO)(struct addrinfo *ai);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
322 typedef void (WSAAPI *LPFN_FREEADDRINFOW)(PADDRINFOW pAddrInfo);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
323
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
324 #define LPFN_FREEADDRINFOA LPFN_FREEADDRINFO
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
325
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
326 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
327 #define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
328 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
329 #define LPFN_FREEADDRINFOT LPFN_FREEADDRINFOA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
330 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
331 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
332
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
333 #pragma push_macro("socklen_t")
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
334 #undef socklen_t
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
335
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
336 typedef int socklen_t;
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
337
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
338 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
339 #define GetNameInfo GetNameInfoW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
340 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
341 #define GetNameInfo GetNameInfoA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
342 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
343
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
344 WINSOCK_API_LINKAGE int WSAAPI getnameinfo(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
345 WINSOCK_API_LINKAGE INT WSAAPI GetNameInfoW(const SOCKADDR *pSockaddr,socklen_t SockaddrLength,PWCHAR pNodeBuffer,DWORD NodeBufferSize,PWCHAR pServiceBuffer,DWORD ServiceBufferSize,INT Flags);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
346
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
347 #define GetNameInfoA getnameinfo
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
348
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
349 #if INCL_WINSOCK_API_TYPEDEFS
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
350 typedef int (WSAAPI *LPFN_GETNAMEINFO)(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
351 typedef INT (WSAAPI *LPFN_GETNAMEINFOW)(const SOCKADDR *pSockaddr,socklen_t SockaddrLength,PWCHAR pNodeBuffer,DWORD NodeBufferSize,PWCHAR pServiceBuffer,DWORD ServiceBufferSize,INT Flags);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
352
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
353 #define LPFN_GETNAMEINFOA LPFN_GETNAMEINFO
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
354
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
355 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
356 #define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
357 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
358 #define LPFN_GETNAMEINFOT LPFN_GETNAMEINFOA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
359 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
360 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
361
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
362 #pragma pop_macro("socklen_t")
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
363
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
364 #ifdef UNICODE
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
365 #define gai_strerror gai_strerrorW
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
366 #else
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
367 #define gai_strerror gai_strerrorA
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
368 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
369
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
370 #define GAI_STRERROR_BUFFER_SIZE 1024
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
371
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
372 char *gai_strerrorA (int);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
373 WCHAR *gai_strerrorW(int);
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
374
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
375 #define NI_MAXHOST 1025
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
376 #define NI_MAXSERV 32
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
377
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
378 #define INET_ADDRSTRLEN 22
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
379 #define INET6_ADDRSTRLEN 65
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
380
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
381 #define NI_NOFQDN 0x01
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
382 #define NI_NUMERICHOST 0x02
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
383 #define NI_NAMEREQD 0x04
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
384 #define NI_NUMERICSERV 0x08
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
385 #define NI_DGRAM 0x10
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
386
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
387 #ifdef __cplusplus
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
388 }
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
389 #endif
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
390
91c8c3b7cbf0 add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff changeset
391 #endif