X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..bd504ef0e0b883cdd7917b73b3574eb9ce669905:/bsd/netkey/keydb.h diff --git a/bsd/netkey/keydb.h b/bsd/netkey/keydb.h index 53cddffce..079f6e288 100644 --- a/bsd/netkey/keydb.h +++ b/bsd/netkey/keydb.h @@ -37,6 +37,7 @@ #ifdef KERNEL_PRIVATE #include +#include /* Security Assocciation Index */ /* NOTE: Ensure to be same address family */ @@ -59,6 +60,7 @@ struct secashead { struct sadb_ident *identd; /* destination identity */ /* XXX I don't know how to use them. */ + u_int8_t dir; /* IPSEC_DIR_INBOUND or IPSEC_DIR_OUTBOUND */ u_int8_t state; /* MATURE or DEAD. */ LIST_HEAD(_satree, secasvar) savtree[SADB_SASTATE_MAX+1]; /* SA chain */ @@ -67,6 +69,9 @@ struct secashead { struct route sa_route; /* route cache */ }; +typedef int (*utun_is_keepalive_func) __P((void *, void *, u_int16_t, u_int32_t, size_t)); +typedef int (*utun_input_func) __P((void *, void *, protocol_family_t family)); + /* Security Association */ struct secasvar { LIST_ENTRY(secasvar) chain; @@ -102,6 +107,10 @@ struct secasvar { u_int32_t natt_last_activity; u_int16_t remote_ike_port; u_int16_t natt_encapsulated_src_port; /* network byte order */ + + void *utun_pcb; + utun_is_keepalive_func utun_is_keepalive_fn; + utun_input_func utun_in_fn; }; /* replay prevention */