📄 ethtype.h
字号:
/*
* File: ethtype.h
*/
#ifndef __ETHTYPE_H__
#define __ETHTYPE_H__
#if !defined(__CCONFIG_H__)
#include "cconfig.h"
#endif
/*--------------------- Export Definitions ------------------------*/
#define ETH_ADDR_SIZE 6
#define ETH_ADDR_STR_LEN 18 // ethernet addr string format is "66:55:44:33:22:11\0",
// including tailing zero
#define ETH_PKT_MAX_LEN 1518 // max packet length, with vlan tag, w/o CRC
#define ETH_PKT_MIN_LEN 60 // min packet length, w/o vlan tag, w/o CRC
#define ETH_MTU 1500
#define ETH_HDR_SIZE (sizeof(SEthHdr))
/*--------------------- Export Types ------------------------------*/
typedef UINT8 MAC_ADDR[ETH_ADDR_SIZE];
STRUCT_PACK_BEGIN(tagSMacAddr)
UINT8 ea_au8Addr[ETH_ADDR_SIZE];
STRUCT_PACK_END(tagSMacAddr)
typedef struct tagSMacAd SMacAddr, *PSMacAddr;
STRUCT_PACK_BEGIN(tagSEthHdr)
UINT8 eh_au8DstAddr[ETH_ADDR_SIZE];
UINT8 eh_au8SrcAddr[ETH_ADDR_SIZE];
UINT16 eh_u16Type;
STRUCT_PACK_END(tagSEthHdr)
typedef struct tagSEthHdr SEthHdr, *PSEthHdr;
/*--------------------- Export Macros -----------------------------*/
/*--------------------- Export Classes ----------------------------*/
/*--------------------- Export Variables --------------------------*/
/*--------------------- Export Functions --------------------------*/
#if defined(__cplusplus)
extern "C" { /* Assume C declarations for C++ */
#endif // __cplusplus
//transfer MAC address value to string
void ETH_vCvtMacValToStr(char* pszMacStr, PUINT8 pu8MacAddr);
//transfer MAC address string to value
void ETH_vCvtMacStrToVal(char* pszMacStr, PUINT8 pu8MacAddr);
BOOL ETH_bIsBroadcast(PUINT8 pu8MacAddr);
// MAC address value is in big endian mode
BOOL ETH_bIsMulticast(PUINT8 pu8MacAddr);
#if defined(__cplusplus)
} /* End of extern "C" { */
#endif // __cplusplus
#endif /* __ETHTYPE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -