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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ospf_system.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ospf_system.c - OSPF system *//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02m,13jun03,agi  SPR#88974, fixed static configuration02l,09jun03,agi  SPR#88958, eliminated race condition - task state should                 be set to created before the task is spawned02k,10jun03,kkz  SPR#88929, moved creation of semaphores to ospfInitialize() 02j,02jun03,ram  Moved OSPF memory partition creation to ospfInitialize02i,29may03,agi  Moved configuration_data definition out of __OSFP_FTP__ preproc02h,12may03,asr	 Changes to make OSPF virtual stack compatible02g,27may03,agi  Removed the SPF task, added code inspection changes02f,26may03,agi  Modified RWOS_MAXIMUM_FILE_SIZE to OSPF_MAXIMUM_FILE_SIZE                 added taskDelay() call for the SPF  task02e,26may03,agi  Added __OSPF_MIB__ conditional compile directive around                  ospf_management_init() to prevent link errors02d,23may03,agi  Added return value checks, updated function headers02c,09may03,agi  Modified OSPF task startup from using RWOS dispatcher to using                  vxWorks taskSpawn()02b,22apr03,ram	 SPR#76812 Modifications for OSPF performance enhancements02a,17feb02,ram	 SPR#81808 Added OSPF memory partition support01p,19nov02,mwv  Merge TMS code SPR 8428401o,29may02,jkw  Change rwos_task_main to rw_task_main for fixes to synchronize                 child and parent task as well as add task options.01n,16apr02,jkw  Remove task_options variable unused.01m,25mar02,kc   Added task_options argument to rwos_task_main() call.01l,24mar02,kc   Modified ospf_startup() to return status code.01k,22feb02,kc   Fixed callout to OSPF MIB API as a result of functions name changes.01j,13feb02,kc   Renamed task name from "OSPF" to "tOspfTimer".01i,11feb02,kc   Added __ENVOY_SNMP_API to init envoy snmp api for ospf mib                 and wrn-ospf enterprise mib.01h,08nov01,kc   Removed MIB API initialization from ospf_init() and added                 "spf_management_init().01g,21oct01,kc   Added ospf_startup() routine for dynamic reconfiguration.01f,13oct01,kc   Dynamic configuration changes.01e,17sep01,kc   Moved raw socket init to ospf_initialize_protocol(). Added ospf_cfg().01d,23aug01,jkw  Fixed compiler warnings.01c,13aug01,aos  Modified OSPF task initialization to save the task ID01b,13aug01,kc   Fixed compiler warnings - added <sockLib.h> include.01a,26jun01,jkw  Moved global variables to ospf_globals.h for cleanup*//*DESCRIPTIONospf_system.c is used for starting OSPF.  This file will call the appropriate functions tointialize the configuration and start the OSPF process.This file is used whenever starting up OSPF.*/#include <vxWorks.h>#if defined (__OSPF_FTP__)/* Added change as per TMS PR # 1555 */#include <taskLib.h>#include <ftpLib.h>#include <ramDrv.h>#include <dosFsLib.h>#endif /*__OSPF_FTP__*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ */#include <sockLib.h>#if !defined(__OSPF_VIRTUAL_STACK__)extern void ospf_cfg (void);#endif /* __OSPF_VIRTUAL_STACK__ *//* externs */#if !defined (VIRTUAL_STACK)    IMPORT int	_protoSwIndex;    IMPORT struct protosw 	inetsw [IP_PROTO_NUM_MAX];    IMPORT u_char ip_protox[IPPROTO_MAX];#endif#if defined(VIRTUAL_STACK)    IMPORT int myStackNum;#endif#if defined (__OSPF_FTP__)#if defined (__FILE_SYSTEM__)    static bool initialize_file_system (void);    static BLK_DEV *pBlkDev;    static DOS_VOL_DESC *pVolDesc;#endif /* __FILE_SYSTEM__ */        static bool download_configuration_file (const char* p_configuration_file, const char* p_ftp_server_address, const char* p_directory, const char* p_user, const char* p_password);    static char configuration_data[OSPF_MAXIMUM_FILE_SIZE];#endif /*__OSPF_FTP__*/#if defined(__OSPF_MIB__)IMPORT STATUS ospfMapiInit( NVRAM_SAVE_FUNCPTR nvramSaveRtn,                            NVRAM_DELETE_FUNCPTR nvramDelRtn,                            NVRAM_RETRIEVE_FUNCPTR nvramRetrieveRtn                          );#if defined(__ENVOY_SNMP_API__)IMPORT STATUS ospfEnvoyInit( void );IMPORT STATUS ospfEnvoyWrnInit( void );#endif /* __ENVOY_SNMP_API__ */#endif /* __OSPF_MIB__ *//* globals */static SEM_ID  ospf_startup_sem_id; /* OSPF startup semaphore.  Used to synchronize                               * OSPF task startup                               */#if defined (__OSPF_FTP__)/******************************************************************************** open_configuration_file - open configuration file**/static bool open_configuration_file     (    const char* p_configuration_file,     const char* p_ftp_server_address,     const char* p_directory, const char* p_user,     const char* p_password    )    {#if defined (__FILE_SYSTEM__)    if (initialize_file_system ( ) == false)        {        TRACE (("Failed to initalize file system. \r\n"));        return (false);        }#endif    if (download_configuration_file (p_configuration_file, p_ftp_server_address, p_directory, p_user, p_password) == false)        {        TRACE (("Failed to download file. \r\n"));        return (false);        }        return (true);    }/******************************************************************************** close_configuration_file - close configuration file**/static void close_configuration_file ()    {#if defined (__FILE_SYSTEM__)        /*....*/#endif        return;    }/****************************************************************************/#if defined (__FILE_SYSTEM__)static bool initialize_file_system (void){    pBlkDev = ramDevCreate (        OSPF_RAMDRIVE_ADDRESS,          OSPF_RAMDRIVE_BYTES_PER_BLOCK,        OSPF_RAMDRIVE_BLOCK_PER_TRACK,        OSPF_RAMDRIVE_NUMBER_OF_BLOCKS,        OSPF_RAMDRIVE_BLOCK_OFFSET);        if (pBlkDev == NULL)                {                return (false);                }    pVolDesc = dosFsMkfs (OSPF_RAMDRIVE_VOLUME_NAME,pBlkDev);        if (pVolDesc == NULL)                {                return (false);                }        return (true);}#endif /* __FILE_SYSTEM__ *//******************************************************************************** download_configuration_file - download configuration file**/static bool download_configuration_file     (    const char* p_configuration_file,     const char* p_ftp_server_address,     const char* p_directory, const char* p_user,     const char* p_password    )    {    char relative_file_path[512];    char buf [512];    int ctrlSock;    int dataSock;    int nBytes;    int configuration_file;    STATUS status;    UINT offset;    configuration_file = 0;    nBytes = 0;    ctrlSock = 0;    dataSock = 0;    relative_file_path[0] = '\0';    offset = 0;    if ((p_configuration_file == NULL) || (p_ftp_server_address == NULL) )            {            return (false);            }    if (p_user == NULL)            {            p_user = "anonymous";            }    sprintf (relative_file_path, "%s/%s",        OSPF_RAMDRIVE_VOLUME_NAME, OSPF_CONFIGURATION_FILE_NAME);#if defined (__FILE_SYSTEM__)    configuration_file = creat (relative_file_path, 2);    if (configuration_file == ERROR)            {            return (false);            }#endif    if (ftpXfer ((char *)p_ftp_server_address, (char *)p_user, (char *)p_password,                 "", "RETR %s",(char *)p_directory,(char *)p_configuration_file,  &ctrlSock, &dataSock) == ERROR)        {        close (configuration_file);        return (false);        }    while ((nBytes = read (dataSock, buf, sizeof (buf))) > 0)        {#if defined (__FILE_SYSTEM__)        write (configuration_file, buf, sizeof (buf) );#else        memcpy (&configuration_data[offset], buf, nBytes);        offset += nBytes;#endif        }#if !defined (__FILE_SYSTEM__)        configuration_data[offset] = '\0';#endif    close (dataSock);    if (nBytes < 0)             /* read error? */        {        status = ERROR;        }    if (ftpReplyGet (ctrlSock, TRUE) != FTP_COMPLETE)        {        status = ERROR;        }    if (ftpCommand (ctrlSock, "QUIT", 0, 0, 0, 0, 0, 0) != FTP_COMPLETE)        {        status = ERROR;        }    close (ctrlSock);#if defined (__FILE_SYSTEM__)    close (configuration_file);#endif    return (true);    }#endif /*__OSPF_FTP__*/  /****************************************************************************** ospf_init_stub - OSPF init stub routine** This routine is used by the OSPF .cdf file to pull ospf_systems into the load.** RETURNS: N/A*/void ospf_init_stub()    {    return;    }/******************************************************************************* ospf_1sec_timer_isr - watchdog timer ISR*   * This is a watchdog timer ISR. It gives the semaphore on which <tOspfTimer>* task is pended and restarts the watchdog.  This ISR runs every second. */  void ospf_1sec_timer_isr ()    {    /* restart the watchdog */    wdStart (        ospf.watchdog,         (sysClkRateGet ()),         (FUNCPTR) ospf_1sec_timer_isr,         0);    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩视频一区二区| 国产一区二区三区免费观看| 色婷婷av一区二区三区之一色屋| 亚洲欧美另类图片小说| 成人欧美一区二区三区| 懂色av一区二区三区免费看| 亚洲激情综合网| 日韩欧美中文字幕公布| 成人av电影在线播放| 爽好多水快深点欧美视频| 久久久久久久精| 欧美视频精品在线观看| 国产精品69毛片高清亚洲| 一区二区三区欧美激情| 欧美日韩一区视频| 成人黄色一级视频| 亚洲免费在线视频| 亚洲精品一区二区在线观看| 91视频观看视频| 蜜桃免费网站一区二区三区| 亚洲天天做日日做天天谢日日欢 | 免费在线成人网| 国产精品乱码一区二三区小蝌蚪| 制服丝袜亚洲网站| 色悠悠久久综合| 国产精品影视天天线| 午夜欧美电影在线观看| 亚洲欧美综合色| 精品久久99ma| 欧美另类久久久品| 91免费在线播放| 韩国三级在线一区| 麻豆一区二区在线| 国产精品久线在线观看| 久久久久久亚洲综合| 在线中文字幕一区| 波多野结衣视频一区| 亚洲日本在线天堂| 亚洲国产激情av| 日韩免费视频一区二区| 欧美日韩另类国产亚洲欧美一级| 波多野结衣精品在线| 国产高清一区日本| 五月天激情综合| 一区二区三区精密机械公司| 国产精品素人一区二区| 91精品国产综合久久久久久漫画 | 亚洲最新视频在线观看| 国产精品久久久久毛片软件| 国产亚洲一区二区三区在线观看 | 色系网站成人免费| 国产经典欧美精品| 蜜桃av噜噜一区| 麻豆91免费看| 国产一区二区三区香蕉| 国产成人午夜片在线观看高清观看 | 久久久久久电影| 国产日韩欧美激情| 综合在线观看色| 亚洲永久精品国产| 免费在线看成人av| 国产精品996| 9色porny自拍视频一区二区| 91在线porny国产在线看| 色狠狠色噜噜噜综合网| 欧美日韩国产中文| 精品国产免费人成电影在线观看四季 | 天堂成人国产精品一区| 麻豆91精品视频| 国产精品夜夜嗨| 色系网站成人免费| 欧美不卡一区二区| 国产在线日韩欧美| eeuss鲁片一区二区三区| 色噜噜久久综合| 日韩亚洲电影在线| 欧美国产乱子伦| 亚洲福利视频一区二区| 精品一区二区三区免费| 99re热这里只有精品免费视频| 欧洲精品视频在线观看| 欧美本精品男人aⅴ天堂| 成人欧美一区二区三区小说| 午夜精品久久久| 国产成人免费在线视频| 欧美亚洲另类激情小说| 2022国产精品视频| 一区二区三区欧美日韩| 国产毛片精品视频| 欧美伊人久久久久久久久影院| 久久综合狠狠综合久久激情 | 亚洲综合一区在线| 黑人巨大精品欧美黑白配亚洲| 91麻豆精品一区二区三区| 欧美一二三四区在线| 国产精品久久久一区麻豆最新章节| 婷婷丁香激情综合| 99久久久精品| 久久久www免费人成精品| 亚洲成人一区在线| kk眼镜猥琐国模调教系列一区二区| 欧美精品久久天天躁| 国产精品视频麻豆| 精品一区二区三区欧美| 欧美精品高清视频| 亚洲精品国产无天堂网2021| 国模冰冰炮一区二区| 欧美日韩极品在线观看一区| 亚洲视频免费在线| 丁香一区二区三区| 欧美成人精品福利| 日本欧美韩国一区三区| 在线一区二区观看| 亚洲色欲色欲www| 国产精品88888| 精品伦理精品一区| 偷窥少妇高潮呻吟av久久免费| 中文字幕制服丝袜成人av| 久色婷婷小香蕉久久| 欧美日本一区二区三区四区| 亚洲免费观看高清完整| kk眼镜猥琐国模调教系列一区二区| 久久免费电影网| 国产一区日韩二区欧美三区| 日韩限制级电影在线观看| 亚洲444eee在线观看| 91久久免费观看| 亚洲制服丝袜一区| 91搞黄在线观看| 一区二区三区国产精品| 色哟哟一区二区三区| 亚洲久草在线视频| 色国产综合视频| 亚洲免费电影在线| 色八戒一区二区三区| 亚洲综合一二三区| 欧美日韩高清一区二区三区| 亚洲一二三四久久| 精品视频1区2区3区| 一级做a爱片久久| 欧美这里有精品| 亚洲香肠在线观看| 欧美日韩国产天堂| 五月激情丁香一区二区三区| 日韩一区二区三区视频在线 | 日韩欧美国产成人一区二区| 日韩一区二区三区高清免费看看| 欧美日韩免费观看一区三区| 欧美精品123区| 欧美激情一区二区三区四区| 久久精品综合网| 久久精品欧美日韩精品| 午夜精品爽啪视频| 一本大道久久a久久精二百| 欧美丝袜第三区| 欧美福利视频导航| 日韩一区二区中文字幕| 在线不卡中文字幕播放| 欧美三级电影在线看| 欧美日韩情趣电影| 欧美一级久久久久久久大片| 国产亚洲美州欧州综合国| 欧美videos中文字幕| 国产午夜精品一区二区三区视频| 国产精品欧美久久久久无广告| 亚洲激情图片qvod| 久久99精品久久只有精品| 国内欧美视频一区二区| 成人h动漫精品一区二区| 91福利小视频| 久久亚洲综合色一区二区三区| 中文字幕高清一区| 久久成人精品无人区| 久久这里都是精品| 一区二区三区视频在线看| 免费看黄色91| 波多野结衣中文字幕一区二区三区| 欧美日本国产视频| 久久日一线二线三线suv| 免费人成在线不卡| 国产拍揄自揄精品视频麻豆| 91美女片黄在线| 黄一区二区三区| 亚洲卡通动漫在线| 久久综合久久久久88| 中文字幕亚洲欧美在线不卡| 亚洲最色的网站| 亚洲成人一区在线| 久久99久久精品| 大美女一区二区三区| 欧美性做爰猛烈叫床潮| 欧美日韩在线免费视频| 日韩精品一区二区在线| 国产日产欧美精品一区二区三区| 中文字幕免费一区| 亚洲国产精品影院| 国产福利精品导航| 欧美视频你懂的| 亚洲人妖av一区二区| 亚洲一区日韩精品中文字幕|