亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ipsec_init.c

?? ipsec PNE 3.3 source code, running at more than vxworks6.x version.
?? C
字號:
/* ipsec_init.c - IPSec Initialization. *//*  * 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--------------------02n,12jan06,djp  removed rwos dependencies02m,20jun05,djp   Removed reference ipsec_tsi.h (obsolete)02l,13may05,djp   Added KERNEL doc tag to ipsecShutdown()02k,27apr05,djp   Added NOMANUAL Flag to ipsecInit()02j,12apr05,djp   Fixed compile errors and include paths02i,08apr05,djp   Added logger initialization02h,25Jul03,cdw   ifdef out the i/o funcptr declarations for virtual stacks02g,12jun03,rparkhil added support for STACK_NAME02f,04jun03,mad(teamf1) added ifdef for IPV4_DUAL_STACK02e,22Apr03,mhb(teamf1) Code cleanup (added function header for ipsecShutdown)02d,04Feb03,rks(teamf1) removed _ipsecFilterHook initialization.02c,28Dec02,rks(teamf1) Added code to delete tIPsec task02b,22Sep02,sam(teamf1) Added ipsecShutdown routine.02a,20Sep02 rks(teamf1) Added code for Initializing IPsec hooks for Clarinet01c,19mar02,rtp   added semaphore delete, code clean up01b,24jul01,tkp   removed configuration strings(supported in usrNetIpsecInit.c)01a,20oct00,aos   written*//******************************************************************************//*DESCRIPTIONThis module implements IPSec initialization routines.INCLUDE: ipsecInit.h*/#define GLOBAL_FILE#include <vxWorks.h>#include <taskLib.h>#include <stdio.h>#if (_WRS_VXWORKS_MAJOR < 6)#include <osdep.h>#include <machdep.h>#endif#include <net/if.h>#include <net/if_var.h>#include <netinet/in.h>#include <netinet/in_var.h>#include <netinet/ip.h>#include <netinet/ip_var.h>#include <wrn/ipsec/ipsecInit.h>#include "../common/wrSecNvram.h"#if defined (VIRTUAL_STACK)#ifdef _KERNEL#define _KERNEL_PREDEFINED#else#define _KERNEL#endif#include <netinet/vsLib.h>#include <netinet/vsData.h> /* for vsTbl[] */#include <netinet/vsIp.h>   /* for IPSEC_INPUT_FUNCPTR, IPSEC_OUTPUT_FUNCPTR definitions */#if STACK_NAME == STACK_NAME_V4_V6 && defined (INET6)#include <netinet6/in6_var.h>#include <vs/vsIp6.h>#endif /* STACK_NAME_V4_V6 && defined (INET6) */#ifndef _KERNEL_PREDEFINED#undef _KERNEL#else#undef _KERNEL_PREDEFINED#endif#else#if STACK_NAME == STACK_NAME_V4_V6#include <netinet/ip4_ext_in.h>  /* for IPSEC_INPUT_FUNCPTR definition */#include <netinet/ip4_ext_out.h> /* for IPSEC_OUTPUT_FUNCPTR definition */#endif#if STACK_NAME == STACK_NAME_V4_V6 && defined (INET6)#include <netinet6/ip6_var.h>#include <netinet6/ip6_ext_in.h>  /* for INPUT_HOOK_IPV6_FUNCPTR definition */#include <netinet6/ip6_ext_out.h> /* for IPSEC_OUTPUT_IPV6_FUNCPTR definition */#endif#endif                            /* defined (VIRTUAL_STACK) */#include "../common/wrSecList.h"#include "../common/wrSecUtil.h"#include "../common/wrSecNvram.h"#include "ipsecP.h"#include "ipsec_class.h"#include "ipsec_globals.h"#include "ipsec_configuration_table.h"#include "ipsec_network_interface.h"/******************************************************************************/extern void ipsecLoggerKernelInit(void);/* globals *//* defines */#define IPSEC_NAME                          "IP Security"/* typedefs *//* locals *//* forward declarations *//******************************************************************************/LOCAL STATUS ipsecConfigure    (    char *ipsecCfg    );LOCAL STATUS ipsecBuildManualConfig    (    char *ipsec_configuration_text,    UINT configuration_text_size    );/******************************************************************************//******************************************************************************** * ipsecInit - initialize the IPSec library** This routine initializes the IPsec module.  If IPSec queuing is used (as determined* by the compiler preprocessor '_IPSEC_QUEUING_') the IPSec task is also spawned.  ** Parameters:* \is* \i <ipsecCfg>* A character array containing configuration statements as described below.* \i <task_priority>* If IPsec queuing is used (as determined by the compiler preprocessor* '_IPSEC_QUEUING_'), this is the task priority to be assigned to the IPsec task,* 'tIPsecTask'.  This value should be slightly more than that of the NEt task, 'tNetTask'.* The default value is 49.* \ie** CONFIGURATION STRING SYNTAX** Use a comma (,) to separate arguments in a parameter string. Do not code * whitespace anywhere in a parameter string, for example, * * "IPsec DF Bit = 204.31.186.45,COPY" is correct, whereas * * "IPsec DF Bit = 204.31.186.45, COPY" is not correct.* * \sh IPsec Printf* \ts* Syntax:      | 'IPsec Printf = enabled \| disabled'* Description: | Enables/disables all IPsec console printing.* Example:     | 'IPsec Printf = enabled'* \te* * \sh IPsec Error Printf* \ts        * Syntax:      | 'IPsec Error Printf = enabled \| disabled'* Description: | Enable/disable printing of critical events that require attention.* Example:     | 'IPsec Error Printf = disabled'* \te* \sh IPsec Warning Printf* \ts* Syntax:      | 'IPsec Warning Printf = enabled \| disabled'* Description: | Enable/disable printing of non-critical errors that may be ignored.* Example:     | 'IPsec Warning Printf = disabled'* \te* * \sh IPsec Initialization Printf* \ts* Syntax:      | 'IPsec Initialization Printf = enabled \| disabled'* Description: | Enable/disable printing of error messages for Tornado shell interface*              | routines, and for task or component initialization.* Example:     | 'IPsec Initialization Printf = enabled'* \te* * \sh IPsec Debug Printf* \ts* Syntax:      | 'IPsec Debug Printf = enabled \| disabled'* Description: | Enable/disable printing of all debug messages; useful when*              | troubleshooting.* Example:     | 'IPsec Debug Printf = disabled'* \te* * \sh IPsec Attach Network Interface* \ts* Syntax:      | 'IPsec Attach Network Interface = <ipAddress>'* Description: | Bind a network interface to IPsec.* Examples:    |    For IPv4:*              | 'IPsec Attach Network Interface = 204.31.186.45'*              | For IPv6:*              | 'IPsec Attach Network Interface = 3ffe:2::2'* \te* * \sh IPsec DF Bit* \ts* Syntax:     | 'IPsec DF Bit = <ipAddress>,<dfBitConfig>'* Description:| Used in tunneled IP header construction to clear, set, or copy the*             | inner IP header DF (Don抰 Fragment) bit.* Arguments:  | <ipAddress> is the IP address of an IPsec-enabled network interface.*             | <dfBitConfig> values are 'CLEAR' \| 'SET' \| 'COPY' (to clear, set, or copy the DF bit).* Example:    | 'IPsec DF Bit = 204.31.186.45,COPY'* \te* * * RETURNS: OK if successful, otherwise ERROR.** ERRNO: N/A** NOMANUAL*/STATUS ipsecInit    (    char *ipsecCfg,            /* IPsec configuration string */    unsigned int task_priority /* IPsec task priority */    )    {    if (ipsec_global_class.ipsec_enabled == FALSE)        {            {            ipsec_global_class.ipsec_network_interface_list = wrSecListCreate (NULL);            if (ipsec_global_class.ipsec_network_interface_list == NULL)                {                printf ("IPsec: ipsecInit() : %s\r\n", "failed! to create network interface list");                return (ERROR);                }            ipsec_global_class.ipsec_enabled = TRUE;            if (ipsecConfigure (ipsecCfg) == ERROR)                {                cleanup_network_interface_container (ipsec_global_class.ipsec_network_interface_list);                ipsec_global_class.ipsec_enabled = FALSE;                wrSecListDestroy (ipsec_global_class.ipsec_network_interface_list);                ipsec_global_class.ipsec_network_interface_list = (WRSEC_LIST)NULL;                return (ERROR);                }            if (ipsecTaskEntry (task_priority) == ERROR)                {                cleanup_network_interface_container (ipsec_global_class.ipsec_network_interface_list);                ipsec_global_class.ipsec_enabled = FALSE;                wrSecListDestroy (ipsec_global_class.ipsec_network_interface_list);                ipsec_global_class.ipsec_network_interface_list = (WRSEC_LIST)NULL;                return (ERROR);                }                /* Register WindNet IPsec hooks into VxWorks IP stack */            #if STACK_NAME == STACK_NAME_V4_V6            _ipsecInput = ipsecInput;            _ipsecOutput = ipsecOutput;            #if STACK_NAME == STACK_NAME_V4_V6 && defined (INET6)            _ipsecInputIPv6 = ipsecInputIPv6;            _ipsecOutputIPv6 = (IPSEC_OUTPUT_IPV6_FUNCPTR)ipsecOutputIPv6;            _ipsecForwardIPv6 = (IPSEC_OUTPUT_IPV6_FUNCPTR)ipsecForwardIPv6;            #endif /* STACK_NAME == STACK_NAME_V4_V6 && defined (INET6) */            #else            _func_ipsecInput = ipsecInput;            _func_ipsecOutput = ipsecOutput;            #endif /* STACK_NAME == STACK_NAME_V4_V6 */            _ipsecSizing = ipsecSizing;            }#ifdef INCLUDE_LOGGING_IPSEC        ipsecLoggerKernelInit();#endif        }    return (OK);    }/******************************************************************************/LOCAL STATUS ipsecConfigure    (    char *ipsecCfg    )    {    if (ipsecCfg == NULL)        {        char ipsec_configuration_text[MAXIMUM_CONFIGURATION_TEXT_SIZE + 1];        if (ipsecBuildManualConfig (ipsec_configuration_text, MAXIMUM_CONFIGURATION_TEXT_SIZE + 1) == ERROR)            {            printf ("IPsec: Error building configuration data. \r\n");            return (ERROR);            }        if (wrSecNvramInitialize (NULL, (ULONG)ipsec_configuration_text, IPSEC_NAME, (void *)&ipsec_configuration_table) == FAIL)            {            printf ("IPsec: Error, NVRAM Initialization failed. \r\n");            return (ERROR);            }        }    else        {        if (wrSecNvramInitialize (NULL, (ULONG)ipsecCfg, IPSEC_NAME, (void *)&ipsec_configuration_table) == FAIL)            {            printf ("IPsec: Error, NVRAM Initialization failed. \r\n");            return (ERROR);            }        }    return (OK);    }/******************************************************************************/LOCAL STATUS ipsecBuildManualConfig    (    char *ipsec_configuration_text,    UINT configuration_text_size    )    {    memset (ipsec_configuration_text, '\0', configuration_text_size);    return (OK);    }/******************************************************************************//********************************************************************************* ipsecShutdown - shut down the IPSec module** This routine shuts down the IPSec module.  If IPSec queuing is used (as determined* by the compiler preprocessor '_IPSEC_QUEUING_'), the IPSec task, which is spawned* when 'ipsecInit()' routine is called, is deleted.** EXAMPLES:* \cs*      ipsecShutdown()* \ce* * RETURNS: OK if successful, otherwise ERROR.** ERRNO: N/A** \IFSET KERNEL*/STATUS ipsecShutdown    (    void    )    {    #if defined(__IPSEC_QUEUING__)    int task_id;    IPSEC_QUEUE_MSG ipsec_queue_msg;    #endif    if (ipsec_global_class.ipsec_enabled != TRUE)        {        printf (" IPSEC: ipsec module not initialized ");        return (ERROR);        }    /* Mark as uninitialized */    ipsec_global_class.ipsec_enabled = FALSE;    /* Unregister WindNet IPsec hooks into VxWorks IP stack */    #if STACK_NAME == STACK_NAME_V4_V6    _ipsecInput = NULL;    _ipsecOutput = NULL;    #if STACK_NAME == STACK_NAME_V4_V6 && defined (INET6)    _ipsecInputIPv6 = NULL;    _ipsecOutputIPv6 = NULL;    _ipsecForwardIPv6 = NULL;    #endif /* STACK_NAME == STACK_NAME_V4_V6 && defined (INET6) */    #else    _func_ipsecInput = NULL;    _func_ipsecOutput = NULL;    #endif /* STACK_NAME == STACK_NAME_V4_V6_*/    _ipsecSizing = NULL;    cleanup_network_interface_container (ipsec_global_class.ipsec_network_interface_list);    wrSecListDestroy (ipsec_global_class.ipsec_network_interface_list);    #if defined(__IPSEC_QUEUING__)    if ((task_id = taskNameToId ("tIPsec")) != ERROR)        {        /* Delete the 'tIPsec' task */        taskDelete(task_id);        }    else        {        printf ("IPsec: cound not find tIPsec Task\n");        }    /* empty msgQ and wrSecFree all mbufs */    while (msgQReceive (ipsec_global_class.ipsecMsgQ, (char *)&ipsec_queue_msg, sizeof (IPSEC_QUEUE_MSG), NO_WAIT) != ERROR)        {        if (ipsec_queue_msg.p_memory_buffer != NULL)            {            WRN_M_FREEM (ipsec_queue_msg.p_memory_buffer);            }        }    msgQDelete (ipsec_global_class.ipsecMsgQ);    #endif /* __IPSEC_QUEUING__ */    memset (&ipsec_global_class, 0x00, sizeof (IPSEC_GLOBAL_CLASS));    return (OK);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久99久久免费精品蜜臀| 国产欧美一区二区精品婷婷| 久久久久久久综合狠狠综合| ...av二区三区久久精品| 日韩国产精品久久| 99re视频精品| 久久久久免费观看| 日韩中文字幕区一区有砖一区| 粉嫩av一区二区三区粉嫩| 欧美福利电影网| 亚洲猫色日本管| 成人综合在线视频| 精品国产一区二区三区av性色| 一区二区欧美在线观看| 国产成人在线视频播放| 欧美一级久久久| 日韩制服丝袜先锋影音| 91行情网站电视在线观看高清版| 国产欧美精品在线观看| 精品综合免费视频观看| 欧美疯狂性受xxxxx喷水图片| 亚洲三级在线观看| 成人黄色小视频| 国产欧美日韩不卡免费| 国产精品一区在线观看乱码| 制服丝袜激情欧洲亚洲| 午夜欧美电影在线观看| 欧美视频一区在线| 亚洲一区二区三区三| 日本韩国视频一区二区| 亚洲黄色小说网站| 91麻豆swag| 一区二区三区四区乱视频| 99国产欧美久久久精品| 国产精品久久久久久久午夜片| 国产电影精品久久禁18| 欧美韩国日本不卡| 粉嫩在线一区二区三区视频| 国产精品入口麻豆原神| av色综合久久天堂av综合| 亚洲国产精品高清| jlzzjlzz国产精品久久| 亚洲天堂网中文字| 欧美在线观看视频一区二区| 亚洲午夜久久久久| 91精品国产综合久久久久久久久久| 日韩福利电影在线观看| 精品蜜桃在线看| 国产综合久久久久影院| 日本一区二区三区四区在线视频| 成人丝袜高跟foot| 亚洲精品日产精品乱码不卡| 欧美午夜不卡视频| 男人的j进女人的j一区| 国产午夜精品理论片a级大结局| 国产91丝袜在线播放九色| 亚洲视频一区二区在线| 欧美狂野另类xxxxoooo| 国产在线观看免费一区| 国产精品不卡在线| 欧美欧美午夜aⅴ在线观看| 精品亚洲成av人在线观看| 国产精品久久久久久亚洲毛片| 欧美影院一区二区三区| 精品一区二区三区视频在线观看 | 视频一区视频二区中文| 精品久久久久av影院| www.欧美色图| 日韩激情视频网站| 国产精品美女久久久久aⅴ| 在线精品视频免费观看| 国产在线一区二区| 亚洲在线一区二区三区| 久久久99精品久久| 精品视频在线免费观看| 国产成人免费av在线| 亚洲一区影音先锋| 中文字幕第一区二区| 欧美高清www午色夜在线视频| 成人午夜av电影| 天堂一区二区在线| 成人欧美一区二区三区小说| 日韩女同互慰一区二区| 色呦呦国产精品| 国产乱一区二区| 图片区小说区区亚洲影院| 综合久久久久久| wwwwxxxxx欧美| 欧美伦理视频网站| 91视频国产资源| 国产一区二区三区黄视频| 偷窥国产亚洲免费视频| 国产精品久久毛片a| 欧美精品一区二区在线观看| 欧美视频一区二区三区四区 | 午夜电影网一区| 亚洲少妇30p| 久久久不卡网国产精品一区| 51精品秘密在线观看| 色偷偷久久人人79超碰人人澡| 国产成人亚洲综合a∨婷婷| 日本亚洲天堂网| 亚洲高清在线精品| 亚洲天堂av一区| 欧美激情一二三区| 国产欧美视频在线观看| 337p日本欧洲亚洲大胆精品| 在线综合+亚洲+欧美中文字幕| 日本精品视频一区二区| 91在线播放网址| 成人黄色免费短视频| 成人动漫一区二区三区| 国产 日韩 欧美大片| 国产黄色精品视频| 国产成人精品影视| 国产aⅴ综合色| 高清在线成人网| 成人精品小蝌蚪| 99视频精品免费视频| 97久久精品人人澡人人爽| 不卡高清视频专区| 色综合久久九月婷婷色综合| 99re在线精品| 欧美午夜精品久久久久久超碰 | 国产女人18水真多18精品一级做| 2017欧美狠狠色| 欧美高清在线精品一区| 中文字幕不卡在线观看| 成人免费在线视频| 亚洲国产综合视频在线观看| 亚洲图片自拍偷拍| 久久丁香综合五月国产三级网站| 激情综合色综合久久综合| 国产91精品一区二区麻豆亚洲| 成人黄色大片在线观看| 欧美性大战久久| 日韩三级高清在线| 中文字幕第一区综合| 亚洲免费观看视频| 图片区小说区区亚洲影院| 国产一区二区免费视频| 成人av在线观| 欧美日韩一区二区三区在线| 欧美成人精品1314www| 国产精品五月天| 亚洲成a人v欧美综合天堂下载| 精品一区二区国语对白| av激情成人网| 777午夜精品视频在线播放| 久久久国产精品麻豆| 亚洲一区在线观看视频| 久热成人在线视频| 91免费观看视频| 日韩一级片网址| 成人欧美一区二区三区小说| 日本特黄久久久高潮| 处破女av一区二区| 91精品福利在线一区二区三区 | 欧美亚洲一区二区在线| www成人在线观看| 亚洲一二三四区| 韩国视频一区二区| 欧美日韩一区二区三区在线看 | 欧美日韩国产电影| 中文字幕av不卡| 日韩精品一级中文字幕精品视频免费观看 | 91国在线观看| 欧美国产激情一区二区三区蜜月| 视频在线观看国产精品| 99国产精品国产精品毛片| 日韩一二三区不卡| 亚洲综合小说图片| 不卡av免费在线观看| 久久亚区不卡日本| 性久久久久久久久| 91蝌蚪porny| 欧美激情综合网| 久久99精品久久久| 欧美卡1卡2卡| 一区二区三区高清| av中文字幕在线不卡| 欧美精品一区二区不卡| 日日摸夜夜添夜夜添亚洲女人| 99国内精品久久| 国产精品美女久久久久久| 激情文学综合插| 日韩亚洲欧美一区二区三区| 亚洲成人免费电影| 91极品美女在线| 一个色综合网站| 日本高清不卡视频| 综合久久综合久久| 91一区在线观看| 国产精品国产三级国产普通话99| 国产高清视频一区| 国产天堂亚洲国产碰碰| 国产九色精品成人porny| 精品国产亚洲在线| 狠狠狠色丁香婷婷综合激情| 久久综合狠狠综合久久综合88 |