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

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

?? helloworld.c

?? 該程序在CCS下編譯鏈接成功
?? C
字號:
/* *  Copyright 2007 by Texas Instruments Incorporated. *  All rights reserved. Property of Texas Instruments Incorporated. *  Restricted rights to use, duplicate or disclose this code are *  granted through contract. * *  @(#) TCP/IP_Network_Developers_Kit 1.92.00.22 01-10-2007 (ndk-b22) *//*^M *  ======== helloWorld.c ========^M *^M * *///--------------------------------------------------------------------------// IP Stack 'Hello World!' Example//// This is a skeleton application, intended to provide application  // programmers with a basic Stack setup, to which they can start // adding their code.//// To test it as is, use with helloWorld.exe from \winapps directory////--------------------------------------------------------------------------// helloWorld.c//// Stack initialization functions//// Author: Michael A. Denio//                 Magdalena B. Iovescu// Copyright 2000, 2001 by Texas Instruments Inc.//--------------------------------------------------------------------------#include <std.h>#include <stdio.h>#include <c62.h>#include <netmain.h>//---------------------------------------------------------------------------// Title String//char *VerStr = "\nTCP/IP Stack 'Hello World!' Application\n\n";// Our NETCTRL callback functionsstatic void   NetworkOpen();static void   NetworkClose();static void   NetworkIPAddr( IPN IPAddr, uint IfIdx, uint fAdd );// Fun reporting functionstatic void   ServiceReport( uint Item, uint Status, uint Report, HANDLE hCfgEntry );// External referencesextern int dtask_udp_hello();//---------------------------------------------------------------------------// Configuration//char *HostName    = "tidsp";char *LocalIPAddr = "0.0.0.0";                  // Set to "0.0.0.0" for DHCPchar *LocalIPMask = "255.255.254.0";    // Not used when using DHCPchar *GatewayIP   = "0.0.0.0";                  // Not used when using DHCPchar *DomainName  = "demo.net";         // Not used when using DHCPchar *DNSServer   = "0.0.0.0";          // Used when set to anything but zero//---------------------------------------------------------------------// Main Entry Point//---------------------------------------------------------------------int main(){}// This callback function is called by the evaluation stack 5 min before the// evaluation period times out.void evalCallBack(){    printf("The Stack is going to shutdown in 5 min\n");}//// Main Thread  主要的進程,優先級定為5//int StackTest(){    int               rc;    HANDLE            hCfg;    //    // THIS MUST BE THE ABSOLUTE FIRST THING DONE IN AN APPLICATION!!    //    rc = NC_SystemOpen( NC_PRIORITY_LOW, NC_OPMODE_INTERRUPT );//優先級為最低,采用中斷調用模式    if( rc )    {        printf("NC_SystemOpen Failed (%d)\n",rc);        for(;;);                         //進入空循環                      }    // Print out our banner(標語)    printf(VerStr);    //    // Create and build the system configuration from scratch.    //    // Create a new configuration    hCfg = CfgNew();    if( !hCfg )    {        printf("Unable to create configuration\n");        goto main_exit;    }    // The evaluation version of TCP/IP Stack restricts usage of stack   !!!!    // to maximum of 24 Hours. If application wants to be notified 5 min    // before the timeout, it can register a callback function by using    // the following configuration code section.導入配置參數    {        void (*pFxn)() = &evalCallBack;//pFxn為指向函數的指針,改函數返回一個空值        CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_SYSINFO_EVALCALLBACK, 0,                    sizeof(void(*)()), (UINT8*) &pFxn, 0 );    }    // We better validate the length of the supplied names    if( strlen( DomainName ) >= CFG_DOMAIN_MAX ||        strlen( HostName ) >= CFG_HOSTNAME_MAX )    {        printf("Names too long\n");        goto main_exit;    }    // Add our global hostname to hCfg (to be claimed in all connected domains)    CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_HOSTNAME, 0,                 strlen(HostName), (UINT8 *)HostName, 0 );    // If the IP address is specified, manually configure IP and Gateway設置IP和網關    if( inet_addr(LocalIPAddr) )  //返回值為1則IP地址分配成功    {        CI_IPNET NA;  //IPNET例程        CI_ROUTE RT;   //路由例程        IPN      IPTmp;        // Setup manual IP address        bzero( &NA, sizeof(NA) );       //  ?????不知道是什么,可能是把NA中全部清零        NA.IPAddr  = inet_addr(LocalIPAddr);        NA.IPMask  = inet_addr(LocalIPMask);        strcpy( NA.Domain, DomainName );        NA.NetType = 0;        // Add the address to interface 1,即ipnetwork 1        CfgAddEntry( hCfg, CFGTAG_IPNET, 1, 0,                           sizeof(CI_IPNET), (UINT8 *)&NA, 0 );// Address created by DHCP CLIENT        // Add the default gateway. Since it is the default, the        // destination address and mask are both zero (we go ahead        // and show the assignment for clarity).        bzero( &RT, sizeof(RT) );        RT.IPDestAddr = 0;        RT.IPDestMask = 0;        RT.IPGateAddr = inet_addr(GatewayIP);        // Add the route        CfgAddEntry( hCfg, CFGTAG_ROUTE, 0, 0,    //增加靜態路由                           sizeof(CI_ROUTE), (UINT8 *)&RT, 0 );        // Manually add the DNS server when specified//添加 Stack's DNS servers        IPTmp = inet_addr(DNSServer);        if( IPTmp )            CfgAddEntry( hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_DOMAINNAMESERVER,                         0, sizeof(IPTmp), (UINT8 *)&IPTmp, 0 );    }    // Else we specify DHCP    else    {        CI_SERVICE_DHCPC dhcpc;        // Specify DHCP Service on IF-1        bzero( &dhcpc, sizeof(dhcpc) );        dhcpc.cisargs.Mode   = CIS_FLG_IFIDXVALID;        dhcpc.cisargs.IfIdx  = 1;        dhcpc.cisargs.pCbSrv = &ServiceReport;        CfgAddEntry( hCfg, CFGTAG_SERVICE, CFGITEM_SERVICE_DHCPCLIENT, 0,                     sizeof(dhcpc), (UINT8 *)&dhcpc, 0 );    }    //    // Configure IPStack/OS Options,配置IPStack/OS 選項    //    // We don't want to see debug messages less than WARNINGS    rc = DBG_WARN;    CfgAddEntry( hCfg, CFGTAG_OS, CFGITEM_OS_DBGPRINTLEVEL,                 CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0 );    //    // This code sets up the TCP and UDP buffer sizes,配置TCP和UDP緩存大小    // (Note 8192 is actually the default. This code is here to    // illustrate how the buffer and limit sizes are configured.)    //    // UDP Receive limit    rc = 8192;    CfgAddEntry( hCfg, CFGTAG_IP, CFGITEM_IP_SOCKUDPRXLIMIT,                 CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0 );//到這里位置系統配置完畢    //    // Boot the system using this configuration    //    // We keep booting until the function returns 0. This allows    // us to have a "reboot" command.   開啟stack,即喚醒network    //    do    {        rc = NC_NetStart( hCfg, NetworkOpen, NetworkClose, NetworkIPAddr );    } while( rc > 0 );    // Delete Configuration    CfgFree( hCfg );    // Close the OSmain_exit:    NC_SystemClose();    return(0);}//// System Task Code [ Server Daemon Servers ]//static HANDLE hHello=0;//// NetworkOpen//// This function is called after the configuration has booted//static void NetworkOpen(){    // Create our local server創建一個TCP或UDP服務器入口,該服務即為 udpHello.c中內容    hHello = DaemonNew( SOCK_DGRAM, 0, 7, dtask_udp_hello,                       OS_TASKPRINORM, OS_TASKSTKNORM, 0, 1 );}//// NetworkClose//// This function is called when the network is shutting down,// or when it no longer has any IP addresses assigned to it.//static void NetworkClose(){    DaemonFree( hHello );}//// NetworkIPAddr//// This function is called whenever an IP address binding is// added or removed from the system.//static void NetworkIPAddr( IPN IPAddr, uint IfIdx, uint fAdd ){    IPN IPTmp;    if( fAdd )        printf("Network Added: ");    else        printf("Network Removed: ");    // Print a message    IPTmp = ntohl( IPAddr );    printf("If-%d:%d.%d.%d.%d\n", IfIdx,            (UINT8)(IPTmp>>24)&0xFF, (UINT8)(IPTmp>>16)&0xFF,            (UINT8)(IPTmp>>8)&0xFF, (UINT8)IPTmp&0xFF );}//// Service Status Reports//// Here's a quick example of using service status updates//static char *TaskName[]  = { "Telnet","HTTP","NAT","DHCPS","DHCPC","DNS" };static char *ReportStr[] = { "","Running","Updated","Complete","Fault" };static char *StatusStr[] = { "Disabled","Waiting","IPTerm","Failed","Enabled" };static void ServiceReport( uint Item, uint Status, uint Report, HANDLE h ){    printf( "Service Status: %-9s: %-9s: %-9s: %03d\n",            TaskName[Item-1], StatusStr[Status],            ReportStr[Report/256], Report&0xFF );    //    // Example of adding to the DHCP configuration space    //    // When using the DHCP client, the client has full control over access    // to the first 256 entries in the CFGTAG_SYSINFO space.    //    // Note that the DHCP client will erase all CFGTAG_SYSINFO tags except    // CFGITEM_DHCP_HOSTNAME. If the application needs to keep manual    // entries in the DHCP tag range, then the code to maintain them should    // be placed here.    //    // Here, we want to manually add a DNS server to the configuration, but    // we can only do it once DHCP has finished its programming.    //    if( Item == CFGITEM_SERVICE_DHCPCLIENT &&        Status == CIS_SRV_STATUS_ENABLED &&        (Report == (NETTOOLS_STAT_RUNNING|DHCPCODE_IPADD) ||         Report == (NETTOOLS_STAT_RUNNING|DHCPCODE_IPRENEW)) )    {        IPN IPTmp;        // Manually add the DNS server when specified        IPTmp = inet_addr(DNSServer);        if( IPTmp )            CfgAddEntry( 0, CFGTAG_SYSINFO, CFGITEM_DHCP_DOMAINNAMESERVER,                         0, sizeof(IPTmp), (UINT8 *)&IPTmp, 0 );    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜伊人狠狠久久| 91黄色免费看| av影院午夜一区| 在线观看视频91| 日韩美女在线视频 | 亚洲精品大片www| 天堂午夜影视日韩欧美一区二区| 精品亚洲免费视频| 国产91精品露脸国语对白| 99精品视频在线观看免费| 91精品国产综合久久香蕉麻豆| 欧美电影免费观看高清完整版在线观看| 精品99一区二区| 亚洲精品视频在线看| 激情五月婷婷综合网| 一本到不卡精品视频在线观看| 欧美一区二区久久| 自拍偷拍国产精品| 美国十次综合导航| 色婷婷激情综合| 精品国产伦一区二区三区观看方式 | 亚洲天天做日日做天天谢日日欢| 日韩**一区毛片| 波多野结衣视频一区| 91精品久久久久久久91蜜桃| 国产精品成人在线观看| 麻豆精品国产传媒mv男同| 91在线视频免费91| 久久综合久久99| 午夜视频在线观看一区二区三区| 播五月开心婷婷综合| 欧美一二三在线| 亚洲一区二区影院| 国产成人午夜高潮毛片| 337p亚洲精品色噜噜狠狠| 亚洲视频一区在线| 国产精品一区在线| 91精品国产综合久久久蜜臀粉嫩| 亚洲美女偷拍久久| 丁香桃色午夜亚洲一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲成av人片一区二区梦乃| 国产69精品久久99不卡| 欧美一级免费观看| 亚洲精品免费在线| 成人av在线网站| 久久精品免视看| 久久se这里有精品| 91超碰这里只有精品国产| 亚洲激情图片qvod| 99在线精品观看| 日本一区二区三区视频视频| 精品中文字幕一区二区小辣椒 | 日韩一区精品字幕| 欧美系列一区二区| 亚洲综合视频网| 色综合久久久久综合体桃花网| 中文字幕一区二区三| 成人午夜电影网站| 国产色产综合色产在线视频| 狠狠色丁香九九婷婷综合五月| 欧美一级一区二区| 看片的网站亚洲| 欧美一区二区美女| 蜜桃久久av一区| 日韩一级片网站| 日本aⅴ精品一区二区三区| 欧美日韩精品一区二区| 亚洲国产日韩在线一区模特| 日本黄色一区二区| 亚洲在线观看免费| 欧美性高清videossexo| 亚洲午夜电影在线| 欧美巨大另类极品videosbest| 亚洲成人自拍网| 欧美日本国产视频| 免费不卡在线视频| 欧美精品一区二| 国产ts人妖一区二区| 国产欧美日韩不卡免费| 丰满白嫩尤物一区二区| 中文欧美字幕免费| 99国产精品国产精品久久| 亚洲免费观看高清完整版在线观看熊| 色综合视频在线观看| 亚洲午夜成aⅴ人片| 欧美一区二区三区人| 久久99精品久久久久婷婷| 国产亚洲1区2区3区| 成人伦理片在线| 一区二区三区不卡视频| 欧美日韩精品二区第二页| 日韩av在线免费观看不卡| 精品女同一区二区| www.亚洲在线| 亚洲午夜一区二区| 日韩一区二区三区精品视频| 国产在线视频不卡二| 中文字幕精品在线不卡| 色婷婷综合久久久久中文| 日韩黄色小视频| 久久精品一区二区三区不卡| 99精品久久99久久久久| 亚洲成av人片一区二区| ww亚洲ww在线观看国产| 一本到一区二区三区| 免费欧美在线视频| 国产欧美日韩在线| 91国产成人在线| 精品一区二区三区香蕉蜜桃| 中文字幕一区二区三区在线不卡| 欧美亚洲免费在线一区| 久久精品国产999大香线蕉| 中文久久乱码一区二区| 欧美丝袜丝交足nylons| 精品一区二区免费在线观看| 中文字幕日韩精品一区| 欧美放荡的少妇| 岛国精品一区二区| 日日夜夜免费精品视频| 国产精品天美传媒沈樵| 欧美日本在线播放| 成人丝袜高跟foot| 奇米影视在线99精品| 国产精品美女久久久久久久| 欧美精品日日鲁夜夜添| 成人免费黄色在线| 日韩在线一区二区| 18成人在线观看| 欧美精品一区二区在线播放| 色哟哟在线观看一区二区三区| 久久精品国产色蜜蜜麻豆| 亚洲免费观看高清完整版在线| 欧美成人综合网站| 欧美在线观看一二区| 国产·精品毛片| 青草av.久久免费一区| 夜夜嗨av一区二区三区中文字幕 | 成人一道本在线| 日韩精品欧美精品| 中文字幕欧美一区| 欧美不卡一区二区| 欧美日韩一区小说| 成人午夜免费av| 国产在线国偷精品产拍免费yy| 亚洲国产cao| 亚洲天堂中文字幕| 国产蜜臀av在线一区二区三区| 日韩一区二区三区免费看 | 美女视频免费一区| 亚洲成人自拍偷拍| 亚洲色图在线看| 国产精品另类一区| 精品av综合导航| 日韩小视频在线观看专区| 在线观看视频一区二区欧美日韩| eeuss鲁片一区二区三区在线观看| 国产一区二区精品久久91| 男人的天堂亚洲一区| 亚洲精品日韩综合观看成人91| 国产精品美女久久久久久2018 | 91在线精品秘密一区二区| 国产麻豆精品95视频| 蜜臀91精品一区二区三区| 亚洲综合色成人| 亚洲男人天堂av| 亚洲人成网站色在线观看| 国产精品免费视频观看| 亚洲国产精品二十页| 久久久久久夜精品精品免费| 精品国产露脸精彩对白| 日韩精品一区二区三区视频| 日韩欧美一区二区三区在线| 欧美精品丝袜久久久中文字幕| 欧美日韩在线电影| 欧美日本在线一区| 在线播放视频一区| 91.com在线观看| 制服丝袜av成人在线看| 337p亚洲精品色噜噜噜| 日韩亚洲欧美在线| 日韩一卡二卡三卡国产欧美| 欧美成人一区二区三区片免费| 日韩午夜小视频| 欧美电影免费观看高清完整版 | 国产九色精品成人porny| 国产最新精品免费| 国产尤物一区二区| 国产盗摄一区二区| 成人黄色电影在线| 99久久精品免费看| 一本高清dvd不卡在线观看| 欧美天堂一区二区三区| 欧美另类一区二区三区| 日韩视频一区二区| 欧美精品一区二区三区高清aⅴ| 久久久.com| 国产精品灌醉下药二区| 亚洲一区电影777| 看电视剧不卡顿的网站|