cares-sys 0.0.1

Threadless static CMake build and modern FFI bindings for c-ares
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
use std::mem::{align_of, offset_of, size_of};

use cares_sys::*;

pub fn expected() -> Vec<(&'static str, usize)> {
    vec![
        (
            "ares_socket_functions_ex.size",
            size_of::<ares_socket_functions_ex>(),
        ),
        (
            "ares_socket_functions_ex.align",
            align_of::<ares_socket_functions_ex>(),
        ),
        (
            "ares_socket_functions_ex.version",
            offset_of!(ares_socket_functions_ex, version),
        ),
        (
            "ares_socket_functions_ex.flags",
            offset_of!(ares_socket_functions_ex, flags),
        ),
        (
            "ares_socket_functions_ex.asocket",
            offset_of!(ares_socket_functions_ex, asocket),
        ),
        (
            "ares_socket_functions_ex.aclose",
            offset_of!(ares_socket_functions_ex, aclose),
        ),
        (
            "ares_socket_functions_ex.asetsockopt",
            offset_of!(ares_socket_functions_ex, asetsockopt),
        ),
        (
            "ares_socket_functions_ex.aconnect",
            offset_of!(ares_socket_functions_ex, aconnect),
        ),
        (
            "ares_socket_functions_ex.arecvfrom",
            offset_of!(ares_socket_functions_ex, arecvfrom),
        ),
        (
            "ares_socket_functions_ex.asendto",
            offset_of!(ares_socket_functions_ex, asendto),
        ),
        (
            "ares_socket_functions_ex.agetsockname",
            offset_of!(ares_socket_functions_ex, agetsockname),
        ),
        (
            "ares_socket_functions_ex.abind",
            offset_of!(ares_socket_functions_ex, abind),
        ),
        (
            "ares_socket_functions_ex.aif_nametoindex",
            offset_of!(ares_socket_functions_ex, aif_nametoindex),
        ),
        (
            "ares_socket_functions_ex.aif_indextoname",
            offset_of!(ares_socket_functions_ex, aif_indextoname),
        ),
        (
            "ares_server_failover_options.size",
            size_of::<ares_server_failover_options>(),
        ),
        (
            "ares_server_failover_options.align",
            align_of::<ares_server_failover_options>(),
        ),
        (
            "ares_server_failover_options.retry_chance",
            offset_of!(ares_server_failover_options, retry_chance),
        ),
        (
            "ares_server_failover_options.retry_delay",
            offset_of!(ares_server_failover_options, retry_delay),
        ),
        ("ares_options.size", size_of::<ares_options>()),
        ("ares_options.align", align_of::<ares_options>()),
        ("ares_options.flags", offset_of!(ares_options, flags)),
        ("ares_options.timeout", offset_of!(ares_options, timeout)),
        ("ares_options.tries", offset_of!(ares_options, tries)),
        ("ares_options.ndots", offset_of!(ares_options, ndots)),
        ("ares_options.udp_port", offset_of!(ares_options, udp_port)),
        ("ares_options.tcp_port", offset_of!(ares_options, tcp_port)),
        (
            "ares_options.socket_send_buffer_size",
            offset_of!(ares_options, socket_send_buffer_size),
        ),
        (
            "ares_options.socket_receive_buffer_size",
            offset_of!(ares_options, socket_receive_buffer_size),
        ),
        ("ares_options.servers", offset_of!(ares_options, servers)),
        ("ares_options.nservers", offset_of!(ares_options, nservers)),
        ("ares_options.domains", offset_of!(ares_options, domains)),
        ("ares_options.ndomains", offset_of!(ares_options, ndomains)),
        ("ares_options.lookups", offset_of!(ares_options, lookups)),
        (
            "ares_options.sock_state_cb",
            offset_of!(ares_options, sock_state_cb),
        ),
        (
            "ares_options.sock_state_cb_data",
            offset_of!(ares_options, sock_state_cb_data),
        ),
        ("ares_options.sortlist", offset_of!(ares_options, sortlist)),
        ("ares_options.nsort", offset_of!(ares_options, nsort)),
        ("ares_options.ednspsz", offset_of!(ares_options, ednspsz)),
        (
            "ares_options.resolvconf_path",
            offset_of!(ares_options, resolvconf_path),
        ),
        (
            "ares_options.hosts_path",
            offset_of!(ares_options, hosts_path),
        ),
        (
            "ares_options.udp_max_queries",
            offset_of!(ares_options, udp_max_queries),
        ),
        (
            "ares_options.maxtimeout",
            offset_of!(ares_options, maxtimeout),
        ),
        (
            "ares_options.qcache_max_ttl",
            offset_of!(ares_options, qcache_max_ttl),
        ),
        ("ares_options.evsys", offset_of!(ares_options, evsys)),
        (
            "ares_options.server_failover_opts",
            offset_of!(ares_options, server_failover_opts),
        ),
        ("ares_in6_addr.size", size_of::<ares_in6_addr>()),
        ("ares_in6_addr.align", align_of::<ares_in6_addr>()),
        ("ares_in6_addr._S6_un", offset_of!(ares_in6_addr, _S6_un)),
        ("ares_addr.size", size_of::<ares_addr>()),
        ("ares_addr.align", align_of::<ares_addr>()),
        ("ares_addr.family", offset_of!(ares_addr, family)),
        ("ares_addr.addr", offset_of!(ares_addr, addr)),
        ("ares_fd_events_t.size", size_of::<ares_fd_events_t>()),
        ("ares_fd_events_t.align", align_of::<ares_fd_events_t>()),
        ("ares_fd_events_t.fd", offset_of!(ares_fd_events_t, fd)),
        (
            "ares_fd_events_t.events",
            offset_of!(ares_fd_events_t, events),
        ),
        ("ares_status_t.size", size_of::<ares_status_t>()),
        ("ares_status_t.align", align_of::<ares_status_t>()),
        ("ARES_SUCCESS", ARES_SUCCESS.0 as usize),
        ("ARES_ENODATA", ARES_ENODATA.0 as usize),
        ("ARES_EFORMERR", ARES_EFORMERR.0 as usize),
        ("ARES_ESERVFAIL", ARES_ESERVFAIL.0 as usize),
        ("ARES_ENOTFOUND", ARES_ENOTFOUND.0 as usize),
        ("ARES_ENOTIMP", ARES_ENOTIMP.0 as usize),
        ("ARES_EREFUSED", ARES_EREFUSED.0 as usize),
        ("ARES_EBADQUERY", ARES_EBADQUERY.0 as usize),
        ("ARES_EBADNAME", ARES_EBADNAME.0 as usize),
        ("ARES_EBADFAMILY", ARES_EBADFAMILY.0 as usize),
        ("ARES_EBADRESP", ARES_EBADRESP.0 as usize),
        ("ARES_ECONNREFUSED", ARES_ECONNREFUSED.0 as usize),
        ("ARES_ETIMEOUT", ARES_ETIMEOUT.0 as usize),
        ("ARES_EOF", ARES_EOF.0 as usize),
        ("ARES_EFILE", ARES_EFILE.0 as usize),
        ("ARES_ENOMEM", ARES_ENOMEM.0 as usize),
        ("ARES_EDESTRUCTION", ARES_EDESTRUCTION.0 as usize),
        ("ARES_EBADSTR", ARES_EBADSTR.0 as usize),
        ("ARES_EBADFLAGS", ARES_EBADFLAGS.0 as usize),
        ("ARES_ENONAME", ARES_ENONAME.0 as usize),
        ("ARES_EBADHINTS", ARES_EBADHINTS.0 as usize),
        ("ARES_ENOTINITIALIZED", ARES_ENOTINITIALIZED.0 as usize),
        ("ARES_ELOADIPHLPAPI", ARES_ELOADIPHLPAPI.0 as usize),
        (
            "ARES_EADDRGETNETWORKPARAMS",
            ARES_EADDRGETNETWORKPARAMS.0 as usize,
        ),
        ("ARES_ECANCELLED", ARES_ECANCELLED.0 as usize),
        ("ARES_ESERVICE", ARES_ESERVICE.0 as usize),
        ("ARES_ENOSERVER", ARES_ENOSERVER.0 as usize),
        ("ares_bool_t.size", size_of::<ares_bool_t>()),
        ("ares_bool_t.align", align_of::<ares_bool_t>()),
        ("ARES_FALSE", ARES_FALSE.0 as usize),
        ("ARES_TRUE", ARES_TRUE.0 as usize),
        ("ares_evsys_t.size", size_of::<ares_evsys_t>()),
        ("ares_evsys_t.align", align_of::<ares_evsys_t>()),
        ("ARES_EVSYS_DEFAULT", ARES_EVSYS_DEFAULT.0 as usize),
        ("ARES_EVSYS_WIN32", ARES_EVSYS_WIN32.0 as usize),
        ("ARES_EVSYS_EPOLL", ARES_EVSYS_EPOLL.0 as usize),
        ("ARES_EVSYS_KQUEUE", ARES_EVSYS_KQUEUE.0 as usize),
        ("ARES_EVSYS_POLL", ARES_EVSYS_POLL.0 as usize),
        ("ARES_EVSYS_SELECT", ARES_EVSYS_SELECT.0 as usize),
        (
            "ares_sockfunc_flags_t.size",
            size_of::<ares_sockfunc_flags_t>(),
        ),
        (
            "ares_sockfunc_flags_t.align",
            align_of::<ares_sockfunc_flags_t>(),
        ),
        (
            "ARES_SOCKFUNC_FLAG_NONBLOCKING",
            ARES_SOCKFUNC_FLAG_NONBLOCKING.0 as usize,
        ),
        ("ares_socket_opt_t.size", size_of::<ares_socket_opt_t>()),
        ("ares_socket_opt_t.align", align_of::<ares_socket_opt_t>()),
        (
            "ARES_SOCKET_OPT_SENDBUF_SIZE",
            ARES_SOCKET_OPT_SENDBUF_SIZE.0 as usize,
        ),
        (
            "ARES_SOCKET_OPT_RECVBUF_SIZE",
            ARES_SOCKET_OPT_RECVBUF_SIZE.0 as usize,
        ),
        (
            "ARES_SOCKET_OPT_BIND_DEVICE",
            ARES_SOCKET_OPT_BIND_DEVICE.0 as usize,
        ),
        (
            "ARES_SOCKET_OPT_TCP_FASTOPEN",
            ARES_SOCKET_OPT_TCP_FASTOPEN.0 as usize,
        ),
        (
            "ares_socket_connect_flags_t.size",
            size_of::<ares_socket_connect_flags_t>(),
        ),
        (
            "ares_socket_connect_flags_t.align",
            align_of::<ares_socket_connect_flags_t>(),
        ),
        (
            "ARES_SOCKET_CONN_TCP_FASTOPEN",
            ARES_SOCKET_CONN_TCP_FASTOPEN.0 as usize,
        ),
        (
            "ares_socket_bind_flags_t.size",
            size_of::<ares_socket_bind_flags_t>(),
        ),
        (
            "ares_socket_bind_flags_t.align",
            align_of::<ares_socket_bind_flags_t>(),
        ),
        ("ARES_SOCKET_BIND_TCP", ARES_SOCKET_BIND_TCP.0 as usize),
        (
            "ARES_SOCKET_BIND_CLIENT",
            ARES_SOCKET_BIND_CLIENT.0 as usize,
        ),
        ("ares_fd_eventflag_t.size", size_of::<ares_fd_eventflag_t>()),
        (
            "ares_fd_eventflag_t.align",
            align_of::<ares_fd_eventflag_t>(),
        ),
        ("ARES_FD_EVENT_NONE", ARES_FD_EVENT_NONE.0 as usize),
        ("ARES_FD_EVENT_READ", ARES_FD_EVENT_READ.0 as usize),
        ("ARES_FD_EVENT_WRITE", ARES_FD_EVENT_WRITE.0 as usize),
        ("ares_process_flag_t.size", size_of::<ares_process_flag_t>()),
        (
            "ares_process_flag_t.align",
            align_of::<ares_process_flag_t>(),
        ),
        ("ARES_PROCESS_FLAG_NONE", ARES_PROCESS_FLAG_NONE.0 as usize),
        (
            "ARES_PROCESS_FLAG_SKIP_NON_FD",
            ARES_PROCESS_FLAG_SKIP_NON_FD.0 as usize,
        ),
        ("ares_dns_rec_type_t.size", size_of::<ares_dns_rec_type_t>()),
        (
            "ares_dns_rec_type_t.align",
            align_of::<ares_dns_rec_type_t>(),
        ),
        ("ARES_REC_TYPE_A", ARES_REC_TYPE_A.0 as usize),
        ("ARES_REC_TYPE_NS", ARES_REC_TYPE_NS.0 as usize),
        ("ARES_REC_TYPE_CNAME", ARES_REC_TYPE_CNAME.0 as usize),
        ("ARES_REC_TYPE_SOA", ARES_REC_TYPE_SOA.0 as usize),
        ("ARES_REC_TYPE_PTR", ARES_REC_TYPE_PTR.0 as usize),
        ("ARES_REC_TYPE_HINFO", ARES_REC_TYPE_HINFO.0 as usize),
        ("ARES_REC_TYPE_MX", ARES_REC_TYPE_MX.0 as usize),
        ("ARES_REC_TYPE_TXT", ARES_REC_TYPE_TXT.0 as usize),
        ("ARES_REC_TYPE_SIG", ARES_REC_TYPE_SIG.0 as usize),
        ("ARES_REC_TYPE_AAAA", ARES_REC_TYPE_AAAA.0 as usize),
        ("ARES_REC_TYPE_SRV", ARES_REC_TYPE_SRV.0 as usize),
        ("ARES_REC_TYPE_NAPTR", ARES_REC_TYPE_NAPTR.0 as usize),
        ("ARES_REC_TYPE_OPT", ARES_REC_TYPE_OPT.0 as usize),
        ("ARES_REC_TYPE_TLSA", ARES_REC_TYPE_TLSA.0 as usize),
        ("ARES_REC_TYPE_SVCB", ARES_REC_TYPE_SVCB.0 as usize),
        ("ARES_REC_TYPE_HTTPS", ARES_REC_TYPE_HTTPS.0 as usize),
        ("ARES_REC_TYPE_ANY", ARES_REC_TYPE_ANY.0 as usize),
        ("ARES_REC_TYPE_URI", ARES_REC_TYPE_URI.0 as usize),
        ("ARES_REC_TYPE_CAA", ARES_REC_TYPE_CAA.0 as usize),
        ("ARES_REC_TYPE_RAW_RR", ARES_REC_TYPE_RAW_RR.0 as usize),
        ("ares_dns_class_t.size", size_of::<ares_dns_class_t>()),
        ("ares_dns_class_t.align", align_of::<ares_dns_class_t>()),
        ("ARES_CLASS_IN", ARES_CLASS_IN.0 as usize),
        ("ARES_CLASS_CHAOS", ARES_CLASS_CHAOS.0 as usize),
        ("ARES_CLASS_HESIOD", ARES_CLASS_HESIOD.0 as usize),
        ("ARES_CLASS_HESOID", ARES_CLASS_HESOID.0 as usize),
        ("ARES_CLASS_NONE", ARES_CLASS_NONE.0 as usize),
        ("ARES_CLASS_ANY", ARES_CLASS_ANY.0 as usize),
        ("ares_dns_section_t.size", size_of::<ares_dns_section_t>()),
        ("ares_dns_section_t.align", align_of::<ares_dns_section_t>()),
        ("ARES_SECTION_ANSWER", ARES_SECTION_ANSWER.0 as usize),
        ("ARES_SECTION_AUTHORITY", ARES_SECTION_AUTHORITY.0 as usize),
        (
            "ARES_SECTION_ADDITIONAL",
            ARES_SECTION_ADDITIONAL.0 as usize,
        ),
        ("ares_dns_opcode_t.size", size_of::<ares_dns_opcode_t>()),
        ("ares_dns_opcode_t.align", align_of::<ares_dns_opcode_t>()),
        ("ARES_OPCODE_QUERY", ARES_OPCODE_QUERY.0 as usize),
        ("ARES_OPCODE_IQUERY", ARES_OPCODE_IQUERY.0 as usize),
        ("ARES_OPCODE_STATUS", ARES_OPCODE_STATUS.0 as usize),
        ("ARES_OPCODE_NOTIFY", ARES_OPCODE_NOTIFY.0 as usize),
        ("ARES_OPCODE_UPDATE", ARES_OPCODE_UPDATE.0 as usize),
        ("ares_dns_flags_t.size", size_of::<ares_dns_flags_t>()),
        ("ares_dns_flags_t.align", align_of::<ares_dns_flags_t>()),
        ("ARES_FLAG_QR", ARES_FLAG_QR.0 as usize),
        ("ARES_FLAG_AA", ARES_FLAG_AA.0 as usize),
        ("ARES_FLAG_TC", ARES_FLAG_TC.0 as usize),
        ("ARES_FLAG_RD", ARES_FLAG_RD.0 as usize),
        ("ARES_FLAG_RA", ARES_FLAG_RA.0 as usize),
        ("ARES_FLAG_AD", ARES_FLAG_AD.0 as usize),
        ("ARES_FLAG_CD", ARES_FLAG_CD.0 as usize),
        ("ares_dns_rcode_t.size", size_of::<ares_dns_rcode_t>()),
        ("ares_dns_rcode_t.align", align_of::<ares_dns_rcode_t>()),
        ("ARES_RCODE_NOERROR", ARES_RCODE_NOERROR.0 as usize),
        ("ARES_RCODE_FORMERR", ARES_RCODE_FORMERR.0 as usize),
        ("ARES_RCODE_SERVFAIL", ARES_RCODE_SERVFAIL.0 as usize),
        ("ARES_RCODE_NXDOMAIN", ARES_RCODE_NXDOMAIN.0 as usize),
        ("ARES_RCODE_NOTIMP", ARES_RCODE_NOTIMP.0 as usize),
        ("ARES_RCODE_REFUSED", ARES_RCODE_REFUSED.0 as usize),
        ("ARES_RCODE_YXDOMAIN", ARES_RCODE_YXDOMAIN.0 as usize),
        ("ARES_RCODE_YXRRSET", ARES_RCODE_YXRRSET.0 as usize),
        ("ARES_RCODE_NXRRSET", ARES_RCODE_NXRRSET.0 as usize),
        ("ARES_RCODE_NOTAUTH", ARES_RCODE_NOTAUTH.0 as usize),
        ("ARES_RCODE_NOTZONE", ARES_RCODE_NOTZONE.0 as usize),
        ("ARES_RCODE_DSOTYPEI", ARES_RCODE_DSOTYPEI.0 as usize),
        ("ARES_RCODE_BADSIG", ARES_RCODE_BADSIG.0 as usize),
        ("ARES_RCODE_BADKEY", ARES_RCODE_BADKEY.0 as usize),
        ("ARES_RCODE_BADTIME", ARES_RCODE_BADTIME.0 as usize),
        ("ARES_RCODE_BADMODE", ARES_RCODE_BADMODE.0 as usize),
        ("ARES_RCODE_BADNAME", ARES_RCODE_BADNAME.0 as usize),
        ("ARES_RCODE_BADALG", ARES_RCODE_BADALG.0 as usize),
        ("ARES_RCODE_BADTRUNC", ARES_RCODE_BADTRUNC.0 as usize),
        ("ARES_RCODE_BADCOOKIE", ARES_RCODE_BADCOOKIE.0 as usize),
        ("ares_dns_datatype_t.size", size_of::<ares_dns_datatype_t>()),
        (
            "ares_dns_datatype_t.align",
            align_of::<ares_dns_datatype_t>(),
        ),
        ("ARES_DATATYPE_INADDR", ARES_DATATYPE_INADDR.0 as usize),
        ("ARES_DATATYPE_INADDR6", ARES_DATATYPE_INADDR6.0 as usize),
        ("ARES_DATATYPE_U8", ARES_DATATYPE_U8.0 as usize),
        ("ARES_DATATYPE_U16", ARES_DATATYPE_U16.0 as usize),
        ("ARES_DATATYPE_U32", ARES_DATATYPE_U32.0 as usize),
        ("ARES_DATATYPE_NAME", ARES_DATATYPE_NAME.0 as usize),
        ("ARES_DATATYPE_STR", ARES_DATATYPE_STR.0 as usize),
        ("ARES_DATATYPE_BIN", ARES_DATATYPE_BIN.0 as usize),
        ("ARES_DATATYPE_BINP", ARES_DATATYPE_BINP.0 as usize),
        ("ARES_DATATYPE_OPT", ARES_DATATYPE_OPT.0 as usize),
        ("ARES_DATATYPE_ABINP", ARES_DATATYPE_ABINP.0 as usize),
        ("ares_dns_rr_key_t.size", size_of::<ares_dns_rr_key_t>()),
        ("ares_dns_rr_key_t.align", align_of::<ares_dns_rr_key_t>()),
        ("ARES_RR_A_ADDR", ARES_RR_A_ADDR.0 as usize),
        ("ARES_RR_NS_NSDNAME", ARES_RR_NS_NSDNAME.0 as usize),
        ("ARES_RR_CNAME_CNAME", ARES_RR_CNAME_CNAME.0 as usize),
        ("ARES_RR_SOA_MNAME", ARES_RR_SOA_MNAME.0 as usize),
        ("ARES_RR_SOA_RNAME", ARES_RR_SOA_RNAME.0 as usize),
        ("ARES_RR_SOA_SERIAL", ARES_RR_SOA_SERIAL.0 as usize),
        ("ARES_RR_SOA_REFRESH", ARES_RR_SOA_REFRESH.0 as usize),
        ("ARES_RR_SOA_RETRY", ARES_RR_SOA_RETRY.0 as usize),
        ("ARES_RR_SOA_EXPIRE", ARES_RR_SOA_EXPIRE.0 as usize),
        ("ARES_RR_SOA_MINIMUM", ARES_RR_SOA_MINIMUM.0 as usize),
        ("ARES_RR_PTR_DNAME", ARES_RR_PTR_DNAME.0 as usize),
        ("ARES_RR_HINFO_CPU", ARES_RR_HINFO_CPU.0 as usize),
        ("ARES_RR_HINFO_OS", ARES_RR_HINFO_OS.0 as usize),
        ("ARES_RR_MX_PREFERENCE", ARES_RR_MX_PREFERENCE.0 as usize),
        ("ARES_RR_MX_EXCHANGE", ARES_RR_MX_EXCHANGE.0 as usize),
        ("ARES_RR_TXT_DATA", ARES_RR_TXT_DATA.0 as usize),
        (
            "ARES_RR_SIG_TYPE_COVERED",
            ARES_RR_SIG_TYPE_COVERED.0 as usize,
        ),
        ("ARES_RR_SIG_ALGORITHM", ARES_RR_SIG_ALGORITHM.0 as usize),
        ("ARES_RR_SIG_LABELS", ARES_RR_SIG_LABELS.0 as usize),
        (
            "ARES_RR_SIG_ORIGINAL_TTL",
            ARES_RR_SIG_ORIGINAL_TTL.0 as usize,
        ),
        ("ARES_RR_SIG_EXPIRATION", ARES_RR_SIG_EXPIRATION.0 as usize),
        ("ARES_RR_SIG_INCEPTION", ARES_RR_SIG_INCEPTION.0 as usize),
        ("ARES_RR_SIG_KEY_TAG", ARES_RR_SIG_KEY_TAG.0 as usize),
        (
            "ARES_RR_SIG_SIGNERS_NAME",
            ARES_RR_SIG_SIGNERS_NAME.0 as usize,
        ),
        ("ARES_RR_SIG_SIGNATURE", ARES_RR_SIG_SIGNATURE.0 as usize),
        ("ARES_RR_AAAA_ADDR", ARES_RR_AAAA_ADDR.0 as usize),
        ("ARES_RR_SRV_PRIORITY", ARES_RR_SRV_PRIORITY.0 as usize),
        ("ARES_RR_SRV_WEIGHT", ARES_RR_SRV_WEIGHT.0 as usize),
        ("ARES_RR_SRV_PORT", ARES_RR_SRV_PORT.0 as usize),
        ("ARES_RR_SRV_TARGET", ARES_RR_SRV_TARGET.0 as usize),
        ("ARES_RR_NAPTR_ORDER", ARES_RR_NAPTR_ORDER.0 as usize),
        (
            "ARES_RR_NAPTR_PREFERENCE",
            ARES_RR_NAPTR_PREFERENCE.0 as usize,
        ),
        ("ARES_RR_NAPTR_FLAGS", ARES_RR_NAPTR_FLAGS.0 as usize),
        ("ARES_RR_NAPTR_SERVICES", ARES_RR_NAPTR_SERVICES.0 as usize),
        ("ARES_RR_NAPTR_REGEXP", ARES_RR_NAPTR_REGEXP.0 as usize),
        (
            "ARES_RR_NAPTR_REPLACEMENT",
            ARES_RR_NAPTR_REPLACEMENT.0 as usize,
        ),
        ("ARES_RR_OPT_UDP_SIZE", ARES_RR_OPT_UDP_SIZE.0 as usize),
        ("ARES_RR_OPT_VERSION", ARES_RR_OPT_VERSION.0 as usize),
        ("ARES_RR_OPT_FLAGS", ARES_RR_OPT_FLAGS.0 as usize),
        ("ARES_RR_OPT_OPTIONS", ARES_RR_OPT_OPTIONS.0 as usize),
        (
            "ARES_RR_TLSA_CERT_USAGE",
            ARES_RR_TLSA_CERT_USAGE.0 as usize,
        ),
        ("ARES_RR_TLSA_SELECTOR", ARES_RR_TLSA_SELECTOR.0 as usize),
        ("ARES_RR_TLSA_MATCH", ARES_RR_TLSA_MATCH.0 as usize),
        ("ARES_RR_TLSA_DATA", ARES_RR_TLSA_DATA.0 as usize),
        ("ARES_RR_SVCB_PRIORITY", ARES_RR_SVCB_PRIORITY.0 as usize),
        ("ARES_RR_SVCB_TARGET", ARES_RR_SVCB_TARGET.0 as usize),
        ("ARES_RR_SVCB_PARAMS", ARES_RR_SVCB_PARAMS.0 as usize),
        ("ARES_RR_HTTPS_PRIORITY", ARES_RR_HTTPS_PRIORITY.0 as usize),
        ("ARES_RR_HTTPS_TARGET", ARES_RR_HTTPS_TARGET.0 as usize),
        ("ARES_RR_HTTPS_PARAMS", ARES_RR_HTTPS_PARAMS.0 as usize),
        ("ARES_RR_URI_PRIORITY", ARES_RR_URI_PRIORITY.0 as usize),
        ("ARES_RR_URI_WEIGHT", ARES_RR_URI_WEIGHT.0 as usize),
        ("ARES_RR_URI_TARGET", ARES_RR_URI_TARGET.0 as usize),
        ("ARES_RR_CAA_CRITICAL", ARES_RR_CAA_CRITICAL.0 as usize),
        ("ARES_RR_CAA_TAG", ARES_RR_CAA_TAG.0 as usize),
        ("ARES_RR_CAA_VALUE", ARES_RR_CAA_VALUE.0 as usize),
        ("ARES_RR_RAW_RR_TYPE", ARES_RR_RAW_RR_TYPE.0 as usize),
        ("ARES_RR_RAW_RR_DATA", ARES_RR_RAW_RR_DATA.0 as usize),
        ("ares_tlsa_usage_t.size", size_of::<ares_tlsa_usage_t>()),
        ("ares_tlsa_usage_t.align", align_of::<ares_tlsa_usage_t>()),
        ("ARES_TLSA_USAGE_CA", ARES_TLSA_USAGE_CA.0 as usize),
        (
            "ARES_TLSA_USAGE_SERVICE",
            ARES_TLSA_USAGE_SERVICE.0 as usize,
        ),
        (
            "ARES_TLSA_USAGE_TRUSTANCHOR",
            ARES_TLSA_USAGE_TRUSTANCHOR.0 as usize,
        ),
        ("ARES_TLSA_USAGE_DOMAIN", ARES_TLSA_USAGE_DOMAIN.0 as usize),
        (
            "ares_tlsa_selector_t.size",
            size_of::<ares_tlsa_selector_t>(),
        ),
        (
            "ares_tlsa_selector_t.align",
            align_of::<ares_tlsa_selector_t>(),
        ),
        (
            "ARES_TLSA_SELECTOR_FULL",
            ARES_TLSA_SELECTOR_FULL.0 as usize,
        ),
        (
            "ARES_TLSA_SELECTOR_SUBJPUBKEYINFO",
            ARES_TLSA_SELECTOR_SUBJPUBKEYINFO.0 as usize,
        ),
        ("ares_tlsa_match_t.size", size_of::<ares_tlsa_match_t>()),
        ("ares_tlsa_match_t.align", align_of::<ares_tlsa_match_t>()),
        ("ARES_TLSA_MATCH_EXACT", ARES_TLSA_MATCH_EXACT.0 as usize),
        ("ARES_TLSA_MATCH_SHA256", ARES_TLSA_MATCH_SHA256.0 as usize),
        ("ARES_TLSA_MATCH_SHA512", ARES_TLSA_MATCH_SHA512.0 as usize),
        ("ares_svcb_param_t.size", size_of::<ares_svcb_param_t>()),
        ("ares_svcb_param_t.align", align_of::<ares_svcb_param_t>()),
        (
            "ARES_SVCB_PARAM_MANDATORY",
            ARES_SVCB_PARAM_MANDATORY.0 as usize,
        ),
        ("ARES_SVCB_PARAM_ALPN", ARES_SVCB_PARAM_ALPN.0 as usize),
        (
            "ARES_SVCB_PARAM_NO_DEFAULT_ALPN",
            ARES_SVCB_PARAM_NO_DEFAULT_ALPN.0 as usize,
        ),
        ("ARES_SVCB_PARAM_PORT", ARES_SVCB_PARAM_PORT.0 as usize),
        (
            "ARES_SVCB_PARAM_IPV4HINT",
            ARES_SVCB_PARAM_IPV4HINT.0 as usize,
        ),
        ("ARES_SVCB_PARAM_ECH", ARES_SVCB_PARAM_ECH.0 as usize),
        (
            "ARES_SVCB_PARAM_IPV6HINT",
            ARES_SVCB_PARAM_IPV6HINT.0 as usize,
        ),
        ("ares_opt_param_t.size", size_of::<ares_opt_param_t>()),
        ("ares_opt_param_t.align", align_of::<ares_opt_param_t>()),
        ("ARES_OPT_PARAM_LLQ", ARES_OPT_PARAM_LLQ.0 as usize),
        ("ARES_OPT_PARAM_UL", ARES_OPT_PARAM_UL.0 as usize),
        ("ARES_OPT_PARAM_NSID", ARES_OPT_PARAM_NSID.0 as usize),
        ("ARES_OPT_PARAM_DAU", ARES_OPT_PARAM_DAU.0 as usize),
        ("ARES_OPT_PARAM_DHU", ARES_OPT_PARAM_DHU.0 as usize),
        ("ARES_OPT_PARAM_N3U", ARES_OPT_PARAM_N3U.0 as usize),
        (
            "ARES_OPT_PARAM_EDNS_CLIENT_SUBNET",
            ARES_OPT_PARAM_EDNS_CLIENT_SUBNET.0 as usize,
        ),
        (
            "ARES_OPT_PARAM_EDNS_EXPIRE",
            ARES_OPT_PARAM_EDNS_EXPIRE.0 as usize,
        ),
        ("ARES_OPT_PARAM_COOKIE", ARES_OPT_PARAM_COOKIE.0 as usize),
        (
            "ARES_OPT_PARAM_EDNS_TCP_KEEPALIVE",
            ARES_OPT_PARAM_EDNS_TCP_KEEPALIVE.0 as usize,
        ),
        ("ARES_OPT_PARAM_PADDING", ARES_OPT_PARAM_PADDING.0 as usize),
        ("ARES_OPT_PARAM_CHAIN", ARES_OPT_PARAM_CHAIN.0 as usize),
        (
            "ARES_OPT_PARAM_EDNS_KEY_TAG",
            ARES_OPT_PARAM_EDNS_KEY_TAG.0 as usize,
        ),
        (
            "ARES_OPT_PARAM_EXTENDED_DNS_ERROR",
            ARES_OPT_PARAM_EXTENDED_DNS_ERROR.0 as usize,
        ),
        (
            "ares_dns_opt_datatype_t.size",
            size_of::<ares_dns_opt_datatype_t>(),
        ),
        (
            "ares_dns_opt_datatype_t.align",
            align_of::<ares_dns_opt_datatype_t>(),
        ),
        ("ARES_OPT_DATATYPE_NONE", ARES_OPT_DATATYPE_NONE.0 as usize),
        (
            "ARES_OPT_DATATYPE_STR_LIST",
            ARES_OPT_DATATYPE_STR_LIST.0 as usize,
        ),
        (
            "ARES_OPT_DATATYPE_U8_LIST",
            ARES_OPT_DATATYPE_U8_LIST.0 as usize,
        ),
        ("ARES_OPT_DATATYPE_U16", ARES_OPT_DATATYPE_U16.0 as usize),
        (
            "ARES_OPT_DATATYPE_U16_LIST",
            ARES_OPT_DATATYPE_U16_LIST.0 as usize,
        ),
        ("ARES_OPT_DATATYPE_U32", ARES_OPT_DATATYPE_U32.0 as usize),
        (
            "ARES_OPT_DATATYPE_U32_LIST",
            ARES_OPT_DATATYPE_U32_LIST.0 as usize,
        ),
        (
            "ARES_OPT_DATATYPE_INADDR4_LIST",
            ARES_OPT_DATATYPE_INADDR4_LIST.0 as usize,
        ),
        (
            "ARES_OPT_DATATYPE_INADDR6_LIST",
            ARES_OPT_DATATYPE_INADDR6_LIST.0 as usize,
        ),
        ("ARES_OPT_DATATYPE_BIN", ARES_OPT_DATATYPE_BIN.0 as usize),
        ("ARES_OPT_DATATYPE_NAME", ARES_OPT_DATATYPE_NAME.0 as usize),
        (
            "ares_dns_parse_flags_t.size",
            size_of::<ares_dns_parse_flags_t>(),
        ),
        (
            "ares_dns_parse_flags_t.align",
            align_of::<ares_dns_parse_flags_t>(),
        ),
        (
            "ARES_DNS_PARSE_AN_BASE_RAW",
            ARES_DNS_PARSE_AN_BASE_RAW.0 as usize,
        ),
        (
            "ARES_DNS_PARSE_NS_BASE_RAW",
            ARES_DNS_PARSE_NS_BASE_RAW.0 as usize,
        ),
        (
            "ARES_DNS_PARSE_AR_BASE_RAW",
            ARES_DNS_PARSE_AR_BASE_RAW.0 as usize,
        ),
        (
            "ARES_DNS_PARSE_AN_EXT_RAW",
            ARES_DNS_PARSE_AN_EXT_RAW.0 as usize,
        ),
        (
            "ARES_DNS_PARSE_NS_EXT_RAW",
            ARES_DNS_PARSE_NS_EXT_RAW.0 as usize,
        ),
        (
            "ARES_DNS_PARSE_AR_EXT_RAW",
            ARES_DNS_PARSE_AR_EXT_RAW.0 as usize,
        ),
    ]
}