diff options
author | Andreas Kling <kling@serenityos.org> | 2021-08-14 18:06:44 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-08-14 19:58:11 +0200 |
commit | 661bd992b0bb0efc5f5871e48a09019639ff073c (patch) | |
tree | ed28bfc3d612b6cd883d931a5964334723ce8fa0 /Userland/Libraries | |
parent | ff50122dc514717e4b5d8924e21d3eaef59ca402 (diff) | |
download | serenity-661bd992b0bb0efc5f5871e48a09019639ff073c.zip |
Kernel+LibC: Share definitions for net/{if,if_arp,route}.h
Diffstat (limited to 'Userland/Libraries')
-rw-r--r-- | Userland/Libraries/LibC/net/if.h | 50 | ||||
-rw-r--r-- | Userland/Libraries/LibC/net/if_arp.h | 9 | ||||
-rw-r--r-- | Userland/Libraries/LibC/net/route.h | 21 |
3 files changed, 13 insertions, 67 deletions
diff --git a/Userland/Libraries/LibC/net/if.h b/Userland/Libraries/LibC/net/if.h index e8d1e69f14..ff32ea69fe 100644 --- a/Userland/Libraries/LibC/net/if.h +++ b/Userland/Libraries/LibC/net/if.h @@ -1,60 +1,16 @@ /* - * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> + * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org> * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once -#include <sys/cdefs.h> -#include <sys/socket.h> +#include <Kernel/API/POSIX/net/if.h> __BEGIN_DECLS -struct ifreq { -#define IFNAMSIZ 16 - char ifr_name[IFNAMSIZ]; - union { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - struct sockaddr ifru_netmask; - struct sockaddr ifru_hwaddr; - 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_netmask ifr_ifru.ifru_netmask // network mask -#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 -#define ifr_hwaddr ifr_ifru.ifru_hwaddr // MAC address -}; - -struct ifconf { - int ifc_len; - union { - void* ifc_buf; - struct ifreq* ifc_req; - }; -}; - -unsigned int if_nametoindex(const char* ifname); +unsigned int if_nametoindex(char const* ifname); char* if_indextoname(unsigned int ifindex, char* ifname); __END_DECLS diff --git a/Userland/Libraries/LibC/net/if_arp.h b/Userland/Libraries/LibC/net/if_arp.h new file mode 100644 index 0000000000..8cfd5037f0 --- /dev/null +++ b/Userland/Libraries/LibC/net/if_arp.h @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <Kernel/API/POSIX/net/if_arp.h> diff --git a/Userland/Libraries/LibC/net/route.h b/Userland/Libraries/LibC/net/route.h index aa82d81c92..cc6c0faa3b 100644 --- a/Userland/Libraries/LibC/net/route.h +++ b/Userland/Libraries/LibC/net/route.h @@ -6,23 +6,4 @@ #pragma once -#include <sys/socket.h> - -struct rtentry { - struct sockaddr rt_gateway; /* the gateway address */ - struct sockaddr rt_genmask; /* the target network mask */ - unsigned short int rt_flags; - char* rt_dev; - /* FIXME: complete the struct */ -}; - -#define RTF_UP 0x1 /* do not delete the route */ -#define RTF_GATEWAY 0x2 /* the route is a gateway and not an end host */ - -struct arpreq { - struct sockaddr arp_pa; /* protocol address */ - struct sockaddr arp_ha; /* hardware address */ - struct sockaddr arp_netmask; /* netmask of protocol address */ - int arp_flags; /* flags */ - char arp_dev[16]; -}; +#include <Kernel/API/POSIX/net/route.h> |