LibC: Add ifreq.ifr_{flags,mtu} and fix defines

compatibility defines for ifr_{netmask,gwaddr,hwaddr} were wrong
This commit is contained in:
Bananymous 2025-11-07 14:55:30 +02:00
parent f3319016c4
commit 3acad7c911
1 changed files with 20 additions and 13 deletions

View File

@ -7,10 +7,11 @@
#include <sys/socket.h>
#define IF_NAMESIZE 16
__BEGIN_DECLS
#define IF_NAMESIZE 16
#define IFNAMSIZ IF_NAMESIZE
struct if_nameindex
{
unsigned if_index; /* Numeric index of the interface. */
@ -28,14 +29,18 @@ struct ifreq
struct sockaddr ifru_netmask;
struct sockaddr ifru_gwaddr;
struct sockaddr ifru_hwaddr;
int ifru_flags;
int ifru_mtu;
unsigned char __min_storage[sizeof(struct sockaddr) + 6];
} ifr_ifru;
};
#define ifr_name ifr_ifrn.ifrn_name
#define ifr_addr ifr_ifru.ifru_addr
#define ifr_netmask ifr_ifru.ifru_addrnetmask
#define ifr_gwaddr ifr_ifru.ifru_addrgwaddr
#define ifr_hwaddr ifr_ifru.ifru_addrhwaddr
#define ifr_netmask ifr_ifru.ifru_netmask
#define ifr_gwaddr ifr_ifru.ifru_gwaddr
#define ifr_hwaddr ifr_ifru.ifru_hwaddr
#define ifr_flags ifr_ifru.ifru_flags
#define ifr_mtu ifr_ifru.ifru_mtu
#define SIOCGIFADDR 1 /* Get interface address */
#define SIOCSIFADDR 2 /* Set interface address */
@ -45,6 +50,8 @@ struct ifreq
#define SIOCSIFGWADDR 6 /* Set gateway address */
#define SIOCGIFHWADDR 7 /* Get hardware address */
#define SIOCGIFNAME 8 /* Get interface name */
#define SIOCGIFFLAGS 9
#define SIOCGIFMTU 10
void if_freenameindex(struct if_nameindex* ptr);
char* if_indextoname(unsigned ifindex, char* ifname);