ethtype.h

来自「vt6528芯片交换机API函数和文档运行程序」· C头文件 代码 · 共 75 行

H
75
字号
/*
 * 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 + =
减小字号Ctrl + -
显示快捷键?