Files
zinnia/include/uapi/net.h
T
2026-10-19 19:08:37 +02:00

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