75 lines
2.5 KiB
C
Executable File
75 lines
2.5 KiB
C
Executable File
#ifndef __ETH_H
|
|
#define __ETH_H
|
|
|
|
#include "skbuff.h"
|
|
|
|
/* frankliao added 20101215 */
|
|
#include <flashhal.h>
|
|
/*
|
|
* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
|
|
* and FCS/CRC (frame check sequence).
|
|
*/
|
|
|
|
#define ETH_ALEN 6 /* Octets in one ethernet addr */
|
|
#define ETH_HLEN 14 /* Total octets in header. */
|
|
#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
|
|
#define ETH_DATA_LEN 1500 /* Max. octets in payload */
|
|
#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
|
|
|
|
/*
|
|
* These are the defined Ethernet Protocol ID's.
|
|
*/
|
|
|
|
#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
|
|
#define ETH_P_ECHO 0x0200 /* Ethernet Echo packet */
|
|
#define ETH_P_PUP 0x0400 /* Xerox PUP packet */
|
|
#define ETH_P_IP 0x0800 /* Internet Protocol packet */
|
|
#define ETH_P_X25 0x0805 /* CCITT X.25 */
|
|
#define ETH_P_ARP 0x0806 /* Address Resolution packet */
|
|
#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
|
|
#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
|
|
#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
|
|
#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
|
|
#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
|
|
#define ETH_P_LAT 0x6004 /* DEC LAT */
|
|
#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
|
|
#define ETH_P_CUST 0x6006 /* DEC Customer use */
|
|
#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
|
|
#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
|
|
#define ETH_P_ATALK 0x809B /* Appletalk DDP */
|
|
#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
|
|
#define ETH_P_IPX 0x8137 /* IPX over DIX */
|
|
#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
|
|
|
|
/* frankliao modify 20101208 */
|
|
#define FLASH_ETHER_GPIO (0xff65 | flash_base)
|
|
#if 0
|
|
#ifdef TCSUPPORT_BB_NAND
|
|
#define FLASH_ETHER_GPIO 0xff65
|
|
#else
|
|
#define FLASH_ETHER_GPIO 0xbfc0ff65
|
|
#endif
|
|
#endif
|
|
|
|
/*
|
|
* This is an Ethernet frame header.
|
|
*/
|
|
|
|
struct ethhdr
|
|
{
|
|
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
|
unsigned char h_source[ETH_ALEN]; /* source ether addr */
|
|
unsigned short h_proto; /* packet type ID field */
|
|
}__attribute__ ((packed));
|
|
|
|
int eth_init(unsigned char *mac_addr);
|
|
int eth_send(sk_buff *skb, unsigned char *dest_addr, unsigned short proto);
|
|
int eth_rcv(sk_buff *skb);
|
|
void eth_skb_reserve(sk_buff *skb);
|
|
|
|
void eth_exit(void);
|
|
|
|
void eth_gpioReset(void);
|
|
void eth_latsch_up(void);
|
|
#endif /* __ETH_H */
|