X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/9bccf70c0258c7cac2dcb80011b2a964d884c552..3e170ce000f1506b7b5d2c5c7faec85ceabb573d:/bsd/netkey/key.h diff --git a/bsd/netkey/key.h b/bsd/netkey/key.h index 99cf8bee4..82c97c639 100644 --- a/bsd/netkey/key.h +++ b/bsd/netkey/key.h @@ -33,8 +33,10 @@ #define _NETKEY_KEY_H_ #include -#ifdef KERNEL -#ifdef __APPLE_API_PRIVATE +#ifdef BSD_KERNEL_PRIVATE + +#define KEY_SADB_UNLOCKED 0 +#define KEY_SADB_LOCKED 1 extern struct key_cb key_cb; @@ -46,35 +48,66 @@ struct sockaddr; struct socket; struct sadb_msg; struct sadb_x_policy; +struct secasindex; +struct secashead; +struct sadb_key; +struct sadb_lifetime; + +extern struct secpolicy *key_allocsp(struct secpolicyindex *, u_int); +extern struct secasvar *key_allocsa_policy(struct secasindex *); +extern struct secpolicy *key_gettunnel(struct sockaddr *, + struct sockaddr *, struct sockaddr *, struct sockaddr *); +extern struct secasvar *key_alloc_outbound_sav_for_interface(ifnet_t, int); +extern int key_checkrequest(struct ipsecrequest *isr, struct secasindex *, + struct secasvar **sav); +extern struct secasvar *key_allocsa(u_int, caddr_t, caddr_t, + u_int, u_int32_t); +extern u_int16_t key_natt_get_translated_port(struct secasvar *); +extern void key_freesp(struct secpolicy *, int); +extern void key_freesav(struct secasvar *, int); +extern struct secpolicy *key_newsp(void); +extern struct secpolicy *key_msg2sp(struct sadb_x_policy *, size_t, int *); +extern struct mbuf *key_sp2msg(struct secpolicy *); +extern int key_ismyaddr(struct sockaddr *); +extern int key_spdacquire(struct secpolicy *); +extern void key_timehandler(void); +extern u_int32_t key_random(void); +extern void key_randomfill(void *, size_t); +extern void key_freereg(struct socket *); +extern int key_parse(struct mbuf *, struct socket *); +extern int key_checktunnelsanity(struct secasvar *, u_int, caddr_t, caddr_t); +extern void key_sa_recordxfer(struct secasvar *, struct mbuf *); +extern void key_sa_routechange(struct sockaddr *); +extern void key_sa_chgstate(struct secasvar *, u_int8_t); +extern void key_sa_stir_iv(struct secasvar *); +extern void key_delsah(struct secashead *sah); +extern struct secashead *key_newsah2 (struct secasindex *saidx, u_int8_t dir); +extern u_int32_t key_getspi2(struct sockaddr *src, + struct sockaddr *dst, + u_int8_t proto, + u_int8_t mode, + u_int32_t reqid, + struct sadb_spirange *spirange); +extern struct secasvar * key_newsav2(struct secashead *sah, + u_int8_t satype, + u_int8_t alg_auth, + u_int8_t alg_enc, + u_int32_t flags, + u_int8_t replay, + struct sadb_key *key_auth, + u_int16_t key_auth_len, + struct sadb_key *key_enc, + u_int16_t key_enc_len, + u_int16_t natt_port, + u_int32_t seq, + u_int32_t spi, + u_int32_t pid, + struct sadb_lifetime *lifetime_hard, + struct sadb_lifetime *lifetime_soft); +extern void key_delsav(struct secasvar *sav); +extern struct secpolicy *key_getspbyid(u_int32_t); +extern void key_delsp_for_ipsec_if(ifnet_t ipsec_if); -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 *)); -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 *, - 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 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 *, 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 *)); -#endif /* __APPLE_API_PRIVATE */ -#endif /* defined(_KERNEL) */ +#endif /* BSD_KERNEL_PRIVATE */ #endif /* _NETKEY_KEY_H_ */