OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [libnetworking/] [net/] [ethernet.h] - Diff between revs 30 and 173

Only display areas with differences | Details | Blame | View Log

Rev 30 Rev 173
/*
/*
 * Fundamental constants relating to ethernet.
 * Fundamental constants relating to ethernet.
 *
 *
 * $Id: ethernet.h,v 1.2 2001-09-27 12:01:54 chris Exp $
 * $Id: ethernet.h,v 1.2 2001-09-27 12:01:54 chris Exp $
 *
 *
 */
 */
 
 
#ifndef _NET_ETHERNET_H_
#ifndef _NET_ETHERNET_H_
#define _NET_ETHERNET_H_
#define _NET_ETHERNET_H_
 
 
/*
/*
 * The number of bytes in an ethernet (MAC) address.
 * The number of bytes in an ethernet (MAC) address.
 */
 */
#define ETHER_ADDR_LEN          6
#define ETHER_ADDR_LEN          6
 
 
/*
/*
 * The number of bytes in the type field.
 * The number of bytes in the type field.
 */
 */
#define ETHER_TYPE_LEN          2
#define ETHER_TYPE_LEN          2
 
 
/*
/*
 * The number of bytes in the trailing CRC field.
 * The number of bytes in the trailing CRC field.
 */
 */
#define ETHER_CRC_LEN           4
#define ETHER_CRC_LEN           4
 
 
/*
/*
 * The length of the combined header.
 * The length of the combined header.
 */
 */
#define ETHER_HDR_LEN           (ETHER_ADDR_LEN*2+ETHER_TYPE_LEN)
#define ETHER_HDR_LEN           (ETHER_ADDR_LEN*2+ETHER_TYPE_LEN)
 
 
/*
/*
 * The minimum packet length.
 * The minimum packet length.
 */
 */
#define ETHER_MIN_LEN           64
#define ETHER_MIN_LEN           64
 
 
/*
/*
 * The maximum packet length.
 * The maximum packet length.
 */
 */
#define ETHER_MAX_LEN           1518
#define ETHER_MAX_LEN           1518
 
 
/*
/*
 * A macro to validate a length with
 * A macro to validate a length with
 */
 */
#define ETHER_IS_VALID_LEN(foo) \
#define ETHER_IS_VALID_LEN(foo) \
        ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
        ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
 
 
/*
/*
 * Structure of a 10Mb/s Ethernet header.
 * Structure of a 10Mb/s Ethernet header.
 */
 */
struct  ether_header {
struct  ether_header {
        u_char  ether_dhost[ETHER_ADDR_LEN];
        u_char  ether_dhost[ETHER_ADDR_LEN];
        u_char  ether_shost[ETHER_ADDR_LEN];
        u_char  ether_shost[ETHER_ADDR_LEN];
        u_short ether_type;
        u_short ether_type;
};
};
 
 
/*
/*
 * Structure of a 48-bit Ethernet address.
 * Structure of a 48-bit Ethernet address.
 */
 */
struct  ether_addr {
struct  ether_addr {
        u_char octet[ETHER_ADDR_LEN];
        u_char octet[ETHER_ADDR_LEN];
};
};
 
 
#endif
#endif
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.