diff --git a/meson.build b/meson.build index 8b51d032b8..86e1c8932b 100644 --- a/meson.build +++ b/meson.build @@ -425,7 +425,6 @@ decl_headers = ''' foreach decl : ['char16_t', 'char32_t', - 'struct ethtool_link_settings', 'struct fib_rule_uid_range', 'struct statx', ] diff --git a/src/basic/missing.h b/src/basic/missing.h index d100311793..c0c1d40665 100644 --- a/src/basic/missing.h +++ b/src/basic/missing.h @@ -1302,33 +1302,6 @@ typedef int32_t key_serial_t; #define IFA_F_MCAUTOJOIN 0x400 #endif -#if ! HAVE_STRUCT_ETHTOOL_LINK_SETTINGS - -#define ETHTOOL_GLINKSETTINGS 0x0000004c /* Get ethtool_link_settings */ -#define ETHTOOL_SLINKSETTINGS 0x0000004d /* Set ethtool_link_settings */ - -struct ethtool_link_settings { - __u32 cmd; - __u32 speed; - __u8 duplex; - __u8 port; - __u8 phy_address; - __u8 autoneg; - __u8 mdio_support; - __u8 eth_tp_mdix; - __u8 eth_tp_mdix_ctrl; - __s8 link_mode_masks_nwords; - __u32 reserved[8]; - __u32 link_mode_masks[0]; - /* layout of link_mode_masks fields: - * __u32 map_supported[link_mode_masks_nwords]; - * __u32 map_advertising[link_mode_masks_nwords]; - * __u32 map_lp_advertising[link_mode_masks_nwords]; - */ -}; - -#endif - #if ! HAVE_STRUCT_FIB_RULE_UID_RANGE struct fib_rule_uid_range { @@ -1464,6 +1437,10 @@ struct statx { #endif #if !HAVE_ETHTOOL_LINK_MODE_10baseT_Half_BIT /* linux@3f1ac7a700d039c61d8d8b99f28d605d489a60cf (4.6) */ + +#define ETHTOOL_GLINKSETTINGS 0x0000004c /* Get ethtool_link_settings */ +#define ETHTOOL_SLINKSETTINGS 0x0000004d /* Set ethtool_link_settings */ + struct ethtool_link_settings { __u32 cmd; __u32 speed; @@ -1485,6 +1462,7 @@ struct ethtool_link_settings { * __u32 map_lp_advertising[link_mode_masks_nwords]; */ }; + enum ethtool_link_mode_bit_indices { ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0, ETHTOOL_LINK_MODE_10baseT_Full_BIT = 1,