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

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

?? 復件 usrappinit.c

?? 此代碼主要完成在vxworks 環境下的網絡編程
?? C
字號:
/* usrAppInit.c - stub application initialization routine */

/* Copyright 1984-1998 Wind River Systems, Inc. */

/*
modification history
--------------------
01a,02jun98,ms   written
*/

/*
DESCRIPTION
Initialize user application code.
*/ 
  
/******************************************************************************
*
* usrAppInit - initialize the users application
*/ 

#include <stdio.h>
#include "vxWorks.h"
#include "sockLib.h"
#include "inetLib.h"


//----------------------
#include "udpip.h"
 
//---------------------------------------------------------------------------

   void udp_send(UCHAR *outbuf,  UINT len,UINT my_udpport, UINT send_udpport);
  void udp_rcve(UCHAR  * inbuf, UINT len);
  void ip_send(UCHAR * outbuf,  UINT len,ULONG my_ipaddr,ULONG send_ipaddr);
  void ip_rcve(UCHAR  * inbuf);

  
  UINT cksum(UCHAR *check,UINT length); //計算校驗和
  
   UINT source_udpport;
   ULONG source_ipaddr;
   UINT aim_udpport;
   ULONG aim_ipaddr;


   UINT output_len;
   UINT  input_len;
   UCHAR *input_buf;
   UCHAR  *output_buf;
 // UINT ip_ident;
  //   ip_ident = 0;

   char testme;


void usrAppInit (void)
    {
#ifdef	USER_APPL_INIT
	USER_APPL_INIT;		/* for backwards compatibility */
#endif

    /* add application specific code here */
    printf("Hello world.\n");
    }


//---------------------------------------------------------------------------




//------------------------------------------------------------------------
//	This handles outgoing UDP messages
// See "TCP/IP Illustrated, Volume 1" Sect 11.1 - 11.3
//------------------------------------------------------------------------
void udp_send(UCHAR *outbuf,  UINT len,UINT my_udpport, UINT send_udpport)
{
	ULONG  sum;
  	UINT  result;
    UDP_HEADER  udp;
    UDP_HEADER *udper;
          udper = &udp;

	udper->source_port = my_udpport;
        udper->dest_port = send_udpport;
        	udper->length = 8 + len;

	udper->checksum =1;


    /*	sum = (ULONG)cksum(outbuf + 26, 8 + udper->length);

	// Add in the rest of pseudoheader which is
	// zero, protocol id, and UDP length
	sum += (ULONG)0x0011;
	sum += (ULONG)udper->length;

	// In case there was a carry, add it back around
	result = (UINT)(sum + (sum >> 16));
	udper->checksum = ~result;
        */

     output_buf=outbuf+8;


       memcpy(output_buf,(const void* )udper,  8);

       output_len=len+8;

      // testme=(UCHAR)*(sendout_buf-9);

	ip_send(output_buf, output_len, source_ipaddr, aim_ipaddr );
       
}



//------------------------------------------------------------------------
// This handles incoming UDP messages
// See "TCP/IP Illustrated, Volume 1" Sect 11.1 - 11.3
//------------------------------------------------------------------------
void udp_rcve(UCHAR  * inbuf, UINT len)
{
   UINT  result;
   // UDP_HEADER udphead;
   UDP_HEADER * udp;
  // * udp=&udphead;
   ULONG  sum;
   
     memcpy((void *)udp, (void *)inbuf, 8)  ;

        if (len <udp->length) return;
		   
	// If the checksum is zero it means that the sender did not compute
	// it and we should not try to check it.
	if (udp->checksum == 0)
	{
          return ;// printf("UDP: Sender did not compute cksum\r");
	}
	else
	{
		// Compute UDP checksum including 12 byte pseudoheader
		// Sum source_ipaddr, dest_ipaddr, and entire UDP message 
		sum = (ULONG)cksum(inbuf + 26, 8 + udp->length);
		
		// Add in the rest of pseudoheader which is
		// zero, protocol id, and UDP length
		sum += (ULONG)0x0011;     
		sum += (ULONG)udp->length;

		// In case there was a carry, add it back around
		result = (UINT)(sum + (sum >> 16));
		
		if (result != 0xFFFF)
		{

			return;
		}
       input_buf=input_buf-8;
       input_len=udp->length-8;

	}


				      

}



//------------------------------------------------------------------------
// This handles outgoing IP datagrams.  It adds the 20 byte IP header
// and checksum then forwards the IP datagram to the Ethernet layer
// for sending. See "TCP/IP Illustrated, Volume 1" Sect 3.2
//------------------------------------------------------------------------
void ip_send(UCHAR * outbuf,  UINT len ,ULONG my_ipaddr,ULONG send_ipaddr)
{
    IP_HEADER  IPHEAD;
    IP_HEADER  * ip;
     ip=&IPHEAD;

  //**** UCHAR xdata * hwaddr;


  //***** ip = (IP_HEADER xdata *)(outbuf + 14);
   ip->ver_len = 0x45;          // IPv4 with 20 byte header
   ip->type_of_service = 0;
   ip->total_length = 20 + len;
   ip->identifier =1 ;// ip_ident++;     // sequential identifier
   ip->fragment_info = 0;           // not fragmented
   ip->time_to_live = 32;           // max hops
   ip->protocol_id = UDP_TYPE;      // type of payload
   ip->header_cksum = 0;
   ip->source_ipaddr = source_ipaddr;
   // Outgoing IP address
   ip->dest_ipaddr = aim_ipaddr;

   // Compute and insert complement of checksum of ip header
   // Outgoing ip header length is always 20 bytes
   ip->header_cksum = ~cksum(outbuf + 14, 20);
   
   // Use ARP to get hardware address to send this to
  // hwaddr = arp_resolve(ip->dest_ipaddr);
   //************************

   output_buf=outbuf+20;
   output_len=len+20;
  // testme=*(sendout_buf-30);

      memcpy((void *)output_buf, (void *)ip , 20)  ;

	// Null means that the ARP resolver did not find the IP address
	// in its cache so had to send an ARP request
	if (send_ipaddr == NULL)
	{
		// Fill in the destination information so ehrn the ARP response
		// arrives we can identify it and know what to do when we get it
   /*   wait.buf = outbuf;
		wait.ipaddr = ip->dest_ipaddr;
		wait.proto_id = proto_id;
		wait.len = len;
		wait.timer = ARP_TIMEOUT;
                */
      return;
	}
       //	printf("sender_ipaddr is NULL\n");
       //	eth_send(outbuf, ipaddr, IP_PACKET, 20 + len);
    // testme=len+20;
    return;

  }


//------------------------------------------------------------------------
// This handles incoming IP datagrams from the Ethernet layer
// See "TCP/IP Illustrated, Volume 1" Sect 3.2
//------------------------------------------------------------------------
void ip_rcve(UCHAR  * inbuf)
{
       //	IP_HEADER  iphead;
        IP_HEADER  * ip;
     // *ip=&iphead;
    	UINT header_len, payload_len;

        memcpy ((void *)ip,(void *)inbuf,20);
		
  // ip = (IP_HEADER xdata *)(inbuf + 14);
            
   // Make sure it is addressed to my IP address
   if (ip->dest_ipaddr != source_ipaddr) return;

   // Validate checksum of ip header
	header_len = 4 * (0x0F & ip->ver_len);
	payload_len = ip->total_length - header_len;
   if (cksum(inbuf + 14, header_len) != 0xFFFF)
	{
	   return;
   }

	// Make sure incoming message is IP version 4
	if ((ip->ver_len >> 4) != 0x04)   	{

   	return;
	}

   if ((ip->fragment_info & 0x3FFF) != 0)
   {

	   return;
   }
        input_buf=inbuf-20;

   /*	if (header_len > 20)
	{

   			
      // Use memmove because of overlap
      memmove(inbuf + 34, inbuf + 14 + header_len, payload_len);

		// Adjust info to reflect the move
		header_len = 20;
		ip->ver_len = 0x45;
		ip->total_length = 20 + payload_len;
	}
	    */

   // for values for various protocols
   if (ip->protocol_id!=UDP_TYPE)
	{ return;
        }
      udp_rcve(input_buf, payload_len);
      
	

}


  


UINT cksum(UCHAR *check,UINT length) //計算校驗和
{
	LONG sum=0;
	UINT i;
	UINT  *ptr;
    ptr=(UINT  *)check;
	for (i=0;i<(length)/2;i++)
	{
		sum+=*ptr++;
	}
	if (length&0x01)//表示長度為單數
	{
		sum=sum+((*ptr)&0xff00);
	}
	sum=(sum&0xffff)+((sum>>16)&0xffff);//高16位和低16位相加
	if(sum&0xffff0000)
	{//表示有進位
		sum++;
	}
	return ( (UINT)((sum)&0xffff));
//	return ( (UINT)(~((sum)&0xffff)));
}

//---------------------------------------------------------------------------


 void  send_udp()
{

	

   UCHAR    Buffer[188*7];  //188 * 7
   UCHAR   *mybuff;      
     UINT    code;
     UINT   test;

 *mybuff=&Buffer;
   for(  code=0;code<188*7;code++)

{ Buffer[code]='a';
}

        output_len=strlen(Buffer);
       output_buf=mybuff+output_len ;

    aim_udpport=21;
    source_udpport=22;
    aim_ipaddr=2000  ;
    source_ipaddr=1000 ;

      for( test =0; test < 1; test++)
  
   {  udp_send(output_buf,  output_len,source_udpport,aim_udpport) ;

}

return;

}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性猛交一区二区三区精品| 欧美性猛片xxxx免费看久爱| 亚洲精品高清在线观看| 91精品国产综合久久蜜臀| 蜜臂av日日欢夜夜爽一区| 国产精品美女视频| 91精品国产综合久久香蕉麻豆 | 一本大道av伊人久久综合| 午夜精品久久久久久久蜜桃app| 久久精品亚洲精品国产欧美kt∨| 在线观看视频一区二区欧美日韩| 国产一区二区在线看| 亚洲国产精品久久不卡毛片| 国产调教视频一区| 日韩视频一区二区在线观看| 在线中文字幕一区| www.成人在线| 国产精品一区二区你懂的| 图片区小说区国产精品视频| 亚洲欧美日韩系列| 国产精品毛片高清在线完整版| 欧美成va人片在线观看| 欧美电影在线免费观看| 在线亚洲一区观看| 99视频热这里只有精品免费| 国产精品一区二区不卡| 蜜桃av一区二区| 亚洲电影第三页| 一区二区高清在线| 亚洲欧洲av色图| 国产精品视频看| 国产亚洲1区2区3区| 26uuu亚洲综合色欧美| 欧美成人精品高清在线播放 | 欧美肥胖老妇做爰| 国产精品免费免费| 久久免费国产精品| 久久精品视频免费| 久久精品日韩一区二区三区| 久久久精品综合| 国产亚洲精品中文字幕| 国产午夜亚洲精品不卡| 久久久精品影视| 中文字幕精品三区| 国产精品久久久久久久裸模| 国产精品国产精品国产专区不片| 国产精品久久看| 亚洲色图丝袜美腿| 夜夜嗨av一区二区三区网页 | 欧美精品亚洲二区| 欧美日韩高清一区二区不卡| 欧美日韩亚洲另类| 91麻豆精品国产| 欧美一级高清片| 精品成人免费观看| 亚洲国产精品v| 亚洲麻豆国产自偷在线| 亚洲综合一区二区三区| 午夜不卡在线视频| 蜜桃av一区二区在线观看| 国内不卡的二区三区中文字幕| 久久91精品久久久久久秒播 | 日本精品一级二级| 欧美日韩在线播放一区| 制服视频三区第一页精品| 91精品国产欧美一区二区成人 | 日本va欧美va精品发布| 激情综合网天天干| 成人午夜精品一区二区三区| 91蝌蚪porny九色| 自拍偷拍亚洲综合| 亚洲一级片在线观看| 视频一区欧美精品| 国产一区欧美一区| 91在线观看免费视频| 欧美日韩久久一区| 久久久久久久免费视频了| 日韩毛片精品高清免费| 日本不卡一二三区黄网| 国产精品一区二区果冻传媒| 色av一区二区| 日韩精品一区二区三区蜜臀 | 成人免费毛片高清视频| 色999日韩国产欧美一区二区| 欧美精品久久久久久久多人混战| 亚洲精品一区二区三区香蕉| 亚洲精品乱码久久久久久日本蜜臀| 亚洲va欧美va人人爽| 国产在线一区二区| 91久久精品一区二区三区| 精品免费一区二区三区| 亚洲乱码中文字幕综合| 激情五月婷婷综合| 欧美综合在线视频| 久久久99久久| 婷婷亚洲久悠悠色悠在线播放| 国产乱码精品一区二区三 | 亚洲一二三四久久| 精品一区二区三区在线观看国产| 99国产精品久久久久| 精品日产卡一卡二卡麻豆| 亚洲欧美日韩国产一区二区三区| 久久91精品国产91久久小草| 色999日韩国产欧美一区二区| 国产亚洲短视频| 欧美a一区二区| 欧美亚洲一区三区| 国产精品―色哟哟| 国产在线观看一区二区| 欧美日免费三级在线| 国产精品美女www爽爽爽| 久久国产精品露脸对白| 欧美日韩成人一区| 亚洲免费看黄网站| 夫妻av一区二区| 2021中文字幕一区亚洲| 日韩成人伦理电影在线观看| 91国产免费观看| 国产精品久久福利| 国产福利91精品一区二区三区| 日韩一区二区三区精品视频| 夜夜揉揉日日人人青青一国产精品| 成人黄色777网| 久久精品夜色噜噜亚洲aⅴ| 蜜桃视频免费观看一区| 欧美日韩一区高清| 亚洲综合视频在线观看| 97se狠狠狠综合亚洲狠狠| 国产亲近乱来精品视频 | 美日韩一区二区三区| 欧美日韩一区二区三区免费看| 亚洲日本va午夜在线电影| 不卡av在线免费观看| 中文字幕一区二区三区在线不卡| 国产福利一区在线| 久久久久久一二三区| 717成人午夜免费福利电影| 亚洲美女偷拍久久| 色域天天综合网| 亚洲精品国产无套在线观| 91视频在线观看免费| 国产精品国产自产拍高清av王其| 成人性生交大合| 国产精品久久网站| 91猫先生在线| 亚洲最色的网站| 欧美三级在线看| 日韩国产欧美三级| 日韩欧美成人激情| 狠狠久久亚洲欧美| 欧美国产成人在线| 99免费精品在线观看| 一区二区在线观看免费 | 成人深夜视频在线观看| 国产免费久久精品| 91在线视频免费观看| 亚洲国产一区二区a毛片| 在线不卡一区二区| 精品一区二区在线看| 国产欧美日韩三区| 色婷婷狠狠综合| 日日嗨av一区二区三区四区| 日韩精品一区二区三区老鸭窝| 国产福利一区二区三区| 亚洲欧美日韩在线| 制服视频三区第一页精品| 国精产品一区一区三区mba视频| 国产欧美一区二区三区网站 | 欧洲一区二区三区在线| 午夜国产精品影院在线观看| 日韩精品一区二区在线观看| 国产成人免费网站| 一区二区三区四区高清精品免费观看| 欧美三级乱人伦电影| 国产在线精品视频| 亚洲色图20p| 日韩欧美精品三级| a亚洲天堂av| 欧美在线|欧美| 蜜臀av国产精品久久久久| 国产精品色眯眯| 欧美日韩成人综合在线一区二区| 韩国精品在线观看| 亚洲欧美日韩国产手机在线| 91精品国产综合久久久久久久| 粉嫩13p一区二区三区| 亚洲成人在线网站| 国产欧美日韩三区| 欧美精品日韩综合在线| 成人免费视频caoporn| 日韩成人伦理电影在线观看| 国产精品精品国产色婷婷| 欧美人狂配大交3d怪物一区| 国产成人午夜高潮毛片| 视频一区二区不卡| 亚洲欧洲日韩av| 精品免费99久久| 欧美中文字幕亚洲一区二区va在线 | 韩国欧美国产1区| 亚洲成人7777|