亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产性做久久久久久| 在线精品视频免费观看| 26uuu精品一区二区| 久久精品国产精品亚洲红杏 | 天涯成人国产亚洲精品一区av| 91久久奴性调教| 香蕉久久一区二区不卡无毒影院| 欧美日韩色一区| 视频一区二区欧美| 精品久久久久久久久久久久久久久 | 中文字幕一区视频| 91免费看`日韩一区二区| 亚洲色欲色欲www在线观看| 欧美亚洲高清一区| 麻豆精品国产传媒mv男同| 久久精品人人做人人综合| 91亚洲精品一区二区乱码| 亚洲国产精品嫩草影院| 日韩免费一区二区| 99久久婷婷国产精品综合| 亚洲午夜精品在线| 久久午夜免费电影| 91丨porny丨最新| 男女性色大片免费观看一区二区 | 在线视频综合导航| 日韩精品电影一区亚洲| 26uuu国产在线精品一区二区| 成人午夜视频网站| 午夜在线成人av| 久久女同互慰一区二区三区| 91亚洲午夜精品久久久久久| 麻豆精品在线看| 亚洲婷婷在线视频| 青青草视频一区| 99在线视频精品| 欧美成人a在线| 一本一道综合狠狠老| 石原莉奈一区二区三区在线观看| 国产亚洲精品久| 欧美日韩亚州综合| 丁香婷婷综合色啪| 肉丝袜脚交视频一区二区| 国产无人区一区二区三区| 欧美日韩在线播放一区| 成人app下载| 另类调教123区| 亚洲午夜免费福利视频| 欧美韩日一区二区三区| 日韩免费视频线观看| 欧美日韩中文字幕精品| heyzo一本久久综合| 精品一区二区三区在线播放视频| 亚洲综合一区在线| 中文字幕乱码日本亚洲一区二区| 欧美一区二区三区思思人| 色综合色综合色综合| 国产精品综合av一区二区国产馆| 亚洲成a人片在线观看中文| 中文字幕色av一区二区三区| 精品电影一区二区三区| 91麻豆精品国产自产在线观看一区 | 精品国产一区二区三区忘忧草| 欧美调教femdomvk| 日本韩国精品一区二区在线观看| 国产成人精品网址| 国产精品一线二线三线精华| 轻轻草成人在线| 首页国产欧美日韩丝袜| 午夜激情综合网| 亚洲福利国产精品| 亚洲一二三四久久| 一区二区高清在线| 一区二区三区中文字幕| 亚洲欧美国产77777| 亚洲欧洲精品成人久久奇米网| 欧美经典一区二区| 亚洲国产成人午夜在线一区| 欧美极品少妇xxxxⅹ高跟鞋 | 久久99最新地址| 蜜臀av性久久久久蜜臀aⅴ| 天堂在线亚洲视频| 日韩黄色免费网站| 日韩电影免费一区| 麻豆免费精品视频| 国内成人免费视频| 国产不卡在线一区| 成人高清免费在线播放| 91免费观看在线| 欧美日韩国产综合视频在线观看| 欧美日韩国产首页在线观看| 欧美一个色资源| 精品国产网站在线观看| 国产亚洲精品资源在线26u| 国产精品三级在线观看| 亚洲手机成人高清视频| 亚洲va国产天堂va久久en| 免费久久99精品国产| 国产精品99久久久久久似苏梦涵| 成人一区二区视频| 日本高清不卡视频| 7777精品伊人久久久大香线蕉完整版| 日韩欧美国产三级电影视频| 国产欧美一区二区精品秋霞影院 | 国产成人午夜精品影院观看视频| 国产ts人妖一区二区| 色一区在线观看| 51精品秘密在线观看| 国产午夜亚洲精品羞羞网站| 亚洲欧美日韩在线| 日韩中文字幕91| 国产高清精品在线| 欧美中文字幕一区| 亚洲精品在线观| 亚洲欧美日韩系列| 美女视频免费一区| av亚洲精华国产精华精华| 欧美无砖砖区免费| 国产欧美一区二区三区鸳鸯浴| 亚洲国产一区二区三区青草影视| 国产老肥熟一区二区三区| 99re热这里只有精品免费视频 | 日韩女优视频免费观看| 国产精品久久久久桃色tv| 亚洲成人av在线电影| 国产传媒欧美日韩成人| 欧美日韩一区二区三区视频| 久久网这里都是精品| 亚洲图片欧美视频| 国产二区国产一区在线观看| 欧美日韩综合一区| 国产精品久久久久一区二区三区共| 五月天丁香久久| gogogo免费视频观看亚洲一| 精品日韩99亚洲| 亚洲一区在线播放| heyzo一本久久综合| 欧美精品一区二区不卡| 亚洲成a人片在线观看中文| a级精品国产片在线观看| 精品久久一二三区| 亚洲va在线va天堂| 91官网在线免费观看| 亚洲国产精品精华液ab| 卡一卡二国产精品| 欧美日韩国产综合一区二区三区 | 欧美日韩电影在线| 亚洲欧美另类小说| 国产黄色91视频| 精品国产1区2区3区| 男男成人高潮片免费网站| 色妹子一区二区| 国产精品伦理一区二区| 国产一区二区三区日韩| 日韩一区二区三区视频在线| 亚洲国产欧美在线| 在线观看av一区二区| 亚洲天天做日日做天天谢日日欢| 成人永久aaa| 国产精品免费av| 国产精品一级片| 久久色.com| 国产一区二区三区综合| 精品999久久久| 久久精品噜噜噜成人av农村| 91精品国产综合久久国产大片| 亚洲高清在线视频| 欧美日韩成人高清| 婷婷成人综合网| 91精品福利在线一区二区三区 | 日韩一区二区三区视频在线| 日本91福利区| 日韩欧美在线观看一区二区三区| 丝袜国产日韩另类美女| 欧美精选午夜久久久乱码6080| 香蕉av福利精品导航| 欧美一级一区二区| 青青草国产成人av片免费| 日韩欧美视频一区| 韩国欧美国产一区| 国产午夜精品一区二区三区四区 | 亚洲精品国产a| 欧洲生活片亚洲生活在线观看| 亚洲欧美经典视频| 欧美午夜电影在线播放| 日韩成人免费电影| 欧美精品一区二区三区在线| 国产99久久久精品| 亚洲免费观看高清完整版在线观看| 91久久精品一区二区三区| 亚洲午夜电影在线观看| 日韩精品一区二区三区三区免费| 国产酒店精品激情| 1000部国产精品成人观看| 欧美视频完全免费看| 日本中文在线一区| 国产欧美一区二区精品忘忧草| 色哟哟精品一区| 久久不见久久见免费视频7| 国产精品久久精品日日| 精品视频免费在线|