sitara_depot/components/free_rtos/ethernet/eth_frame.h

41 lines
1.1 KiB
C
Raw Normal View History

/*
* eth_frame.h
*
* Created on: 7 <EFBFBD><EFBFBD><EFBFBD>. 2023 <EFBFBD>.
* Author: sychev
*/
#ifndef FREE_RTOS_ETHERNET_ETH_FRAME_H_
#define FREE_RTOS_ETHERNET_ETH_FRAME_H_
#include <stdint.h>
#define ETH_FRAME_MAC_ADDR_LEN_BYTES (6u)
#define ETH_FRAME_MAC_ADDR_MASK (0xFFFFFFFFFFFFul) /// 6 <20><><EFBFBD><EFBFBD>
#define ETH_FRAME_MAC_ADDR_BROADCAST (0xFFFFFFFFFFFFul) /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
#define ETH_FRAME_MIN_LEN (14u) /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ETH_FRAME_MAX_LEN (1518u) /// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef union {
uint64_t addr;
uint8_t bytes[8];
} __attribute__ ((packed)) TEthFrameMacAddr;
typedef struct {
uint8_t mac_dest[ETH_FRAME_MAC_ADDR_LEN_BYTES];
uint8_t mac_src[ETH_FRAME_MAC_ADDR_LEN_BYTES];
uint16_t prot_id;
} __attribute__ ((packed)) TEthFrameHeader;
typedef struct {
uint8_t data[ETH_FRAME_MAX_LEN]; //__attribute__ ((aligned(32)))
uint32_t length;
}TEthPkt;
#endif /* FREE_RTOS_ETHERNET_ETH_FRAME_H_ */