Add more UAPIs

This commit is contained in:
2026-10-19 19:08:37 +02:00
parent 70ca5115df
commit 4985a2a7b9
3 changed files with 172 additions and 23 deletions
+1
View File
@@ -26,6 +26,7 @@
#define __TIOCGWINSZ 0x5413
#define __TIOCSWINSZ 0x5414
#define __FIONREAD 0x541B
#define __TIOCCONS 0x541D
#define __TIOCPKT 0x5420
#define __FIONBIO 0x5421
#define __TIOCNOTTY 0x5422
+101
View File
@@ -0,0 +1,101 @@
/* 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
+70 -23
View File
@@ -40,6 +40,42 @@ struct __sockaddr_un {
char sun_path[108];
};
typedef uint32_t __in_addr_t;
typedef uint16_t __in_port_t;
struct __in_addr {
__in_addr_t s_addr;
};
struct __sockaddr_in {
__sa_family_t sin_family;
__in_port_t sin_port;
struct __in_addr sin_addr;
uint8_t sin_zero[8];
};
struct __in6_addr {
uint8_t s6_addr[16];
};
struct __sockaddr_in6 {
__sa_family_t sin6_family;
__in_port_t sin6_port;
uint32_t sin6_flowinfo;
struct __in6_addr sin6_addr;
uint32_t sin6_scope_id;
};
struct __sockaddr_ll {
__sa_family_t sll_family;
uint16_t sll_protocol;
int32_t sll_ifindex;
uint16_t sll_hatype;
uint8_t sll_pkttype;
uint8_t sll_halen;
uint8_t sll_addr[8];
};
struct __ucred {
__pid_t pid;
__uid_t uid;
@@ -57,31 +93,36 @@ struct __ucred {
#define __SOCK_CLOEXEC (1 << 16)
#define __SOCK_CLOFORK (1 << 17)
#define __SOL_IP 0
#define __SOL_SOCKET 1
#define __SOL_PACKET 263
#define __SO_ACCEPTCONN 1
#define __SO_BROADCAST 2
#define __SO_DEBUG 3
#define __SO_DONTROUTE 4
#define __SO_ERROR 5
#define __SO_KEEPALIVE 6
#define __SO_LINGER 7
#define __SO_OOBINLINE 8
#define __SO_RCVBUF 9
#define __SO_RCVLOWAT 10
#define __SO_RCVTIMEO 11
#define __SO_REUSEADDR 12
#define __SO_SNDBUF 13
#define __SO_SNDLOWAT 14
#define __SO_SNDTIMEO 15
#define __SO_TYPE 16
#define __SO_SNDBUFFORCE 17
#define __SO_PEERCRED 18
#define __SO_PASSCRED 20
#define __SO_RCVBUFFORCE 21
#define __SO_PROTOCOL 23
#define __SO_REUSEPORT 24
#define __SO_DOMAIN 28
#define __SO_ACCEPTCONN 1
#define __SO_BROADCAST 2
#define __SO_DEBUG 3
#define __SO_DONTROUTE 4
#define __SO_ERROR 5
#define __SO_KEEPALIVE 6
#define __SO_LINGER 7
#define __SO_OOBINLINE 8
#define __SO_RCVBUF 9
#define __SO_RCVLOWAT 10
#define __SO_RCVTIMEO 11
#define __SO_REUSEADDR 12
#define __SO_SNDBUF 13
#define __SO_SNDLOWAT 14
#define __SO_SNDTIMEO 15
#define __SO_TYPE 16
#define __SO_SNDBUFFORCE 17
#define __SO_PEERCRED 18
#define __SO_ATTACH_FILTER 19
#define __SO_PASSCRED 20
#define __SO_RCVBUFFORCE 21
#define __SO_DETACH_FILTER 22
#define __SO_PROTOCOL 23
#define __SO_REUSEPORT 24
#define __SO_BINDTODEVICE 27
#define __SO_DOMAIN 28
#define __SOMAXCONN 128
@@ -105,6 +146,12 @@ struct __ucred {
#define __AF_UNIX 3
#define __AF_PACKET 11
#define __IPPROTO_IP 0
#define __IPPROTO_ICMP 1
#define __IPPROTO_TCP 6
#define __IPPROTO_UDP 17
#define __IPPROTO_RAW 255
#define __SHUT_RD 1
#define __SHUT_WR 2
#define __SHUT_RDWR (__SHUT_RD | __SHUT_WR)