?? ipsecp.h
字號:
/* ipsecP.h - WindNet IPsec and IKE - IPsec private header file *//* * Copyright (c) 2000-2006 Wind River Systems, Inc. * * The right to copy, distribute, modify or otherwise make use * of this software may be licensed only pursuant to the terms * of an applicable Wind River license agreement. *//*modification history----------------------------------03n,13jan06,djp moved DF_BIT_CONFIG to ipsec_network_interface.h03m,12jan06,djp removed rwos dependencies03l,05may05,rlm Moved prototype for ipsecNetJobMaxSet() to public ipsec.h, as configlettes need access to it.03k,08Mar05,djp Fixed include paths 03j,16dec04,djp Added code to reduce chance of tNetTask ring buffer overflow.03i,12jun03,rparkhil added support for STACK_NAME to replace IPV4_DUAL_STACK, etc.03h,04jun03,mad(teamf1) added ifdef for IPV4_DUAL_STACK03g,22Apr03,mhb(teamf1) alignment and format changes in modification history03f,04Feb03,rks(teamf1) removed ipsecFilterHook declarations.03e,13Jan03,mhb(teamf1) Defined __FUNCTION__ to __FILE__ incase of DCC compiler03d,17Dec02,mhb(teamf1) changes for fixing compilation warnings03c,14Nov02,rks(teamf1) changes for CCI intergration03b,08Oct02,sam(teamf1) put IPv6 code under __IPV6_STACK__ 03a,20Sep02,rks(teamf1) Added declartion for V6 IPsec hooks02b,25mar02,rpt added DF_BIT_CONFIG type declaration 02a,19mar02,rpt changed func declaration to use IP_VI_MESSAGE instead of IP_MESSAGE. 01a,19mar02,rpt extracted from WindNet IPSec 1.1, added modification history*//******************************************************************************/#if !defined (__IPSEC_H__)#define __IPSEC_H__#include <vxWorks.h>#if defined (__IPSEC_QUEUING__)#include <msgQLib.h>#endif /* __IPSEC_QUEUING__ */#include <sys/socket.h>#ifdef _KERNEL#define _KERNEL_PREDEFINED#else#define _KERNEL#endif /*_KERNEL */#include <net/if.h>#ifndef _KERNEL_PREDEFINED#undef _KERNEL#else#undef _KERNEL_PREDEFINED#endif /*_KERNEL_PREDEFINED */#include <netinet/in_systm.h>#include <netinet/in.h>#include <netinet/in_var.h>#if STACK_NAME == STACK_NAME_V4_V6 && defined (INET6)#ifdef _KERNEL#define _KERNEL_PREDEFINED#else#define _KERNEL#endif /*_KERNEL */#include <netinet6/ip6.h>#include <netinet6/ip6_var.h>#ifndef _KERNEL_PREDEFINED#undef _KERNEL#else#undef _KERNEL_PREDEFINED#endif /*_KERNEL_PREDEFINED */#endif /* STACK_NAME == STACK_NAME_V4_V6 && defined (INET6) */#include <netinet/ip.h>#ifdef _KERNEL#define _KERNEL_PREDEFINED#else#define _KERNEL#endif /*_KERNEL */#include <netinet/ip_var.h>#ifndef _KERNEL_PREDEFINED#undef _KERNEL#else#undef _KERNEL_PREDEFINED#endif /*_KERNEL_PREDEFINED */#include <netinet/tcp.h>#include <netinet/udp.h>#include <net/unixLib.h>#include <net/route.h>#if 0#include <wrn/ip_if.h>#include <wrn/cci/cci.h>#endif#include "../sadb/sadb_if.h"#include "ipsec_if.h"#include "ipsec_network_interface.h" /******************************************************************************/#ifndef M_SECURE_PKT#endif /* M_SECURE_PKT *//******************************************************************************/#define TUNNELED 1#define QUEUED 2#define REINSERT 3#define NOT_QUEUED OK/******************************************************************************/#if defined (__IPSEC_QUEUING__)typedef struct IPSEC_QUEUE_MSG { TRAFFIC_DIRECTION direction; struct mbuf *p_memory_buffer; SA_BUNDLE *p_sa_bundle; struct ip *p_ip_header; int header_length; int flags; } IPSEC_QUEUE_MSG;#endif /* __IPSEC_QUEUING__ *//******************************************************************************/STATUS ipsecInput ( struct mbuf ** m, int hlen, struct ip ** ip );STATUS ipsecOutput ( struct mbuf ** m0, struct mbuf *opt, struct route *ro, int flags, struct ip_moptions *imo, struct sockaddr_in *dst, struct in_ifaddr *ia );#if STACK_NAME == STACK_NAME_V4_V6 && defined (INET6)STATUS ipsecOutputIPv6 ( struct mbuf ** m, struct ip6_pktopts *options, struct route_in6 *ro, int flags, struct ip6_moptions *imo, struct sockaddr_in6 *dest, struct ifnet *ifp );STATUS ipsecForwardIPv6 ( struct mbuf ** m, struct ip6_pktopts *options, struct route_in6 *ro, int flags, struct ip6_moptions *imo, struct sockaddr_in6 *dest, struct ifnet *ifp );BOOL ipsecInputIPv6 ( struct ifnet *rcvIf, struct mbuf ** pp_m, struct ip6_hdr ** pp_ip );#endif /* STACK_NAME == STACK_NAME_V4_V6 && defined (INET6) */size_t ipsecSizing ( struct mbuf *m, struct ifnet *ifp );STATUS ipsecTaskEntry ( UINT task_priority );void ipsec_component_initialize ( const char *p_configuration_data );int ipsecSecure ( TRAFFIC_DIRECTION direction, SA_BUNDLE *p_sa_bundle, struct mbuf ** pp_memory_buffer, struct ip ** pp_ip_header, int header_length, IP_VI_MESSAGE ** pp_ip_message, BOOL *p_tunnel_packet );int ipsecSecureAndReinsert ( TRAFFIC_DIRECTION direction, SA_BUNDLE *p_sa_bundle, struct mbuf **pp_memory_buffer, struct ip **pp_ip_header, int header_length );BOOL ipsec_build_traffic_info ( struct mbuf ** m, struct ip ** ip, int hlen, NET_IF *net_interface, VI_NETWORK_TRAFFIC_INFO *p_traffic_info, int flags );int ipsecReinsert ( TRAFFIC_DIRECTION direction, BOOL tunnel_packet, struct mbuf ** pp_memory_buffer, struct ip ** pp_ip_header, int header_length, IP_VI_MESSAGE ** pp_ip_message, BOOL wakeup );IP_VI_MESSAGE *ipsec_create_ip_vi_message ( struct mbuf *m, int hlen, struct ip *ip );/*IPsec Interface to SADB */BOOL ipsec_bundle_processing ( TRAFFIC_DIRECTION direction, SA_BUNDLE *p_bundle, IP_VI_MESSAGE *p_ip_message, BOOL *p_tunnel_packet );BOOL ipsec_get_attached_network_interface ( TRAFFIC_DIRECTION direction, struct mbuf *p_memory_buffer, struct ip *sptr_ip_header, IPSEC_NETWORK_INTERFACE ** pp_ipsec_network_interface );/* Net Job Queue API's */int ipsecNetJobMaxGet(void);int ipsecNetJobAvailableGet(void);/*IPsec PMTU Interface to SADB */#define WRN_M_FREEM(m) m_freem(m);/******************************************************************************/#ifdef __DCC__#define __FUNCTION__ __FILE__#endif/******************************************************************************/#endif /* __IPSEC_H__ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -