summary refs log tree commit diff
path: root/src/platform/nm-platform-utils.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2017-01-17 20:25:09 +0100
committerMichael Biebl <biebl@debian.org>2017-01-17 20:25:09 +0100
commit58f8be580039b0575b197b9573a1c92745d96d30 (patch)
tree2c226233f623a0dcb529be0eb8cdf97e4a2ae0c0 /src/platform/nm-platform-utils.h
parent45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (diff)
New upstream version 1.5.90 upstream/1.5.90
Diffstat (limited to 'src/platform/nm-platform-utils.h')
-rw-r--r--src/platform/nm-platform-utils.h51
1 files changed, 34 insertions, 17 deletions
diff --git a/src/platform/nm-platform-utils.h b/src/platform/nm-platform-utils.h
index 92a06fdf..699e80c6 100644
--- a/src/platform/nm-platform-utils.h
+++ b/src/platform/nm-platform-utils.h
@@ -27,39 +27,56 @@
 #include "nm-setting-wired.h"
 
 
-const char *nmp_utils_ethtool_get_driver (const char *ifname);
-gboolean nmp_utils_ethtool_supports_carrier_detect (const char *ifname);
-gboolean nmp_utils_ethtool_supports_vlans (const char *ifname);
-int nmp_utils_ethtool_get_peer_ifindex (const char *ifname);
-gboolean nmp_utils_ethtool_get_wake_on_lan (const char *ifname);
-gboolean nmp_utils_ethtool_set_wake_on_lan (const char *ifname, NMSettingWiredWakeOnLan wol,
+const char *nmp_utils_ethtool_get_driver (int ifindex);
+gboolean nmp_utils_ethtool_supports_carrier_detect (int ifindex);
+gboolean nmp_utils_ethtool_supports_vlans (int ifindex);
+int nmp_utils_ethtool_get_peer_ifindex (int ifindex);
+gboolean nmp_utils_ethtool_get_wake_on_lan (int ifindex);
+gboolean nmp_utils_ethtool_set_wake_on_lan (int ifindex, NMSettingWiredWakeOnLan wol,
                                             const char *wol_password);
 
-gboolean nmp_utils_ethtool_get_link_speed (const char *ifname, guint32 *out_speed);
-
-gboolean nmp_utils_ethtool_get_driver_info (const char *ifname,
-                                            char **out_driver_name,
-                                            char **out_driver_version,
-                                            char **out_fw_version);
-
-gboolean  nmp_utils_ethtool_get_permanent_address (const char *ifname,
+gboolean nmp_utils_ethtool_get_link_settings (int ifindex, gboolean *out_autoneg, guint32 *out_speed, NMPlatformLinkDuplexType *out_duplex);
+gboolean nmp_utils_ethtool_set_link_settings (int ifindex, gboolean autoneg, guint32 speed, NMPlatformLinkDuplexType duplex);
+
+typedef struct {
+	/* We don't want to include <linux/ethtool.h> in header files,
+	 * thus create a ABI compatible version of struct ethtool_drvinfo.*/
+	guint32 _private_cmd;
+	char    driver[32];
+	char    version[32];
+	char    fw_version[32];
+	char    _private_bus_info[32];
+	char    _private_erom_version[32];
+	char    _private_reserved2[12];
+	guint32 _private_n_priv_flags;
+	guint32 _private_n_stats;
+	guint32 _private_testinfo_len;
+	guint32 _private_eedump_len;
+	guint32 _private_regdump_len;
+} NMPUtilsEthtoolDriverInfo;
+
+gboolean nmp_utils_ethtool_get_driver_info (int ifindex,
+                                            NMPUtilsEthtoolDriverInfo *data);
+
+gboolean  nmp_utils_ethtool_get_permanent_address (int ifindex,
                                                    guint8 *buf,
                                                    size_t *length);
 
 
-gboolean nmp_utils_mii_supports_carrier_detect (const char *ifname);
+gboolean nmp_utils_mii_supports_carrier_detect (int ifindex);
 
 
 const char *nmp_utils_udev_get_driver (GUdevDevice *device);
 
-gboolean nmp_utils_device_exists (const char *name);
-
 NMIPConfigSource nmp_utils_ip_config_source_from_rtprot (guint8 rtprot) _nm_const;
 guint8           nmp_utils_ip_config_source_coerce_to_rtprot   (NMIPConfigSource source) _nm_const;
 NMIPConfigSource nmp_utils_ip_config_source_coerce_from_rtprot (NMIPConfigSource source) _nm_const;
 NMIPConfigSource nmp_utils_ip_config_source_round_trip_rtprot  (NMIPConfigSource source) _nm_const;
 const char *     nmp_utils_ip_config_source_to_string (NMIPConfigSource source, char *buf, gsize len);
 
+const char *nmp_utils_if_indextoname (int ifindex, char *out_ifname/*IFNAMSIZ*/);
+int nmp_utils_if_nametoindex (const char *ifname);
+
 int nmp_utils_sysctl_open_netdir (int ifindex,
                                   const char *ifname_guess,
                                   char *out_ifname);