Added some padding in place of ifru_map to ensure ifreq structure correctly match the structure defined in Linux

This commit is contained in:
Fabrizio Bertocci 2021-05-11 21:37:25 -04:00
parent 2323b3c0e2
commit 8279a993d5

View file

@ -110,24 +110,32 @@ struct ifreq {
struct sockaddr ifru_addr; struct sockaddr ifru_addr;
struct sockaddr ifru_dstaddr; struct sockaddr ifru_dstaddr;
struct sockaddr ifru_broadaddr; struct sockaddr ifru_broadaddr;
short int ifru_flags; struct sockaddr ifru_netmask;
int ifru_ivalue; struct sockaddr ifru_hwaddr;
int ifru_mtu; short ifru_flags;
int ifru_ivalue;
int ifru_mtu;
char ifru_map[24]; /* Unsupported, used as padding */
} ifr_ifru; } ifr_ifru;
}; };
# define ifr_name ifr_ifrn.ifrn_name /* interface name */ #define ifr_name ifr_ifrn.ifrn_name /* interface name */
# define ifr_addr ifr_ifru.ifru_addr /* address */ #define ifr_addr ifr_ifru.ifru_addr /* address */
# define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */ #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */
# define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
# define ifr_flags ifr_ifru.ifru_flags /* flags */ #define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
# define ifr_metric ifr_ifru.ifru_ivalue /* metric */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
# define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
# define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */ #define ifr_flags ifr_ifru.ifru_flags /* flags */
# define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */ #define ifr_metric ifr_ifru.ifru_ivalue /* metric */
# define ifr_qlen ifr_ifru.ifru_ivalue /* queue length */ #define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */
# define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0) #define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */
# define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0) #define ifr_qlen ifr_ifru.ifru_ivalue /* queue length */
# define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0) #define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
/* ifru_map is unsupported */
#define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0)
#define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
#define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
#define IFF_UP (1<<0) #define IFF_UP (1<<0)