-
-
Notifications
You must be signed in to change notification settings - Fork 26
Implement native Windows network interface enumeration #790
Copy link
Copy link
Open
Labels
cross-platformIssues related to making Wave work seamlessly across multiple operating systems.Issues related to making Wave work seamlessly across multiple operating systems.discussionIssues that require a technical or community discussion.Issues that require a technical or community discussion.enhancementA request for a new feature or improvement.A request for a new feature or improvement.help wantedThe issue requires extra attention or help from others.The issue requires extra attention or help from others.os supportA request to add support for a new operating system.A request to add support for a new operating system.
Description
Activity
Metadata
Metadata
Assignees
Labels
cross-platformIssues related to making Wave work seamlessly across multiple operating systems.Issues related to making Wave work seamlessly across multiple operating systems.discussionIssues that require a technical or community discussion.Issues that require a technical or community discussion.enhancementA request for a new feature or improvement.A request for a new feature or improvement.help wantedThe issue requires extra attention or help from others.The issue requires extra attention or help from others.os supportA request to add support for a new operating system.A request to add support for a new operating system.
Motivation
The public network interface API routes to a Windows provider whose interfaces_open always returns -95; the remaining accessor functions are stubs. Windows amd64/ARM64 applications cannot enumerate local interface addresses through the portable API. This is separate from Linux's getifaddrs replacement (#566).
Starting points: std/sys/windows/interfaces.wave, std/sys/interfaces.wave, std/net/interface.wave.
Scope
Implement a Windows-native provider, for example using GetAdaptersAddresses, while preserving the public output-buffer API. Define how Windows adapter identity, display names, flags and address families map to NetworkInterface. Cover native allocation ownership and the required import library; no libc adapter is needed. Related Windows provider tracker: #385.
Difficulty: hard.
Completion criteria
Design decision needed: Agree on stable interface identity/name encoding and flag mappings, including truncation behavior, before implementing the provider.
Please mention @LunaStev to discuss the design before starting implementation.