X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..3e170ce000f1506b7b5d2c5c7faec85ceabb573d:/bsd/netkey/key.h diff --git a/bsd/netkey/key.h b/bsd/netkey/key.h index 985b347fe..82c97c639 100644 --- a/bsd/netkey/key.h +++ b/bsd/netkey/key.h @@ -33,7 +33,7 @@ #define _NETKEY_KEY_H_ #include -#ifdef KERNEL_PRIVATE +#ifdef BSD_KERNEL_PRIVATE #define KEY_SADB_UNLOCKED 0 #define KEY_SADB_LOCKED 1 @@ -48,18 +48,22 @@ 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_freeso(struct socket *); 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 *); @@ -67,15 +71,43 @@ 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_long key_random(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 void key_domain_init(void); 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); -#endif /* KERNEL_PRIVATE */ + +#endif /* BSD_KERNEL_PRIVATE */ #endif /* _NETKEY_KEY_H_ */