#ifndef _NETKEY_KEY_H_
#define _NETKEY_KEY_H_
+#include <sys/appleapiopts.h>
#ifdef KERNEL
+#ifdef __APPLE_API_PRIVATE
extern struct key_cb key_cb;
struct sadb_msg;
struct sadb_x_policy;
-extern struct secpolicy *key_allocsp __P((struct secpolicyindex *spidx,
- u_int dir));
+extern struct secpolicy *key_allocsp __P((struct secpolicyindex *, u_int));
+extern struct secpolicy *key_gettunnel __P((struct sockaddr *,
+ struct sockaddr *, struct sockaddr *, struct sockaddr *));
extern int key_checkrequest
- __P((struct ipsecrequest *isr, struct secasindex *saidx));
-extern struct secasvar *key_allocsa __P((u_int family, caddr_t src, caddr_t dst,
- u_int proto, u_int32_t spi));
-extern void key_freesp __P((struct secpolicy *sp));
-extern void key_freeso __P((struct socket *so));
-extern void key_freesav __P((struct secasvar *sav));
+ __P((struct ipsecrequest *isr, struct secasindex *));
+extern struct secasvar *key_allocsa __P((u_int, caddr_t, caddr_t,
+ u_int, u_int32_t));
+extern void key_freesp __P((struct secpolicy *));
+extern void key_freeso __P((struct socket *));
+extern void key_freesav __P((struct secasvar *));
extern struct secpolicy *key_newsp __P((void));
-extern struct secpolicy *key_msg2sp __P((struct sadb_x_policy *xpl0,
- size_t len, int *error));
-extern struct mbuf *key_sp2msg __P((struct secpolicy *sp));
-extern int key_ismyaddr __P((u_int family, caddr_t addr));
+extern struct secpolicy *key_msg2sp __P((struct sadb_x_policy *,
+ size_t, int *));
+extern struct mbuf *key_sp2msg __P((struct secpolicy *));
+extern int key_ismyaddr __P((struct sockaddr *));
+extern int key_spdacquire __P((struct secpolicy *));
extern void key_timehandler __P((void));
-extern void key_srandom __P((void));
-extern void key_freereg __P((struct socket *so));
-extern int key_parse __P((struct sadb_msg **msgp, struct socket *so,
- int *targetp));
+extern u_long key_random __P((void));
+extern void key_randomfill __P((void *, size_t));
+extern void key_freereg __P((struct socket *));
+extern int key_parse __P((struct mbuf *, struct socket *));
extern void key_init __P((void));
-extern int key_checktunnelsanity __P((struct secasvar *sav, u_int family,
- caddr_t src, caddr_t dst));
-extern void key_sa_recordxfer __P((struct secasvar *sav, struct mbuf *m));
-extern void key_sa_routechange __P((struct sockaddr *dst));
+extern int key_checktunnelsanity __P((struct secasvar *, u_int,
+ caddr_t, caddr_t));
+extern void key_sa_recordxfer __P((struct secasvar *, struct mbuf *));
+extern void key_sa_routechange __P((struct sockaddr *));
+extern void key_sa_stir_iv __P((struct secasvar *));
-#if MALLOC_DECLARE
-MALLOC_DECLARE(M_SECA);
-#endif /* MALLOC_DECLARE */
-
-#if defined(__bsdi__) || defined(__NetBSD__)
-extern int key_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
-#endif
-
-#endif /* defined(KERNEL) */
+#endif /* __APPLE_API_PRIVATE */
+#endif /* defined(_KERNEL) */
#endif /* _NETKEY_KEY_H_ */