8742b3050cd1cd2024f95e891165308a6bf73c0e
[reactos.git] / dll / win32 / mswsock / dns / addr.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS DNS Shared Library
4 * FILE: lib/dnslib/addr.c
5 * PURPOSE: Contains the Address Family Information Tables
6 */
7
8 /* INCLUDES ******************************************************************/
9 #include "precomp.h"
10
11 /* DATA **********************************************************************/
12
13 DNS_FAMILY_INFO AddrFamilyTable[3] =
14 {
15 {
16 AF_INET,
17 DNS_TYPE_A,
18 sizeof(IP4_ADDRESS),
19 sizeof(SOCKADDR_IN),
20 FIELD_OFFSET(SOCKADDR_IN, sin_addr)
21 },
22 {
23 AF_INET6,
24 DNS_TYPE_AAAA,
25 sizeof(IP6_ADDRESS),
26 sizeof(SOCKADDR_IN6),
27 FIELD_OFFSET(SOCKADDR_IN6, sin6_addr)
28 },
29 {
30 AF_ATM,
31 DNS_TYPE_ATMA,
32 sizeof(ATM_ADDRESS),
33 sizeof(SOCKADDR_ATM),
34 FIELD_OFFSET(SOCKADDR_ATM, satm_number)
35 }
36 };
37
38 /* FUNCTIONS *****************************************************************/
39
40 PDNS_FAMILY_INFO
41 WINAPI
42 FamilyInfo_GetForFamily(IN WORD AddressFamily)
43 {
44 /* Check which family this is */
45 switch (AddressFamily)
46 {
47 case AF_INET:
48 /* Return IPv4 Family Info */
49 return &AddrFamilyTable[0];
50
51 case AF_INET6:
52 /* Return IPv6 Family Info */
53 return &AddrFamilyTable[1];
54
55 case AF_ATM:
56 /* Return ATM Family Info */
57 return &AddrFamilyTable[2];
58
59 default:
60 /* Invalid family */
61 return NULL;
62 }
63
64 }
65
66 /*
67 * COPYRIGHT: See COPYING in the top level directory
68 * PROJECT: ReactOS DNS Shared Library
69 * FILE: lib/dnslib/addr.c
70 * PURPOSE: Contains the Address Family Information Tables
71 */
72
73 /* INCLUDES ******************************************************************/
74 #include "precomp.h"
75
76 /* DATA **********************************************************************/
77
78 DNS_FAMILY_INFO AddrFamilyTable[3] =
79 {
80 {
81 AF_INET,
82 DNS_TYPE_A,
83 sizeof(IP4_ADDRESS),
84 sizeof(SOCKADDR_IN),
85 FIELD_OFFSET(SOCKADDR_IN, sin_addr)
86 },
87 {
88 AF_INET6,
89 DNS_TYPE_AAAA,
90 sizeof(IP6_ADDRESS),
91 sizeof(SOCKADDR_IN6),
92 FIELD_OFFSET(SOCKADDR_IN6, sin6_addr)
93 },
94 {
95 AF_ATM,
96 DNS_TYPE_ATMA,
97 sizeof(ATM_ADDRESS),
98 sizeof(SOCKADDR_ATM),
99 FIELD_OFFSET(SOCKADDR_ATM, satm_number)
100 }
101 };
102
103 /* FUNCTIONS *****************************************************************/
104
105 PDNS_FAMILY_INFO
106 WINAPI
107 FamilyInfo_GetForFamily(IN WORD AddressFamily)
108 {
109 /* Check which family this is */
110 switch (AddressFamily)
111 {
112 case AF_INET:
113 /* Return IPv4 Family Info */
114 return &AddrFamilyTable[0];
115
116 case AF_INET6:
117 /* Return IPv6 Family Info */
118 return &AddrFamilyTable[1];
119
120 case AF_ATM:
121 /* Return ATM Family Info */
122 return &AddrFamilyTable[2];
123
124 default:
125 /* Invalid family */
126 return NULL;
127 }
128
129 }
130
131 /*
132 * COPYRIGHT: See COPYING in the top level directory
133 * PROJECT: ReactOS DNS Shared Library
134 * FILE: lib/dnslib/addr.c
135 * PURPOSE: Contains the Address Family Information Tables
136 */
137
138 /* INCLUDES ******************************************************************/
139 #include "precomp.h"
140
141 /* DATA **********************************************************************/
142
143 DNS_FAMILY_INFO AddrFamilyTable[3] =
144 {
145 {
146 AF_INET,
147 DNS_TYPE_A,
148 sizeof(IP4_ADDRESS),
149 sizeof(SOCKADDR_IN),
150 FIELD_OFFSET(SOCKADDR_IN, sin_addr)
151 },
152 {
153 AF_INET6,
154 DNS_TYPE_AAAA,
155 sizeof(IP6_ADDRESS),
156 sizeof(SOCKADDR_IN6),
157 FIELD_OFFSET(SOCKADDR_IN6, sin6_addr)
158 },
159 {
160 AF_ATM,
161 DNS_TYPE_ATMA,
162 sizeof(ATM_ADDRESS),
163 sizeof(SOCKADDR_ATM),
164 FIELD_OFFSET(SOCKADDR_ATM, satm_number)
165 }
166 };
167
168 /* FUNCTIONS *****************************************************************/
169
170 PDNS_FAMILY_INFO
171 WINAPI
172 FamilyInfo_GetForFamily(IN WORD AddressFamily)
173 {
174 /* Check which family this is */
175 switch (AddressFamily)
176 {
177 case AF_INET:
178 /* Return IPv4 Family Info */
179 return &AddrFamilyTable[0];
180
181 case AF_INET6:
182 /* Return IPv6 Family Info */
183 return &AddrFamilyTable[1];
184
185 case AF_ATM:
186 /* Return ATM Family Info */
187 return &AddrFamilyTable[2];
188
189 default:
190 /* Invalid family */
191 return NULL;
192 }
193
194 }
195
196 /*
197 * COPYRIGHT: See COPYING in the top level directory
198 * PROJECT: ReactOS DNS Shared Library
199 * FILE: lib/dnslib/addr.c
200 * PURPOSE: Contains the Address Family Information Tables
201 */
202
203 /* INCLUDES ******************************************************************/
204 #include "precomp.h"
205
206 /* DATA **********************************************************************/
207
208 DNS_FAMILY_INFO AddrFamilyTable[3] =
209 {
210 {
211 AF_INET,
212 DNS_TYPE_A,
213 sizeof(IP4_ADDRESS),
214 sizeof(SOCKADDR_IN),
215 FIELD_OFFSET(SOCKADDR_IN, sin_addr)
216 },
217 {
218 AF_INET6,
219 DNS_TYPE_AAAA,
220 sizeof(IP6_ADDRESS),
221 sizeof(SOCKADDR_IN6),
222 FIELD_OFFSET(SOCKADDR_IN6, sin6_addr)
223 },
224 {
225 AF_ATM,
226 DNS_TYPE_ATMA,
227 sizeof(ATM_ADDRESS),
228 sizeof(SOCKADDR_ATM),
229 FIELD_OFFSET(SOCKADDR_ATM, satm_number)
230 }
231 };
232
233 /* FUNCTIONS *****************************************************************/
234
235 PDNS_FAMILY_INFO
236 WINAPI
237 FamilyInfo_GetForFamily(IN WORD AddressFamily)
238 {
239 /* Check which family this is */
240 switch (AddressFamily)
241 {
242 case AF_INET:
243 /* Return IPv4 Family Info */
244 return &AddrFamilyTable[0];
245
246 case AF_INET6:
247 /* Return IPv6 Family Info */
248 return &AddrFamilyTable[1];
249
250 case AF_ATM:
251 /* Return ATM Family Info */
252 return &AddrFamilyTable[2];
253
254 default:
255 /* Invalid family */
256 return NULL;
257 }
258
259 }
260