Skip to content
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

freebsd: move net/if_mib.h contents to submodule #3367

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2453,6 +2453,33 @@ fn test_freebsd(target: &str) {
// FIXME: The values has been changed in FreeBSD 15:
"CLOCK_BOOTTIME" if Some(15) <= freebsd_ver => true,

// submodule ifmib, cannot be checked today
"DOT3COMPLIANCE_STATS"
| "DOT3COMPLIANCE_COLLS"
| "IFDATA_GENERAL"
| "IFDATA_LINKSPECIFIC"
| "IFDATA_DRIVERNAME"
| "IFMIB_IFCOUNT"
| "IFMIB_IFDATA"
| "IFMIB_SYSTEM"
| "NETLINK_GENERIC"
| "dot3ChipSetAMD7990"
| "dot3ChipSetAMD79900"
| "dot3ChipSetAMD79C940"
| "dot3ChipSetIntel82586"
| "dot3ChipSetIntel82596"
| "dot3ChipSetIntel82557"
| "dot3ChipSetNational8390"
| "dot3ChipSetNationalSonic"
| "dot3ChipSetFujitsu86950"
| "dot3ChipSetDigitalDC21040"
| "dot3ChipSetDigitalDC21140"
| "dot3ChipSetDigitalDC21041"
| "dot3ChipSetDigitalDC21140A"
| "dot3ChipSetDigitalDC21142"
| "dot3ChipSetWesternDigital83C690"
| "dot3ChipSetWesternDigital83C790" => true,

_ => false,
}
});
Expand Down
44 changes: 44 additions & 0 deletions src/unix/bsd/freebsdlike/freebsd/ifmib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// sys/net/if_mib.h

/// non-interface-specific
pub const IFMIB_SYSTEM: ::c_int = 1;
/// per-interface data table
pub const IFMIB_IFDATA: ::c_int = 2;

/// generic stats for all kinds of ifaces
pub const IFDATA_GENERAL: ::c_int = 1;
/// specific to the type of interface
pub const IFDATA_LINKSPECIFIC: ::c_int = 2;
/// driver name and unit
pub const IFDATA_DRIVERNAME: ::c_int = 3;

/// number of interfaces configured
pub const IFMIB_IFCOUNT: ::c_int = 1;

/// functions not specific to a type of iface
pub const NETLINK_GENERIC: ::c_int = 0;

pub const DOT3COMPLIANCE_STATS: ::c_int = 1;
pub const DOT3COMPLIANCE_COLLS: ::c_int = 2;

pub const dot3ChipSetAMD7990: ::c_int = 1;
pub const dot3ChipSetAMD79900: ::c_int = 2;
pub const dot3ChipSetAMD79C940: ::c_int = 3;

pub const dot3ChipSetIntel82586: ::c_int = 1;
pub const dot3ChipSetIntel82596: ::c_int = 2;
pub const dot3ChipSetIntel82557: ::c_int = 3;

pub const dot3ChipSetNational8390: ::c_int = 1;
pub const dot3ChipSetNationalSonic: ::c_int = 2;

pub const dot3ChipSetFujitsu86950: ::c_int = 1;

pub const dot3ChipSetDigitalDC21040: ::c_int = 1;
pub const dot3ChipSetDigitalDC21140: ::c_int = 2;
pub const dot3ChipSetDigitalDC21041: ::c_int = 3;
pub const dot3ChipSetDigitalDC21140A: ::c_int = 4;
pub const dot3ChipSetDigitalDC21142: ::c_int = 5;

pub const dot3ChipSetWesternDigital83C690: ::c_int = 1;
pub const dot3ChipSetWesternDigital83C790: ::c_int = 2;
48 changes: 3 additions & 45 deletions src/unix/bsd/freebsdlike/freebsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3483,51 +3483,6 @@ pub const IFDR_MSG_SIZE: ::c_int = 64;
pub const IFDR_REASON_MSG: ::c_int = 1;
pub const IFDR_REASON_VENDOR: ::c_int = 2;

// sys/net/if_mib.h

/// non-interface-specific
pub const IFMIB_SYSTEM: ::c_int = 1;
/// per-interface data table
pub const IFMIB_IFDATA: ::c_int = 2;

/// generic stats for all kinds of ifaces
pub const IFDATA_GENERAL: ::c_int = 1;
/// specific to the type of interface
pub const IFDATA_LINKSPECIFIC: ::c_int = 2;
/// driver name and unit
pub const IFDATA_DRIVERNAME: ::c_int = 3;

/// number of interfaces configured
pub const IFMIB_IFCOUNT: ::c_int = 1;

/// functions not specific to a type of iface
pub const NETLINK_GENERIC: ::c_int = 0;

pub const DOT3COMPLIANCE_STATS: ::c_int = 1;
pub const DOT3COMPLIANCE_COLLS: ::c_int = 2;

pub const dot3ChipSetAMD7990: ::c_int = 1;
pub const dot3ChipSetAMD79900: ::c_int = 2;
pub const dot3ChipSetAMD79C940: ::c_int = 3;

pub const dot3ChipSetIntel82586: ::c_int = 1;
pub const dot3ChipSetIntel82596: ::c_int = 2;
pub const dot3ChipSetIntel82557: ::c_int = 3;

pub const dot3ChipSetNational8390: ::c_int = 1;
pub const dot3ChipSetNationalSonic: ::c_int = 2;

pub const dot3ChipSetFujitsu86950: ::c_int = 1;

pub const dot3ChipSetDigitalDC21040: ::c_int = 1;
pub const dot3ChipSetDigitalDC21140: ::c_int = 2;
pub const dot3ChipSetDigitalDC21041: ::c_int = 3;
pub const dot3ChipSetDigitalDC21140A: ::c_int = 4;
pub const dot3ChipSetDigitalDC21142: ::c_int = 5;

pub const dot3ChipSetWesternDigital83C690: ::c_int = 1;
pub const dot3ChipSetWesternDigital83C790: ::c_int = 2;

// sys/netinet/in.h
// Protocols (RFC 1700)
// NOTE: These are in addition to the constants defined in src/unix/mod.rs
Expand Down Expand Up @@ -5883,3 +5838,6 @@ cfg_if! {
// Unknown target_arch
}
}

// sys/net/if_mib.h
pub mod ifmib;