diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2022-10-04 03:53:04 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2022-10-04 03:53:04 +0000 |
commit | 24b96f35b9113919602b8e0e6177ac4dfb848482 (patch) | |
tree | 1d01c516b0cb51d92889f8d5be6d504a0cc2073b /sys/netinet6 | |
parent | ab9293239c7def9b93e3892f60ec3e7212b29bab (diff) | |
download | src-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.c | 7 | ||||
-rw-r--r-- | sys/netinet6/ip6_var.h | 10 |
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_ */ |