]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netkey/key.h
xnu-1228.7.58.tar.gz
[apple/xnu.git] / bsd / netkey / key.h
index ce509fa9f88ba81e69fecb272cb1609a8571d613..985b347fe9cfe9f4a966adfa9d4825de7d130900 100644 (file)
@@ -35,6 +35,9 @@
 
 #ifdef KERNEL_PRIVATE
 
+#define KEY_SADB_UNLOCKED      0
+#define KEY_SADB_LOCKED                1
+
 extern struct key_cb key_cb;
 
 struct secpolicy;
@@ -47,14 +50,17 @@ struct sadb_msg;
 struct sadb_x_policy;
 
 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 int key_checkrequest(struct ipsecrequest *isr, struct secasindex *);
+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 void key_freesp(struct secpolicy *);
+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 *);
+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 *);