102 lines
2.3 KiB
C
102 lines
2.3 KiB
C
/* SPDX-License-Identifier: Unlicense */
|
|
#ifndef __ZINNIA_UAPI_NET_H
|
|
#define __ZINNIA_UAPI_NET_H
|
|
|
|
#include <stdint.h>
|
|
#include <uapi/socket.h>
|
|
|
|
#define __IFNAMSIZ 16
|
|
|
|
#define __SIOCADDRT 0x890B
|
|
#define __SIOCDELRT 0x890C
|
|
#define __SIOCGIFCONF 0x8912
|
|
#define __SIOCGIFFLAGS 0x8913
|
|
#define __SIOCSIFFLAGS 0x8914
|
|
#define __SIOCGIFADDR 0x8915
|
|
#define __SIOCSIFADDR 0x8916
|
|
#define __SIOCGIFBRDADDR 0x8919
|
|
#define __SIOCSIFBRDADDR 0x891A
|
|
#define __SIOCGIFNETMASK 0x891B
|
|
#define __SIOCSIFNETMASK 0x891C
|
|
#define __SIOCGIFMTU 0x8921
|
|
#define __SIOCSIFMTU 0x8922
|
|
#define __SIOCGIFHWADDR 0x8927
|
|
#define __SIOCGIFINDEX 0x8933
|
|
|
|
#define __IFF_UP 0x1
|
|
#define __IFF_BROADCAST 0x2
|
|
#define __IFF_LOOPBACK 0x8
|
|
#define __IFF_RUNNING 0x40
|
|
#define __IFF_MULTICAST 0x1000
|
|
|
|
#define __ARPHRD_ETHER 1
|
|
|
|
#define __RTF_UP 0x0001
|
|
#define __RTF_GATEWAY 0x0002
|
|
#define __RTF_HOST 0x0004
|
|
|
|
#define __ETH_P_ALL 0x0003
|
|
#define __ETH_P_IP 0x0800
|
|
#define __ETH_P_ARP 0x0806
|
|
#define __ETH_P_IPV6 0x86DD
|
|
|
|
#define __PACKET_HOST 0
|
|
#define __PACKET_BROADCAST 1
|
|
#define __PACKET_MULTICAST 2
|
|
#define __PACKET_OTHERHOST 3
|
|
#define __PACKET_OUTGOING 4
|
|
|
|
#define __PACKET_AUXDATA 8
|
|
|
|
struct __ifmap {
|
|
unsigned long mem_start;
|
|
unsigned long mem_end;
|
|
unsigned short base_addr;
|
|
unsigned char irq;
|
|
unsigned char dma;
|
|
unsigned char port;
|
|
};
|
|
|
|
struct __ifreq {
|
|
char ifr_name[__IFNAMSIZ];
|
|
union {
|
|
struct __sockaddr ifr_addr;
|
|
struct __sockaddr ifr_dstaddr;
|
|
struct __sockaddr ifr_broadaddr;
|
|
struct __sockaddr ifr_netmask;
|
|
struct __sockaddr ifr_hwaddr;
|
|
short ifr_flags;
|
|
int ifr_ifindex;
|
|
int ifr_mtu;
|
|
struct __ifmap ifr_map;
|
|
char ifr_slave[__IFNAMSIZ];
|
|
char ifr_newname[__IFNAMSIZ];
|
|
uintptr_t ifr_data;
|
|
};
|
|
};
|
|
|
|
struct __ifconf {
|
|
int ifc_len;
|
|
uintptr_t ifc_buf;
|
|
};
|
|
|
|
struct __rtentry {
|
|
unsigned long rt_pad1;
|
|
struct __sockaddr rt_dst;
|
|
struct __sockaddr rt_gateway;
|
|
struct __sockaddr rt_genmask;
|
|
unsigned short rt_flags;
|
|
short rt_pad2;
|
|
unsigned long rt_pad3;
|
|
unsigned char rt_tos;
|
|
unsigned char rt_class;
|
|
short rt_pad4[3];
|
|
short rt_metric;
|
|
uintptr_t rt_dev;
|
|
unsigned long rt_mtu;
|
|
unsigned long rt_window;
|
|
unsigned short rt_irtt;
|
|
};
|
|
|
|
#endif
|