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

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

?? c_stpvr2_ip_tests_ngsetup.c

?? Lan9118以太網芯片linux驅動程序
?? C
字號:
#include <ngos.h>
#include <ngip.h>
#include <ngip/ethernet.h>
#include <ngudp.h>
#include <ngeth.h>
#include <ngsocket.h>
#include <ngtcp.h>
#include "stddefs.h"
#include "myAlloc.h"
#include "ostime.h" 
#include "develop.h"
#include "mainconf.h"
#include "HARD.h"
#include "ngping.h"
#include <ngdhcpc.h>
#include <ngboot/net_dc.h>
#include <ngresolv.h>

#define NET_NETMASK   
#define MAXBUF 64
#define INMULTI_MAX   16
#define STACK_SIZE    8192
#define SOCK_MAX 32
#define DEV_PRIO         MAX_USER_PRIORITY-5
#define TIMER_PRIO       MAX_USER_PRIORITY-7
#define INPUT_PRIO       MAX_USER_PRIORITY-6
#if defined(STI5514)
#define NET_ETHADDR "\xc0\xff\xee\x78\x05\x05"
#else
#define NET_ETHADDR "\xc0\xff\xee\x78\x05\x07"
#endif 

/* NGREsolver VAR */
/* Maximum number of simultaneous application pending queries */ 
#define NG_RSLV_QUER_MAX 8  
/* Size of cache (must be greater than the maximum number of pending queries) */ 
#define NG_RSLV_CACHE_MAX NG_RSLV_QUER_MAX+8   /* NexGenRESOLV variables */
static NGslvpquer rsv_quer[ NG_RSLV_QUER_MAX]; /* Pending query table */ 
static NGslvcaent rsv_ca[ NG_RSLV_CACHE_MAX];  /* Cache entry table */
#ifdef NG_RTOS 
static NGOSsem rsv_sem[ NG_RSLV_QUER_MAX];    /* Semaphore table */
#endif

/* call back function */
void dhcpCallbackProc(int event, NGubyte incoming_mask, NGdhcpclient*dcp);

/* DHCP id client */
U8 dhcpc_cid[7] = { 0xc0, 0xff, 0xee, 0x78, 0x05, 0x07, 0x99 };

/* Some buffers to store retrieved option from BOOTP server */
  static NGuint   subnet;
  static NGuint   gateway;
  static NGuint   dns;                         /* we want dns address */  

/* A static array to store requested options (last arg of ngBootpQuery) */
NGdhcpoption requestedOptions[]={
    TAG_SUBNET_MASK,     	4, (NGubyte*)&subnet,
    TAG_GATEWAY,         	4, (NGubyte*)&gateway,       
    TAG_DOMAIN_SERVER, 		4, (NGubyte*)&dns,      /* we want 3 dns address */
    TAG_END
  };

/* tcp control blocks */
NGtcpcb     tcpcb[SOCK_MAX];   

/* dhcp protocol */
NGdhcpclient dhcpc0;

/* multicast */
static NGinmulti   inmtable[INMULTI_MAX];

/* Ethernet interface */
static NGethifnet  ifnet0;
static NGifnet     ifnet_loop;
extern const NGnetdrv ngNetDrv_smsclan9118;  
/*extern const NGnetdrv ngNetDrv_CS8900A;*/
NGarpent arptable[8];


/* sockets */
NGsock socks[SOCK_MAX]; 

/* stuff for rtos mode */
NGOSsem     socks_sem[SOCK_MAX];
NGubyte     input_stk[STACK_SIZE];
NGubyte     timer_stk[STACK_SIZE];


/* stack configuration table */
static NGcfgent nginit_conf[] = {
/* General */
	NG_BUFO_MAX, 					NG_CFG_INT( MAXBUF),   /* 32*/ 
	NG_BUFO_ALLOC_F, 				NG_CFG_PTR( my_buf_alloc),  /* in myalloc.h*/
	NG_BUFO_HEADER_SIZE, 		NG_CFG_INT( sizeof( NGetherhdr)),
	NG_BUFO_DATA_SIZE, 			NG_CFG_INT( ETHERMTU),
	NG_BUFO_INPQ_MAX,       	NG_CFG_INT( 16),
	
	NG_SOCKO_MAX, 					NG_CFG_INT( sizeof( socks)/sizeof( socks[0])),
	NG_SOCKO_TABLE, 				NG_CFG_PTR( &socks),
	NG_SOCKO_SEMTABLE,      	NG_CFG_PTR( socks_sem),
		
  	NG_RTO_INPUT_PRIO,        	NG_CFG_INT( 6),
  	NG_RTO_INPUT_STACK_SIZE,  	NG_CFG_INT( STACK_SIZE),
  	NG_RTO_INPUT_STACK,       	NG_CFG_PTR( input_stk),
  	NG_RTO_TIMER_PRIO,        	NG_CFG_INT( 5),
  	NG_RTO_TIMER_STACK_SIZE,  	NG_CFG_INT( STACK_SIZE),
  	NG_RTO_TIMER_STACK,       	NG_CFG_PTR( timer_stk),	 	
	
	/* TCP */
	NG_CFG_PROTOADD,          	NG_CFG_PTR( &ngProto_TCP),
	NG_TCPO_TCB_MAX,          	NG_CFG_INT( sizeof( tcpcb)/sizeof( tcpcb[0])),
	NG_TCPO_TCB_TABLE,        	NG_CFG_PTR( &tcpcb),

	/* UDP */
	NG_CFG_PROTOADD, 		NG_CFG_PTR( &ngProto_UDP),
	
	/* RAWIP */
  	NG_CFG_PROTOADD,        	NG_CFG_PTR( &ngProto_RAWIP),
	
	/* IP */
	NG_CFG_PROTOADD, 		      NG_CFG_PTR( &ngProto_IP),
	NG_IPO_INMULTI_MAX,     	NG_CFG_INT( sizeof( inmtable)/sizeof( inmtable[0])),
  	NG_IPO_INMULTI_TABLE,   	NG_CFG_PTR( &inmtable),
	NG_IPO_ROUTE_DEFAULT,		NG_CFG_ADR( 192, 168,1,120),

	/* ARP */
	NG_CFG_PROTOADD, 		NG_CFG_PTR( &ngProto_ARP),
	NG_ARPO_MAX, 			NG_CFG_INT( sizeof( arptable)/sizeof( arptable[0])),
	NG_ARPO_TABLE, 			NG_CFG_PTR( &arptable),
	
	/* Loopback Interface */
	NG_CFG_IFADD,          	 	NG_CFG_PTR( &ifnet_loop),
	NG_CFG_DRIVER,          	NG_CFG_PTR( &ngNetDrv_LOOPBACK),
	NG_IFO_NAME,            	NG_CFG_PTR( "lo0"),

 	/* Ethernet Interface */
 	NG_CFG_IFADD,     		NG_CFG_PTR( &ifnet0),
   	NG_CFG_DRIVER, 			NG_CFG_PTR( &ngNetDrv_smsclan9118),
	                  	
	NG_IFO_NAME, 			NG_CFG_PTR( "le0"),
/*#if defined(STI5514) 	
	NG_IFO_ADDR, 			NG_CFG_ADR( 164, 130,60,146),
#else                	  
	NG_IFO_ADDR, 			NG_CFG_ADR( 164, 130,60,146),
#endif*/
	NG_IFO_OUTQ_MAX,     		NG_CFG_INT( 16),
/*#ifdef NET_NETMASK
  	NG_IFO_NETMASK,      		NG_CFG_ADR( 255,255,255,192),
#endif*/
#ifdef NET_ALLMULTI
  	NG_IFO_ALLMULTI,     		NG_CFG_TRUE,
#endif  
	    
	NG_ETHIFO_IRQ, 			NG_CFG_INT( 48),
	NG_ETHIFO_IOBASE, 		NG_CFG_INT( 0x50010300),
	NG_ETHIFO_FULLDUPLEX,   	NG_CFG_TRUE,
#ifdef NET_ETHADDR
	NG_ETHIFO_ADDR,         	NG_CFG_PTR( NET_ETHADDR),
#endif	
	/* adding DHCP support */           
	NG_CFG_PROTOADD, 					NG_CFG_PTR( &ngProto_DHCPC),          
	NG_DHCPCO_CLIENTADD, 	 		NG_CFG_PTR( &dhcpc0),
	NG_DHCPCO_SET, 	 				NG_CFG_PTR( &dhcpc0),
	NG_DHCPCO_CLIENTID,     		NG_CFG_PTR( dhcpc_cid),         
  	NG_DHCPCO_CLIENTID_LEN, 		NG_CFG_INT( sizeof(dhcpc_cid)),           	 	 
	NG_DHCPCO_IF, 		 				NG_CFG_PTR( &ifnet0),
	NG_DHCPCO_MODE, 					NG_CFG_INT( DHCPC_MATCHFIRST), 
	NG_DHCPCO_RANDOMSEED,   		NG_CFG_INT( 600),	 
	NG_DHCPCO_OPTLIST,           	NG_CFG_PTR( requestedOptions),
	NG_DHCPCO_CALLBACK, 				NG_CFG_PTR( dhcpCallbackProc),	

	/* adding NGResoler protocole */
	NG_CFG_PROTOADD, NG_CFG_PTR( &ngProto_RESOLV), 
	NG_RSLVO_SERV1_IPADDR, NG_CFG_ADR( 164, 129, 62, 2), 	
	NG_RSLVO_QUERY_MAX, NG_CFG_INT( sizeof(rsv_quer)/sizeof(rsv_quer[0])), 
	NG_RSLVO_QUERY, NG_CFG_PTR( rsv_quer), 
	#ifdef NG_RTOS
	NG_RSLVO_SEM, NG_CFG_PTR( rsv_sem), 
	#endif 
	NG_RSLVO_CACHE_MAX, 	NG_CFG_INT( sizeof(rsv_ca)/sizeof(rsv_ca[0])), 
	NG_RSLVO_CACHE_ENT, NG_CFG_PTR( rsv_ca),
	
	NG_CFG_END
};

U32 nginitialization(void)         
{ 
	 
	static int err;
		
	/* debug code by Phong - init multicast group */
	inmtable [0].inm_next = &inmtable [1];
	inmtable [0].inm_ifnetp = &ifnet0.eif_net;
	inmtable [0].inm_addr = 0x010000e0;
	inmtable [0].inm_refcount = 1;
	inmtable [0].inm_timer = 10;

	inmtable [1].inm_next = NULL;
	inmtable [1].inm_ifnetp = &ifnet0.eif_net;
	inmtable [1].inm_addr = 0x070000e0;
	inmtable [1].inm_refcount = 1;
	inmtable [1].inm_timer = 10;

	/* initialise stack */
	err=ngInit( (NGcfgent *) nginit_conf);		
	
	return((U32)err);	
}

int ngDhcpInit(void)
{
	static int Error;	
	static NGifnet * netptr;		
	
	netptr = ngIfGetPtr("le0");	
	
	Error=ngDhcpcStart(netptr);	 	
	
	return(Error);
}

int ngDhcpRelease(void)
{
	static int Error;	
	static NGifnet * netptr;		
	
	netptr = ngIfGetPtr("le0");	
	
	Error=ngDhcpcRelease(netptr);	 	
	
	return(Error);
}


void ipchange(char* ipaddr)
{
	NGifnet * netptr;
	static U32  err; 
	NGsockaddr myaddr;
	netptr = ngIfGetPtr("le0");
	ngInetATON( ipaddr, &myaddr.sin_addr);
	if ((err=ngIfSetOption(netptr, NG_IFO_ADDR,(void*)&myaddr.sin_addr)) != NG_EOK) 
	{
		print("error changing ip address :%d",err);
		return;
	}
}


void netmask_change(char* ipaddr)
{
	NGifnet * netptr;
	static U32  err; 
	NGsockaddr myaddr;
	netptr = ngIfGetPtr("le0");
	ngInetATON( ipaddr, &myaddr.sin_addr);	
	if ((err=ngIfSetOption(netptr, NG_IFO_NETMASK,(void*)&myaddr.sin_addr)) != NG_EOK) 
	{
		print("erro changing netmask address :%d",err);
		return;
	}
}


void gateway_change(char* ipaddr)
{
	NGifnet * netptr;
	static U32  err; 
	NGsockaddr myaddr;
	netptr = ngIfGetPtr("le0");
	ngInetATON( ipaddr, &myaddr.sin_addr);
	if ((err=ngRouteDefault( myaddr.sin_addr)) != NG_EOK) 
	{
		print("erro changing gateway address :%d",err);
		return;
	}
}

void dns_change(char* dns_server)
{
	NGuint addr;
	static int error;	

	ngInetATON( dns_server, &addr);	

	/* Change primary server address */ 
	error=ngResolvSetOption( NG_RSLVO_SERV1_IPADDR, dns_server);
}


void ip_config(void)
{
	NGifnet * netptr;
	static U32  err; 
	static NGuint netmask;
	static NGuint ipaddr;
	char ipaddrS[40];
	char netmaskS[40];
	
	netptr = ngIfGetPtr("le0");
	if ((err=ngIfGetOption(netptr, NG_IFO_ADDR,&ipaddr)) != NG_EOK) 
	{
		print("erro reading ip  address :%d\n",err);
		return;
	}
	else
	{
		ngInetNTOA(ipaddr,ipaddrS,40);
		print("ip address	: 	%s\n",ipaddrS);
	}
	if ((err=ngIfGetOption(netptr, NG_IFO_NETMASK,&netmask)) != NG_EOK) 
	{
		print("erro reading netmask address :%d\n",err);
		return;
	}
	else
	{
		ngInetNTOA(netmask,netmaskS,40);
		print("netmask		: 	%s\n",netmaskS);
	}
	
}

BOOL ip_configwait(void)
{
	NGifnet * netptr;
	static U32  err; 
	static NGuint netmask;
	static NGuint ipaddr;
	char ipaddrS[40];
	char netmaskS[40];
	int i=100;
	
	netptr = ngIfGetPtr("le0");
	do
	{
		i--;
		task_delay(1000);
		if ((err=ngIfGetOption(netptr, NG_IFO_ADDR,&ipaddr)) != NG_EOK) 
		{
			print("error reading ip  address :%d\n",err);
			return FALSE;
		}
    } while ( (ipaddr==0) && (i!=0));
    if (i==0)
    {
		print("error cannot get an IP address via DHCP\n");
		return FALSE;
    }
	else
	{
		ngInetNTOA(ipaddr,ipaddrS,40);
		print("ip address	: 	%s\n",ipaddrS);
	}
	if ((err=ngIfGetOption(netptr, NG_IFO_NETMASK,&netmask)) != NG_EOK) 
	{
		print("erro reading netmask address :%d\n",err);
		return FALSE;
	}
	else
	{
		ngInetNTOA(netmask,netmaskS,40);
		print("netmask		: 	%s\n",netmaskS);
	}
	return TRUE;
	
}


static void display_ping( int seq, int err, int datasize, int ttl, int time,
                          NGsockaddr *saddr, void *data)
{
	char ipaddr[40];

	ngMemSet(ipaddr, 0, sizeof(ipaddr));
	ngInetNTOA(saddr->sin_addr,ipaddr,40);
	/*ipaddr[16]='\0';*/
    if(err==NG_EOK)
        print( "%d bytes from %s: icmp_seq=%d ttl=%d time=%d ms\n",datasize,ipaddr, seq, ttl, time);
    else
        print( "Host not responding\n");
}



void ping(char* ipaddr)
{
	NGsockaddr myaddr;
	NGcfgping cfgping;
	ngMemSet( &cfgping, 0, sizeof(cfgping));
    	cfgping.repeat       = 4;
    	cfgping.data_len     = 0;
    	cfgping.display      = display_ping;
    	ngInetATON( ipaddr, &myaddr.sin_addr);
	ngPing(&myaddr,&cfgping);
	
}

void ngexit(void) 
{
	 
	/* initialise stack */
	ngExit( 0);

}

void dhcpCallbackProc(int event, NGubyte incoming_mask, NGdhcpclient*dcp)
{
	
	static U32 err;	
		
	
	/* at index 0 in reqOpt	: subnet */
 	if (incoming_mask & (1<<0)) 
 	{
 		if((err = (dcp->dc_netp)->if_cntl_f(dcp->dc_netp, NG_CNTL_SET,NG_IFO_NETMASK,&(subnet))))
 		{
			print("Error on setting netmask:%d",err);
			return;
		}
	}
		
	/* at index 1 in reqOpt	: gateway */ 
	if (incoming_mask & (1<<1)) 
	{	
	
	}
	
	/* at index 2 in reqOpt : DNS server */ 
	if (incoming_mask & (1<<2)) 
	{
	
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人在线免费| 国模一区二区三区白浆| 日韩视频免费观看高清在线视频| 国产精品一级片| 午夜av一区二区三区| 久久久久久久久久电影| 欧美调教femdomvk| 99精品视频一区二区| 麻豆国产精品视频| 一区二区三区中文字幕| 国产亚洲一区字幕| 日韩欧美视频在线| 色综合久久中文综合久久97| 精品影视av免费| 亚洲电影一区二区三区| 国产精品欧美一区二区三区| 精品蜜桃在线看| 欧美日韩高清一区二区不卡| 99久久夜色精品国产网站| 激情综合亚洲精品| 秋霞午夜鲁丝一区二区老狼| 亚洲一区在线看| 亚洲欧美视频一区| 中文欧美字幕免费| 欧美国产1区2区| 欧美tk—视频vk| 欧美一区二区在线视频| 欧美日韩一区中文字幕| 欧美亚洲一区二区在线观看| 91在线观看下载| 国产激情一区二区三区桃花岛亚洲| 日本成人在线网站| 天天爽夜夜爽夜夜爽精品视频| 亚洲激情五月婷婷| 亚洲柠檬福利资源导航| 亚洲欧美日韩国产手机在线| 国产精品成人免费在线| 国产精品你懂的在线欣赏| 国产亚洲短视频| 国产亲近乱来精品视频| 国产欧美精品在线观看| 久久精品视频在线看| 久久久久久久久久电影| 日本一区二区综合亚洲| 国产精品久久久久四虎| 国产精品美女久久久久久久网站| 国产欧美一区二区精品忘忧草| 久久久777精品电影网影网 | 日本视频中文字幕一区二区三区| 亚洲成av人片一区二区三区| 亚洲一二三级电影| 三级在线观看一区二区| 免费成人结看片| 国产一区91精品张津瑜| 国产成人三级在线观看| bt欧美亚洲午夜电影天堂| 99综合影院在线| 欧美日韩亚洲综合在线 | gogo大胆日本视频一区| 99久久久精品| 欧美三区在线视频| 日韩一级免费一区| 国产三级欧美三级日产三级99 | 一区二区三区欧美| 亚洲黄色在线视频| 日韩一区欧美二区| 国产福利一区二区三区视频在线 | 精品盗摄一区二区三区| 久久蜜臀中文字幕| 亚洲人精品午夜| 美女视频一区二区三区| 成人理论电影网| 欧美日韩一区三区| 久久综合999| 一色屋精品亚洲香蕉网站| 亚洲成人av一区二区| 久久99日本精品| jizz一区二区| 91精品国产全国免费观看| 久久久久久久久99精品| 一区二区三区四区亚洲| 蜜芽一区二区三区| av不卡一区二区三区| 在线播放一区二区三区| 国产日韩欧美电影| 亚洲成人福利片| 国产69精品久久久久777| 欧美日韩精品欧美日韩精品| 久久久久久9999| 亚洲mv在线观看| 福利一区福利二区| 69p69国产精品| 亚洲另类春色校园小说| 久久国内精品自在自线400部| 99re热这里只有精品免费视频| 这里只有精品电影| 亚洲色图视频免费播放| 看电影不卡的网站| 在线观看网站黄不卡| 日本一区二区三区四区| 美女视频一区二区| 欧美日韩久久久一区| 国产精品久久一卡二卡| 美腿丝袜在线亚洲一区| 欧美亚洲图片小说| 国产精品乱码一区二区三区软件| 婷婷一区二区三区| 在线观看视频一区二区欧美日韩| 国产欧美日韩中文久久| 久久国产精品99久久久久久老狼| 一本大道久久精品懂色aⅴ| 国产婷婷精品av在线| 毛片av中文字幕一区二区| 欧美亚日韩国产aⅴ精品中极品| 国产欧美一区二区三区网站| 琪琪一区二区三区| 欧美日韩综合色| 亚洲九九爱视频| 99久久综合国产精品| 国产亚洲精品bt天堂精选| 韩国成人精品a∨在线观看| 在线播放中文一区| 亚洲成a人片综合在线| av一区二区三区黑人| 国产精品久久久久aaaa| 豆国产96在线|亚洲| 久久女同精品一区二区| 国产在线麻豆精品观看| 日韩欧美国产电影| 青娱乐精品视频| 3atv一区二区三区| 日韩成人午夜精品| 欧美一区二区三区在线观看视频| 亚洲精品乱码久久久久久久久| thepron国产精品| 自拍偷自拍亚洲精品播放| 中文字幕精品综合| 国模冰冰炮一区二区| 精品国一区二区三区| 久久成人久久爱| 久久久综合视频| 国产乱对白刺激视频不卡| 26uuu色噜噜精品一区二区| 韩国女主播成人在线观看| 久久―日本道色综合久久| 国模套图日韩精品一区二区| www国产亚洲精品久久麻豆| 激情综合网激情| 国产午夜亚洲精品午夜鲁丝片| 国产精品1区2区3区| 国产欧美一区二区精品性色超碰| 成人av中文字幕| 亚洲日本电影在线| 欧美中文字幕一区| 亚洲第一福利一区| 日韩一区二区三区视频在线| 国产一区欧美一区| 中文字幕欧美区| 色系网站成人免费| 午夜精品123| 精品日韩在线一区| 成人午夜免费av| 亚洲一区二区三区视频在线播放| 欧美日韩精品欧美日韩精品一| 蜜桃av一区二区| 国产精品久久久久久久久动漫 | 综合色中文字幕| 欧美日韩二区三区| 国产伦理精品不卡| 成人欧美一区二区三区视频网页| 欧美日韩国产电影| 国产精品亚洲午夜一区二区三区| 国产精品久久久久婷婷| 欧美高清视频一二三区| 国产美女精品一区二区三区| 综合色中文字幕| 日韩视频免费观看高清在线视频| 国产成人亚洲精品青草天美| 亚洲精品久久久久久国产精华液| 日韩欧美亚洲另类制服综合在线| 成人一区二区视频| 日本欧洲一区二区| 国产精品欧美经典| 3atv一区二区三区| 成人黄色av电影| 秋霞电影网一区二区| 亚洲欧洲三级电影| 精品国产免费一区二区三区四区| 97久久超碰国产精品| 麻豆精品视频在线观看免费| 国产精品久久久久aaaa| 日韩女优电影在线观看| 91亚洲午夜精品久久久久久| 麻豆国产91在线播放| 亚洲色图另类专区| 久久亚洲免费视频| 欧美日韩精品系列| 91老师国产黑色丝袜在线| 国内成人自拍视频| 秋霞成人午夜伦在线观看|