Fix AI/NI flag definitions for BSD systems

Add missing AI flags for NetBSD and OpenBSD:
- NetBSD: Add AI.SRV flag at bit 11 (0x00000800)
- OpenBSD: Add AI.EXT flag at bit 3 and AI.FQDN flag at bit 5

Add missing NI (getnameinfo) flag definitions for all BSDs and Darwin:
- FreeBSD/Haiku: NOFQDN, NUMERICHOST, NAMEREQD, NUMERICSERV, DGRAM, NUMERICSCOPE
- DragonFly/NetBSD: Same flags with NUMERICSCOPE at bit 6 (deprecated WITHSCOPEID at bit 5 is skipped)
- OpenBSD: NUMERICHOST, NUMERICSERV, NOFQDN, NAMEREQD, DGRAM (no NUMERICSCOPE)
- macOS/Darwin: NOFQDN, NUMERICHOST, NAMEREQD, NUMERICSERV, DGRAM, NUMERICSCOPE at bit 8 (deprecated WITHSCOPEID at bit 5 is skipped)

References:
- NetBSD: https://github.com/NetBSD/src/blob/trunk/include/netdb.h
- OpenBSD: https://github.com/openbsd/src/blob/master/include/netdb.h
- FreeBSD: https://github.com/freebsd/freebsd-src/blob/master/include/netdb.h
- DragonFly BSD: https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/include/netdb.h
- Haiku: https://github.com/haiku/haiku/blob/master/headers/posix/netdb.h
- macOS/Darwin: https://github.com/apple-oss-distributions/Libinfo/blob/main/lookup.subproj/netdb.h
This commit is contained in:
Lukas Lalinsky 2025-11-16 21:06:47 +01:00 committed by Alex Rønne Petersen
parent f0a3df98d3
commit 73f863a6fb

View File

@ -7269,7 +7269,8 @@ pub const AI = if (builtin.abi.isAndroid()) packed struct(u32) {
NUMERICSERV: bool = false,
_4: u6 = 0,
ADDRCONFIG: bool = false,
_: u21 = 0,
SRV: bool = false,
_: u20 = 0,
},
.illumos => packed struct(u32) {
V4MAPPED: bool = false,
@ -7285,9 +7286,9 @@ pub const AI = if (builtin.abi.isAndroid()) packed struct(u32) {
PASSIVE: bool = false,
CANONNAME: bool = false,
NUMERICHOST: bool = false,
_3: u1 = 0,
EXT: bool = false,
NUMERICSERV: bool = false,
_5: u1 = 0,
FQDN: bool = false,
ADDRCONFIG: bool = false,
_: u25 = 0,
},
@ -7348,6 +7349,43 @@ pub const NI = switch (native_os) {
DGRAM: bool = false,
_: std.meta.Int(.unsigned, @bitSizeOf(c_int) - 5) = 0,
},
.freebsd, .haiku => packed struct(u32) {
NOFQDN: bool = false,
NUMERICHOST: bool = false,
NAMEREQD: bool = false,
NUMERICSERV: bool = false,
DGRAM: bool = false,
NUMERICSCOPE: bool = false,
_: u26 = 0,
},
.dragonfly, .netbsd => packed struct(u32) {
NOFQDN: bool = false,
NUMERICHOST: bool = false,
NAMEREQD: bool = false,
NUMERICSERV: bool = false,
DGRAM: bool = false,
_5: u1 = 0,
NUMERICSCOPE: bool = false,
_: u25 = 0,
},
.openbsd => packed struct(u32) {
NUMERICHOST: bool = false,
NUMERICSERV: bool = false,
NOFQDN: bool = false,
NAMEREQD: bool = false,
DGRAM: bool = false,
_: u27 = 0,
},
.driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => packed struct(u32) {
NOFQDN: bool = false,
NUMERICHOST: bool = false,
NAMEREQD: bool = false,
NUMERICSERV: bool = false,
DGRAM: bool = false,
_5: u3 = 0,
NUMERICSCOPE: bool = false,
_: u23 = 0,
},
else => void,
};