00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __ETHERNET_H__
00010
00011 #define __ETHERNET_H__
00012
00013 extern unsigned char mymac[6];
00014 extern unsigned long PacketCounter;
00015 extern unsigned long ByteCounter;
00016
00017 void ethernetloop( void );
00018 unsigned int getEthernetframe( unsigned int maxlen, unsigned char *buffer);
00019 void MakeETHheader( unsigned char * MACadress , unsigned char * buffer );
00020 void sendEthernetframe( unsigned int packet_lenght, unsigned char *buffer);
00021 void EthernetInit( unsigned char mode );
00022 void LockEthernet( void );
00023 void FreeEthernet( void );
00024 void alive( void );
00025
00026 #define ETHERNET_MIN_PACKET_LENGTH 0x3C
00027 #define ETHERNET_HEADER_LENGTH 0x0E
00028
00029 #define POLLINGMODE 0
00030 #define INTERRUPTMODE 1
00031
00032 struct ETH_header {
00033 unsigned char ETH_destMac[6];
00034 unsigned char ETH_sourceMac[6];
00035 unsigned int ETH_typefield;
00036 };
00037
00038 #endif