fd = socket_ioctl_fd();
if (fd < 0)
return fd;
+
*ret = fd;
return 0;
return 0;
}
-static int ethtool_get_stringset(int *fd, struct ifreq *ifr, int stringset_id, struct ethtool_gstrings **gstrings) {
+static int get_stringset(int fd, struct ifreq *ifr, int stringset_id, struct ethtool_gstrings **gstrings) {
_cleanup_free_ struct ethtool_gstrings *strings = NULL;
struct {
struct ethtool_sset_info info;
ifr->ifr_data = (void *) &buffer.info;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
ifr->ifr_data = (void *) strings;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
strscpy(ifr.ifr_name, IFNAMSIZ, ifname);
- r = ethtool_get_stringset(fd, &ifr, ETH_SS_FEATURES, &strings);
+ r = get_stringset(*fd, &ifr, ETH_SS_FEATURES, &strings);
if (r < 0)
return log_warning_errno(r, "link_config: could not get ethtool features for %s", ifname);
return 0;
}
-static int get_glinksettings(int *fd, struct ifreq *ifr, struct ethtool_link_usettings **g) {
+static int get_glinksettings(int fd, struct ifreq *ifr, struct ethtool_link_usettings **g) {
struct ecmd {
struct ethtool_link_settings req;
__u32 link_mode_data[3 * ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32];
ifr->ifr_data = (void *) &ecmd;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
ifr->ifr_data = (void *) &ecmd;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
return 0;
}
-static int get_gset(int *fd, struct ifreq *ifr, struct ethtool_link_usettings **u) {
+static int get_gset(int fd, struct ifreq *ifr, struct ethtool_link_usettings **u) {
struct ethtool_link_usettings *e;
struct ethtool_cmd ecmd = {
.cmd = ETHTOOL_GSET,
ifr->ifr_data = (void *) &ecmd;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
return 0;
}
-static int set_slinksettings(int *fd, struct ifreq *ifr, const struct ethtool_link_usettings *u) {
+static int set_slinksettings(int fd, struct ifreq *ifr, const struct ethtool_link_usettings *u) {
struct {
struct ethtool_link_settings req;
__u32 link_mode_data[3 * ETHTOOL_LINK_MODE_MASK_MAX_KERNEL_NU32];
ifr->ifr_data = (void *) &ecmd;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
return 0;
}
-static int set_sset(int *fd, struct ifreq *ifr, const struct ethtool_link_usettings *u) {
+static int set_sset(int fd, struct ifreq *ifr, const struct ethtool_link_usettings *u) {
struct ethtool_cmd ecmd = {
.cmd = ETHTOOL_SSET,
};
ifr->ifr_data = (void *) &ecmd;
- r = ioctl(*fd, SIOCETHTOOL, ifr);
+ r = ioctl(fd, SIOCETHTOOL, ifr);
if (r < 0)
return -errno;
strscpy(ifr.ifr_name, IFNAMSIZ, ifname);
- r = get_glinksettings(fd, &ifr, &u);
+ r = get_glinksettings(*fd, &ifr, &u);
if (r < 0) {
- r = get_gset(fd, &ifr, &u);
+ r = get_gset(*fd, &ifr, &u);
if (r < 0)
return log_warning_errno(r, "link_config: Cannot get device settings for %s : %m", ifname);
}
u->base.autoneg = link->autonegotiation;
if (u->base.cmd == ETHTOOL_GLINKSETTINGS)
- r = set_slinksettings(fd, &ifr, u);
+ r = set_slinksettings(*fd, &ifr, u);
else
- r = set_sset(fd, &ifr, u);
+ r = set_sset(*fd, &ifr, u);
if (r < 0)
return log_warning_errno(r, "link_config: Cannot set device settings for %s : %m", ifname);