diff options
Diffstat (limited to 'openwrt/package/linux/kernel-source/include/bcmenetrxh.h')
-rw-r--r-- | openwrt/package/linux/kernel-source/include/bcmenetrxh.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/openwrt/package/linux/kernel-source/include/bcmenetrxh.h b/openwrt/package/linux/kernel-source/include/bcmenetrxh.h new file mode 100644 index 0000000..835e42b --- /dev/null +++ b/openwrt/package/linux/kernel-source/include/bcmenetrxh.h @@ -0,0 +1,43 @@ +/* + * Hardware-specific Receive Data Header for the + * Broadcom Home Networking Division + * BCM44XX and BCM47XX 10/100 Mbps Ethernet cores. + * + * Copyright 2004, Broadcom Corporation + * All Rights Reserved. + * + * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY + * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM + * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. + * $Id$ + */ + +#ifndef _bcmenetrxh_h_ +#define _bcmenetrxh_h_ + +/* + * The Ethernet MAC core returns an 8-byte Receive Frame Data Header + * with every frame consisting of + * 16bits of frame length, followed by + * 16bits of EMAC rx descriptor info, followed by 32bits of undefined. + */ +typedef volatile struct { + uint16 len; + uint16 flags; + uint16 pad[12]; +} bcmenetrxh_t; + +#define RXHDR_LEN 28 + +#define RXF_L ((uint16)1 << 11) /* last buffer in a frame */ +#define RXF_MISS ((uint16)1 << 7) /* received due to promisc mode */ +#define RXF_BRDCAST ((uint16)1 << 6) /* dest is broadcast address */ +#define RXF_MULT ((uint16)1 << 5) /* dest is multicast address */ +#define RXF_LG ((uint16)1 << 4) /* frame length > rxmaxlength */ +#define RXF_NO ((uint16)1 << 3) /* odd number of nibbles */ +#define RXF_RXER ((uint16)1 << 2) /* receive symbol error */ +#define RXF_CRC ((uint16)1 << 1) /* crc error */ +#define RXF_OV ((uint16)1 << 0) /* fifo overflow */ + +#endif /* _bcmenetrxh_h_ */ |