source: rtems/cpukit/libnetworking/net/ethernet.h @ 39e6e65a

4.104.114.84.95
Last change on this file since 39e6e65a was 39e6e65a, checked in by Joel Sherrill <joel.sherrill@…>, on 08/19/98 at 21:32:28

Base files

  • Property mode set to 100644
File size: 1012 bytes
Line 
1/*
2 * Fundamental constants relating to ethernet.
3 *
4 * $Id$
5 *
6 */
7
8#ifndef _NET_ETHERNET_H_
9#define _NET_ETHERNET_H_
10
11/*
12 * The number of bytes in an ethernet (MAC) address.
13 */
14#define ETHER_ADDR_LEN          6
15
16/*
17 * The number of bytes in the type field.
18 */
19#define ETHER_TYPE_LEN          2
20
21/*
22 * The number of bytes in the trailing CRC field.
23 */
24#define ETHER_CRC_LEN           4
25
26/*
27 * The length of the combined header.
28 */
29#define ETHER_HDR_LEN           (ETHER_ADDR_LEN*2+ETHER_TYPE_LEN)
30
31/*
32 * The minimum packet length.
33 */
34#define ETHER_MIN_LEN           64
35
36/*
37 * The maximum packet length.
38 */
39#define ETHER_MAX_LEN           1518
40
41/*
42 * A macro to validate a length with
43 */
44#define ETHER_IS_VALID_LEN(foo) \
45        ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN)
46
47/*
48 * Structure of a 10Mb/s Ethernet header.
49 */
50struct  ether_header {
51        u_char  ether_dhost[ETHER_ADDR_LEN];
52        u_char  ether_shost[ETHER_ADDR_LEN];
53        u_short ether_type;
54};
55
56/*
57 * Structure of a 48-bit Ethernet address.
58 */
59struct  ether_addr {
60        u_char octet[ETHER_ADDR_LEN];
61};
62
63#endif
Note: See TracBrowser for help on using the repository browser.