From e91c118db99874bef7e2cd657505aa4bafbbb6fa Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 5 Mar 2018 12:07:57 +0100 Subject: sys/linux: make ifreq template, fix some usages --- sys/linux/socket.txt | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) (limited to 'sys/linux/socket.txt') diff --git a/sys/linux/socket.txt b/sys/linux/socket.txt index 46b434fae..5a652fb4f 100644 --- a/sys/linux/socket.txt +++ b/sys/linux/socket.txt @@ -190,7 +190,7 @@ sockopt_so_timestamping = SOF_TIMESTAMPING_TX_HARDWARE, SOF_TIMESTAMPING_TX_SOFT # TODO: add SIOCADDRT, SIOCDELRT, SIOCRTMSG, SIOCDRARP, SIOCGRARP, SIOCSRARP, SIOCGIFVLAN, SIOCSIFVLAN, SIOCGSTAMP, SIOCGSTAMPNS -ioctl$sock_SIOCETHTOOL(fd sock, cmd const[SIOCETHTOOL], arg ptr[inout, ifreq_SIOCETHTOOL]) +ioctl$sock_SIOCETHTOOL(fd sock, cmd const[SIOCETHTOOL], arg ptr[inout, ifreq_t[ptr[inout, ethtool_cmd_u]]]) ioctl$sock_SIOCOUTQ(fd sock, cmd const[SIOCOUTQ], arg ptr[out, int32]) ioctl$sock_SIOCINQ(fd sock, cmd const[SIOCINQ], arg ptr[out, int32]) @@ -201,7 +201,7 @@ ifreq_ioctls = SIOCGIFNAME, SIOCSIFLINK, SIOCGIFFLAGS, SIOCSIFFLAGS, SIOCGIFADDR ioctl$sock_ifreq(fd sock, cmd flags[ifreq_ioctls], arg ptr[inout, ifreq]) -ioctl$sock_SIOCGIFINDEX(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_SIOCGIFINDEX]) +ioctl$sock_SIOCGIFINDEX(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_t[ifindex]]) ioctl$sock_SIOCGIFBR(fd sock, cmd const[SIOCGIFBR], arg ptr[inout, brctl_arg]) ioctl$sock_SIOCSIFBR(fd sock, cmd const[SIOCSIFBR], arg ptr[inout, brctl_arg]) @@ -233,13 +233,16 @@ ioctl$sock_SIOCGPGRP(fd sock, cmd const[SIOCGPGRP], arg ptr[out, pid]) resource ifindex[int32] -ifreq { +type ifreq_t[ELEM] { ifr_ifrn devname - ifr_ifru ifr_ifru + elem ELEM } [size[IFREQ_SIZE]] +type ifreq ifreq_t[ifr_ifru] + ifr_ifru [ ifru_addrs sockaddr + ifru_hwaddr mac_addr ifru_flags flags[ifru_flags, int16] ifru_ivalue int32 ifru_mtu int32 @@ -249,21 +252,6 @@ ifr_ifru [ ifru_settings if_settings ] -ifreq_SIOCGIFINDEX { - ifr_ifrn devname - ifr_ifru ifindex -} [size[IFREQ_SIZE]] - -ifreq_SIOCETHTOOL { - ifr_ifrn devname - ifr_ifru ptr[inout, ethtool_cmd_u] -} [size[IFREQ_SIZE]] - -ifreq_mtu { - ifr_ifrn devname - ifru_mtu int32 -} [size[IFREQ_SIZE]] - define IFREQ_SIZE sizeof(struct ifreq) # We could add "eth0" to this list as well, but this will affect the connection -- cgit mrf-deployment