ipsec.h
来自「eCos操作系统源码」· C头文件 代码 · 共 518 行 · 第 1/2 页
H
518 行
#define IPSECCTL_DEF_ESP_TRANSLEV 3 /* int; ESP transport mode */#define IPSECCTL_DEF_ESP_NETLEV 4 /* int; ESP tunnel mode */#define IPSECCTL_DEF_AH_TRANSLEV 5 /* int; AH transport mode */#define IPSECCTL_DEF_AH_NETLEV 6 /* int; AH tunnel mode */#if 0 /* obsolete, do not reuse */#define IPSECCTL_INBOUND_CALL_IKE 7#endif#define IPSECCTL_AH_CLEARTOS 8#define IPSECCTL_AH_OFFSETMASK 9#define IPSECCTL_DFBIT 10#define IPSECCTL_ECN 11#define IPSECCTL_DEBUG 12#define IPSECCTL_ESP_RANDPAD 13#define IPSECCTL_MAXID 14#define IPSECCTL_NAMES { \ { 0, 0 }, \ { 0, 0 }, \ { "def_policy", CTLTYPE_INT }, \ { "esp_trans_deflev", CTLTYPE_INT }, \ { "esp_net_deflev", CTLTYPE_INT }, \ { "ah_trans_deflev", CTLTYPE_INT }, \ { "ah_net_deflev", CTLTYPE_INT }, \ { 0, 0 }, \ { "ah_cleartos", CTLTYPE_INT }, \ { "ah_offsetmask", CTLTYPE_INT }, \ { "dfbit", CTLTYPE_INT }, \ { "ecn", CTLTYPE_INT }, \ { "debug", CTLTYPE_INT }, \ { "esp_randpad", CTLTYPE_INT }, \}#define IPSEC6CTL_NAMES { \ { 0, 0 }, \ { 0, 0 }, \ { "def_policy", CTLTYPE_INT }, \ { "esp_trans_deflev", CTLTYPE_INT }, \ { "esp_net_deflev", CTLTYPE_INT }, \ { "ah_trans_deflev", CTLTYPE_INT }, \ { "ah_net_deflev", CTLTYPE_INT }, \ { 0, 0 }, \ { 0, 0 }, \ { 0, 0 }, \ { 0, 0 }, \ { "ecn", CTLTYPE_INT }, \ { "debug", CTLTYPE_INT }, \ { "esp_randpad", CTLTYPE_INT }, \}#ifdef __bsdi__#define IPSECCTL_VARS { \ 0, \ 0, \ &ip4_def_policy.policy, \ &ip4_esp_trans_deflev, \ &ip4_esp_net_deflev, \ &ip4_ah_trans_deflev, \ &ip4_ah_net_deflev, \ 0, \ &ip4_ah_cleartos, \ &ip4_ah_offsetmask, \ &ip4_ipsec_dfbit, \ &ip4_ipsec_ecn, \ &ipsec_debug, \ &ip4_esp_randpad, \}#define IPSEC6CTL_VARS { \ 0, \ 0, \ &ip6_def_policy.policy, \ &ip6_esp_trans_deflev, \ &ip6_esp_net_deflev, \ &ip6_ah_trans_deflev, \ &ip6_ah_net_deflev, \ 0, \ 0, \ 0, \ 0, \ &ip6_ipsec_ecn, \ &ipsec_debug, \ &ip6_esp_randpad, \}#endif#ifdef _KERNELstruct ipsec_output_state { struct mbuf *m; struct route *ro; struct sockaddr *dst; int encap;};struct ipsec_history { int ih_proto; u_int32_t ih_spi;};extern int ipsec_debug;extern int ipsec_tunnel_device;#ifdef INETextern struct ipsecstat ipsecstat;extern struct secpolicy ip4_def_policy;extern int ip4_esp_trans_deflev;extern int ip4_esp_net_deflev;extern int ip4_ah_trans_deflev;extern int ip4_ah_net_deflev;extern int ip4_ah_cleartos;extern int ip4_ah_offsetmask;extern int ip4_ipsec_dfbit;extern int ip4_ipsec_ecn;extern int ip4_esp_randpad;#endif#ifdef INET6extern struct ipsecstat ipsec6stat;extern struct secpolicy ip6_def_policy;extern int ip6_esp_trans_deflev;extern int ip6_esp_net_deflev;extern int ip6_ah_trans_deflev;extern int ip6_ah_net_deflev;extern int ip6_ipsec_ecn;extern int ip6_esp_randpad;#endif#define ipseclog(x) do { if (ipsec_debug) log x; } while (0)extern int ipsec_pcbconn __P((struct inpcbpolicy *));extern int ipsec_pcbdisconn __P((struct inpcbpolicy *));extern int ipsec_invalpcbcacheall __P((void));extern struct secpolicy *ipsec4_getpolicybysock __P((struct mbuf *, u_int, struct socket *, int *));extern struct secpolicy *ipsec4_getpolicybyaddr __P((struct mbuf *, u_int, int, int *));#ifdef INET6extern struct secpolicy *ipsec6_getpolicybysock __P((struct mbuf *, u_int, struct socket *, int *));extern struct secpolicy *ipsec6_getpolicybyaddr __P((struct mbuf *, u_int, int, int *));#endif /* INET6 */struct inpcb;#ifdef INET6struct in6pcb;#endifextern int ipsec_init_policy __P((struct socket *so, struct inpcbpolicy **));extern int ipsec_copy_policy __P((struct inpcbpolicy *, struct inpcbpolicy *));extern u_int ipsec_get_reqlevel __P((struct ipsecrequest *));extern int ipsec4_set_policy __P((struct inpcb *inp, int optname, caddr_t request, size_t len, int priv));extern int ipsec4_get_policy __P((struct inpcb *inpcb, caddr_t request, size_t len, struct mbuf **mp));extern int ipsec4_delete_pcbpolicy __P((struct inpcb *));extern int ipsec4_in_reject_so __P((struct mbuf *, struct socket *));extern int ipsec4_in_reject __P((struct mbuf *, struct inpcb *));#ifdef INET6extern int ipsec6_in_reject_so __P((struct mbuf *, struct socket *));#if (defined(__FreeBSD__) && __FreeBSD__ >= 3) || (defined(__bsdi__) && _BSDI_VERSION >= 199802)extern int ipsec6_delete_pcbpolicy __P((struct inpcb *));extern int ipsec6_set_policy __P((struct inpcb *inp, int optname, caddr_t request, size_t len, int priv));extern int ipsec6_get_policy __P((struct inpcb *inp, caddr_t request, size_t len, struct mbuf **mp));extern int ipsec6_in_reject __P((struct mbuf *, struct inpcb *));#elseextern int ipsec6_delete_pcbpolicy __P((struct in6pcb *));extern int ipsec6_set_policy __P((struct in6pcb *in6p, int optname, caddr_t request, size_t len, int priv));extern int ipsec6_get_policy __P((struct in6pcb *in6p, caddr_t request, size_t len, struct mbuf **mp));extern int ipsec6_in_reject __P((struct mbuf *, struct in6pcb *));#endif#endif /* INET6 */struct secas;struct tcpcb;struct tcp6cb;extern int ipsec_chkreplay __P((u_int32_t, struct secasvar *));extern int ipsec_updatereplay __P((u_int32_t, struct secasvar *));extern size_t ipsec4_hdrsiz __P((struct mbuf *, u_int, struct inpcb *));#if (defined(__FreeBSD__) && __FreeBSD__ == 3) || (defined(__bsdi__) && _BSDI_VERSION >= 199802)extern size_t ipsec_hdrsiz_tcp __P((struct tcpcb *, int));#elif (defined(__FreeBSD__) && __FreeBSD__ >= 4)extern size_t ipsec_hdrsiz_tcp __P((struct tcpcb *));#elseextern size_t ipsec4_hdrsiz_tcp __P((struct tcpcb *));#endif#ifdef INET6#if (defined(__FreeBSD__) && __FreeBSD__ >= 3) || (defined(__bsdi__) && _BSDI_VERSION >= 199802)extern size_t ipsec6_hdrsiz __P((struct mbuf *, u_int, struct inpcb *));#elseextern size_t ipsec6_hdrsiz __P((struct mbuf *, u_int, struct in6pcb *));#if defined(__NetBSD__) && !defined(TCP6)extern size_t ipsec6_hdrsiz_tcp __P((struct tcpcb *));#elseextern size_t ipsec6_hdrsiz_tcp __P((struct tcp6cb *));#endif#endif#endifstruct ip;#ifdef INET6struct ip6_hdr;#endifextern const char *ipsec4_logpacketstr __P((struct ip *, u_int32_t));#ifdef INET6extern const char *ipsec6_logpacketstr __P((struct ip6_hdr *, u_int32_t));#endifextern const char *ipsec_logsastr __P((struct secasvar *));extern void ipsec_dumpmbuf __P((struct mbuf *));extern int ipsec4_output __P((struct ipsec_output_state *, struct secpolicy *, int));#ifdef INET6extern int ipsec6_output_trans __P((struct ipsec_output_state *, u_char *, struct mbuf *, struct secpolicy *, int, int *));extern int ipsec6_output_tunnel __P((struct ipsec_output_state *, struct secpolicy *, int));#endifextern int ipsec4_tunnel_validate __P((struct mbuf *, int, u_int, struct secasvar *));#ifdef INET6extern int ipsec6_tunnel_validate __P((struct mbuf *, int, u_int, struct secasvar *));#endifextern struct mbuf *ipsec_copypkt __P((struct mbuf *));extern void ipsec_delaux __P((struct mbuf *));extern int ipsec_setsocket __P((struct mbuf *, struct socket *));extern struct socket *ipsec_getsocket __P((struct mbuf *));extern int ipsec_addhist __P((struct mbuf *, int, u_int32_t)); extern int ipsec_getnhist __P((struct mbuf *));extern struct ipsec_history *ipsec_gethist __P((struct mbuf *, int *));extern void ipsec_clearhist __P((struct mbuf *));#if defined(__bsdi__) || defined(__NetBSD__)extern int ipsec_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));extern int ipsec6_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));#endif /* __bsdi__ || __NetBSD__ */#endif /* _KERNEL */#ifndef _KERNELextern caddr_t ipsec_set_policy __P((char *, int));extern int ipsec_get_policylen __P((caddr_t));extern char *ipsec_dump_policy __P((caddr_t, char *));extern const char *ipsec_strerror __P((void));#endif /* !_KERNEL */#endif /* _NETINET6_IPSEC_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?