mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:18:11 +00:00
IPv4: Implement socket ioctls SIOCGIFADDR and SIOCSIFADDR
This allows userspace programs to get and set (superuser-only) the IPv4 address of a network adapter. :^)
This commit is contained in:
parent
a3575f3c60
commit
2482fc3538
7 changed files with 117 additions and 1 deletions
|
@ -406,3 +406,33 @@ struct iovec {
|
|||
struct sched_param {
|
||||
int sched_priority;
|
||||
};
|
||||
|
||||
struct ifreq {
|
||||
#define IFNAMSIZ 16
|
||||
char ifr_name[IFNAMSIZ];
|
||||
union {
|
||||
struct sockaddr ifru_addr;
|
||||
struct sockaddr ifru_dstaddr;
|
||||
struct sockaddr ifru_broadaddr;
|
||||
short ifru_flags;
|
||||
int ifru_metric;
|
||||
int64_t ifru_vnetid;
|
||||
uint64_t ifru_media;
|
||||
void* ifru_data;
|
||||
unsigned int ifru_index;
|
||||
} ifr_ifru;
|
||||
#define ifr_addr ifr_ifru.ifru_addr // address
|
||||
#define ifr_dstaddr ifr_ifru.ifru_dstaddr // other end of p-to-p link
|
||||
#define ifr_broadaddr ifr_ifru.ifru_broadaddr // broadcast address
|
||||
#define ifr_flags ifr_ifru.ifru_flags // flags
|
||||
#define ifr_metric ifr_ifru.ifru_metric // metric
|
||||
#define ifr_mtu ifr_ifru.ifru_metric // mtu (overload)
|
||||
#define ifr_hardmtu ifr_ifru.ifru_metric // hardmtu (overload)
|
||||
#define ifr_media ifr_ifru.ifru_media // media options
|
||||
#define ifr_rdomainid ifr_ifru.ifru_metric // VRF instance (overload)
|
||||
#define ifr_vnetid ifr_ifru.ifru_vnetid // Virtual Net Id
|
||||
#define ifr_ttl ifr_ifru.ifru_metric // tunnel TTL (overload)
|
||||
#define ifr_data ifr_ifru.ifru_data // for use by interface
|
||||
#define ifr_index ifr_ifru.ifru_index // interface index
|
||||
#define ifr_llprio ifr_ifru.ifru_metric // link layer priority
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue