authorgravatar for lukas@lalinsky.comLukas Lalinsky <lukas@lalinsky.com> 2025-11-16 21:06:47+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-17 19:01:39+01:00
log73f863a6fb1e844ec312345b3160e3987fe6586d
tree7bb94da2681a168c3b0bfbd8e5b0615aa0a7f280
parentf0a3df98d35417313854d77e671f35ea9e86d82c

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

1 files changed, 41 insertions(+), 3 deletions(-)

lib/std/c.zig+41-3
...@@ -7269,7 +7269,8 @@ pub const AI = if (builtin.abi.isAndroid()) packed struct(u32) {...@@ -7269,7 +7269,8 @@ pub const AI = if (builtin.abi.isAndroid()) packed struct(u32) {
7269 NUMERICSERV: bool = false,7269 NUMERICSERV: bool = false,
7270 _4: u6 = 0,7270 _4: u6 = 0,
7271 ADDRCONFIG: bool = false,7271 ADDRCONFIG: bool = false,
7272 _: u21 = 0,7272 SRV: bool = false,
7273 _: u20 = 0,
7273 },7274 },
7274 .illumos => packed struct(u32) {7275 .illumos => packed struct(u32) {
7275 V4MAPPED: bool = false,7276 V4MAPPED: bool = false,
...@@ -7285,9 +7286,9 @@ pub const AI = if (builtin.abi.isAndroid()) packed struct(u32) {...@@ -7285,9 +7286,9 @@ pub const AI = if (builtin.abi.isAndroid()) packed struct(u32) {
7285 PASSIVE: bool = false,7286 PASSIVE: bool = false,
7286 CANONNAME: bool = false,7287 CANONNAME: bool = false,
7287 NUMERICHOST: bool = false,7288 NUMERICHOST: bool = false,
7288 _3: u1 = 0,7289 EXT: bool = false,
7289 NUMERICSERV: bool = false,7290 NUMERICSERV: bool = false,
7290 _5: u1 = 0,7291 FQDN: bool = false,
7291 ADDRCONFIG: bool = false,7292 ADDRCONFIG: bool = false,
7292 _: u25 = 0,7293 _: u25 = 0,
7293 },7294 },
...@@ -7348,6 +7349,43 @@ pub const NI = switch (native_os) {...@@ -7348,6 +7349,43 @@ pub const NI = switch (native_os) {
7348 DGRAM: bool = false,7349 DGRAM: bool = false,
7349 _: std.meta.Int(.unsigned, @bitSizeOf(c_int) - 5) = 0,7350 _: std.meta.Int(.unsigned, @bitSizeOf(c_int) - 5) = 0,
7350 },7351 },
7352 .freebsd, .haiku => packed struct(u32) {
7353 NOFQDN: bool = false,
7354 NUMERICHOST: bool = false,
7355 NAMEREQD: bool = false,
7356 NUMERICSERV: bool = false,
7357 DGRAM: bool = false,
7358 NUMERICSCOPE: bool = false,
7359 _: u26 = 0,
7360 },
7361 .dragonfly, .netbsd => packed struct(u32) {
7362 NOFQDN: bool = false,
7363 NUMERICHOST: bool = false,
7364 NAMEREQD: bool = false,
7365 NUMERICSERV: bool = false,
7366 DGRAM: bool = false,
7367 _5: u1 = 0,
7368 NUMERICSCOPE: bool = false,
7369 _: u25 = 0,
7370 },
7371 .openbsd => packed struct(u32) {
7372 NUMERICHOST: bool = false,
7373 NUMERICSERV: bool = false,
7374 NOFQDN: bool = false,
7375 NAMEREQD: bool = false,
7376 DGRAM: bool = false,
7377 _: u27 = 0,
7378 },
7379 .driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => packed struct(u32) {
7380 NOFQDN: bool = false,
7381 NUMERICHOST: bool = false,
7382 NAMEREQD: bool = false,
7383 NUMERICSERV: bool = false,
7384 DGRAM: bool = false,
7385 _5: u3 = 0,
7386 NUMERICSCOPE: bool = false,
7387 _: u23 = 0,
7388 },
7351 else => void,7389 else => void,
7352};7390};
73537391