?? eth.c
字號:
#include "ne2000.h"
#include "arp.h"
#include "ip.h"
#include "cp2200.h"
#include <stdio.h>
extern union NetNode xdata myNode;
void eth_send (INT8U xdata * outbuf,union ethernet_address_type hwaddr,INT16U proto_cal, INT16U len)
{
INT8U i;
ethernet_head xdata * eth;
eth=(ethernet_head xdata *)outbuf;
for(i=0;i<6;i++)
{
eth->sourcenodeid[i]=myNode.node.mac[i];
eth->destnodeid[i]=hwaddr.bytes[i];
}
eth->protocal=proto_cal;
CP220x_Send(outbuf, len+14);
}
void eth_rcve(const INT8U xdata * inbuf)
{
INT16U protol;
INT8U i;
ethernet_head xdata * eth;
union ethernet_address_type xdata rx_hwaddr;
eth=(ethernet_head xdata * )inbuf;
protol=eth->protocal;
for(i=0;i<6;i++)
rx_hwaddr.bytes[i]=eth->sourcenodeid[i];
switch(protol)
{
case ARP_PACKET:
arp_rcve(inbuf);
break;
case IP_PACKET:
ip_rcve(inbuf,rx_hwaddr);
break;
default:
break;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -