diff --git a/sys/netipsec/ipsec6.h b/sys/netipsec/ipsec6.h index 19f6bf98ef64..ea44681de478 100644 --- a/sys/netipsec/ipsec6.h +++ b/sys/netipsec/ipsec6.h @@ -1,4 +1,4 @@ -/* $NetBSD: ipsec6.h,v 1.1 2003/08/13 20:06:50 jonathan Exp $ */ +/* $NetBSD: ipsec6.h,v 1.2 2003/11/20 06:35:09 jonathan Exp $ */ /* $FreeBSD: src/sys/netipsec/ipsec6.h,v 1.1.4.1 2003/01/24 05:11:35 sam Exp $ */ /* $KAME: ipsec.h,v 1.44 2001/03/23 08:08:47 itojun Exp $ */ @@ -40,6 +40,9 @@ #include #include +#ifdef __NetBSD__ +#include +#endif #ifdef _KERNEL extern int ip6_esp_trans_deflev; @@ -48,8 +51,10 @@ extern int ip6_ah_trans_deflev; extern int ip6_ah_net_deflev; extern int ip6_ipsec_ecn; extern int ip6_esp_randpad; +extern struct secpolicy ip6_def_policy; struct inpcb; +struct in6pcb; /* KAME compatibility shims */ #define ipsec6_getpolicybyaddr ipsec_getpolicybyaddr @@ -60,20 +65,33 @@ struct inpcb; #define out_polvio ips_out_polvio #define key_freesp(_x) KEY_FREESP(&_x) -extern int ipsec6_delete_pcbpolicy __P((struct inpcb *)); -extern int ipsec6_set_policy __P((struct inpcb *inp, int optname, +extern int ipsec6_delete_pcbpolicy __P((struct in6pcb *)); +extern int ipsec6_set_policy __P((struct in6pcb *inp, int optname, caddr_t request, size_t len, int priv)); extern int ipsec6_get_policy - __P((struct inpcb *inp, caddr_t request, size_t len, struct mbuf **mp)); -extern int ipsec6_in_reject __P((struct mbuf *, struct inpcb *)); + __P((struct in6pcb *inp, caddr_t request, size_t len, struct mbuf **mp)); +extern int ipsec6_in_reject __P((struct mbuf *, struct in6pcb *)); +/* + * KAME ipsec6_in_reject_so(struct mbuf*, struct so) compatibility shim + */ +#define ipsec6_in_reject_so(m, _so) \ + ipsec6_in_reject(m, ((_so) == NULL? NULL : sotoin6pcb(_so))) struct tcp6cb; -extern size_t ipsec6_hdrsiz __P((struct mbuf *, u_int, struct inpcb *)); +extern size_t ipsec6_hdrsiz __P((struct mbuf *, u_int, struct in6pcb *)); +extern size_t ipsec6_hdrsiz_tcp __P((struct tcpcb*)); struct ip6_hdr; extern const char *ipsec6_logpacketstr __P((struct ip6_hdr *, u_int32_t)); +#ifdef __NetBSD__ +/* NetBSD protosw ctlin entrypoint */ +extern void esp6_ctlinput __P((int, struct sockaddr *, void *)); +extern void ah6_ctlinput __P((int, struct sockaddr *, void *)); +extern int ipsec6_sysctl __P((int *, u_int, void *, size_t *, void *, size_t)); +#endif /* __NetBSD__ */ + struct m_tag; extern int ipsec6_common_input(struct mbuf **mp, int *offp, int proto); extern int ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav,