aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2022-10-04 03:53:04 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2022-10-04 03:53:04 +0000
commit24b96f35b9113919602b8e0e6177ac4dfb848482 (patch)
tree1d01c516b0cb51d92889f8d5be6d504a0cc2073b /sys/netinet6
parentab9293239c7def9b93e3892f60ec3e7212b29bab (diff)
downloadsrc-24b96f35b9113919602b8e0e6177ac4dfb848482.tar.gz
src-24b96f35b9113919602b8e0e6177ac4dfb848482.zip
netinet*: move ipproto_register() and co to ip_var.h and ip6_var.h
This is a FreeBSD KPI and belongs to private header not netinet/in.h. Reviewed by: melifaro Differential revision: https://reviews.freebsd.org/D36723
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/ip6_input.c7
-rw-r--r--sys/netinet6/ip6_var.h10
2 files changed, 14 insertions, 3 deletions
diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c
index 2407050f6905..5c802beae2ee 100644
--- a/sys/netinet6/ip6_input.c
+++ b/sys/netinet6/ip6_input.c
@@ -131,9 +131,9 @@ __FBSDID("$FreeBSD$");
#include <netinet6/ip6protosw.h>
-ipproto_input_t *ip6_protox[IPPROTO_MAX] = {
+ip6proto_input_t *ip6_protox[IPPROTO_MAX] = {
[0 ... IPPROTO_MAX - 1] = rip6_input };
-ipproto_ctlinput_t *ip6_ctlprotox[IPPROTO_MAX] = {
+ip6proto_ctlinput_t *ip6_ctlprotox[IPPROTO_MAX] = {
[0 ... IPPROTO_MAX - 1] = rip6_ctlinput };
VNET_DEFINE(struct in6_ifaddrhead, in6_ifaddrhead);
@@ -308,7 +308,8 @@ ip6_init(void *arg __unused)
SYSINIT(ip6_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, ip6_init, NULL);
int
-ip6proto_register(uint8_t proto, ipproto_input_t input, ipproto_ctlinput_t ctl)
+ip6proto_register(uint8_t proto, ip6proto_input_t input,
+ ip6proto_ctlinput_t ctl)
{
MPASS(proto > 0);
diff --git a/sys/netinet6/ip6_var.h b/sys/netinet6/ip6_var.h
index c78cf52946fe..69ed33bd8e70 100644
--- a/sys/netinet6/ip6_var.h
+++ b/sys/netinet6/ip6_var.h
@@ -413,6 +413,16 @@ int in6_selectroute(struct sockaddr_in6 *, struct ip6_pktopts *,
u_int32_t ip6_randomid(void);
u_int32_t ip6_randomflowlabel(void);
void in6_delayed_cksum(struct mbuf *m, uint32_t plen, u_short offset);
+
+typedef int ip6proto_input_t(struct mbuf **, int *, int);
+typedef void ip6proto_ctlinput_t(int, struct sockaddr *, void *);
+int ip6proto_register(uint8_t, ip6proto_input_t, ip6proto_ctlinput_t);
+int ip6proto_unregister(uint8_t);
+#define IP6PROTO_REGISTER(prot, input, ctl) do { \
+ int error __diagused; \
+ error = ip6proto_register(prot, input, ctl); \
+ MPASS(error == 0); \
+} while (0)
#endif /* _KERNEL */
#endif /* !_NETINET6_IP6_VAR_H_ */