-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Haiku: Mark unsupported advanced network functions #121882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Haiku: Mark unsupported advanced network functions #121882
Conversation
|
C/c @am11 This one should be quite simple. |
|
Tagging subscribers to this area: @dotnet/ncl |
|
We should also want the attributes in ref source https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.NetworkInformation/ref/System.Net.NetworkInformation.cs , which matches illumos and solaris. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds UnsupportedOSPlatform("haiku") attributes to network functions in System.Net.NetworkInformation that are not supported on the Haiku operating system, providing compile-time warnings to developers using these APIs on Haiku.
- Adds Haiku platform annotations to match existing illumos/solaris unsupported APIs
- Ensures consistent platform API surface across Unix-like operating systems
- Part of broader effort to properly support Haiku platform (issue #55803)
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| UnixUnicastIPAddressInformation.cs | Added Haiku unsupported attributes to 8 properties related to DNS eligibility, address lifetimes, DHCP, and address detection |
| UnixMulticastIPAddressInformation.cs | Added Haiku unsupported attributes to 8 properties mirroring unicast address information properties |
| UnixIPGlobalProperties.cs | Added Haiku unsupported attributes to DhcpScopeName and IsWinsProxy properties |
| NetworkInterfacePal.UnknownUnix.cs | Added Haiku unsupported attributes to 4 PAL methods for network interface operations |
| NetworkInterface.cs | Added Haiku unsupported attributes to 4 public static methods/properties for network interface access |
| NetworkAddressChange.Windows.cs | Added Haiku unsupported attributes to 2 network change event handlers |
| NetworkAddressChange.UnknownUnix.cs | Added Haiku unsupported attributes to 2 network change event handlers |
| NetworkAddressChange.Unix.cs | Added Haiku unsupported attributes to 2 network change event handlers |
| NetworkAddressChange.OSX.cs | Added Haiku unsupported attributes to 2 network change event handlers |
| NetworkAddressChange.Android.cs | Added Haiku unsupported attributes to 2 network change event handlers |
| IPGlobalPropertiesPal.UnknownUnix.cs | Added Haiku unsupported attribute to GetIPGlobalProperties PAL method |
| IPGlobalProperties.cs | Added Haiku unsupported attribute to GetIPGlobalProperties public method |
|
@trungnt2910, I think it is ok to bypass the network info API for the time being, but please note that illumos has two/three arch-dependent libs left to port and NetworkInformation is one of them. Generally, it's better to follow FreeBSD's lead as it's more complete surface area when deciding what's ok to "skip" in the built SDK/shared framework. |
@am11 I am not blindly following Haiku does not have the same kind of magic socket/socket options that Linux and FreeBSD have to fit into the current implementations in I made an attempt to squish what Haiku offers into the current codebase for |
Add the `UnsupportedOSPlatformAttribute` for Haiku to managed network functions in `System.Net.NetworkInformation` to provide a consistent API on Haiku.
a3eb741 to
23addbb
Compare
|
Added the attributes in the reference source file. |
Guard some advanced network APIs that are marked "unsupported" by Haiku with compile time macros.
Add the
UnsupportedOSPlatformAttributefor Haiku to managed network functions inSystem.Net.NetworkInformationto provide a consistent API on Haiku.Part of #55803.