141 lines
4.1 KiB
C
Raw Normal View History

2025-04-30 16:24:29 +08:00
/***************************************************************************************************
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>: eth2sys.h
----------------------------------------------------------------------------
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : eth2sys.c<EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
----------------------------------------------------------------------------
<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>־ :
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
----------------------------------------------------------------------------
2020-11-25 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***************************************************************************************************/
#ifndef _ETH2SYS_H_
#define _ETH2SYS_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#define ETH2_YES (1)
#define ETH2_NO (0)
#define ETH2_OK (0)
#define ETH2_ERR (-1)
#define ETH2_MAC_HEAD_SIZE (14)
#define ETH2_IP_HEAD_SIZE (20)
#define ETH2_TCP_HEAD_SIZE (20)
#define ETH2_UDP_HEAD_SIZE (8)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_MAX_ETHPKT_SIZE (1514)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_MAX_IPPKT_SIZE (ETH2_MAX_ETHPKT_SIZE - ETH2_MAC_HEAD_SIZE)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TCP<43><50><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_MAX_TCPDATA_SIZE (ETH2_MAX_IPPKT_SIZE - ETH2_IP_HEAD_SIZE - ETH2_TCP_HEAD_SIZE)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UDP<44><50><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_MAX_UDPDATA_SIZE (ETH2_MAX_IPPKT_SIZE - ETH2_IP_HEAD_SIZE - ETH2_UDP_HEAD_SIZE)
#define ETH2_SIZE_1K (1024)
#define ETH2_SIZE_2K (2*ETH2_SIZE_1K)
#define ETH2_SIZE_4K (4*ETH2_SIZE_1K)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49>ַ<EFBFBD><D6B7><EFBFBD>("192.168.200.113")<29><><EFBFBD><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_IP_STRING_SIZE (20)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[192,168,200,113]<5D><><EFBFBD><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_IP_BUF_SIZE (4)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAC<41>ַ<EFBFBD><D6B7><EFBFBD>("00-11-22-AA-BB-CC")<29><><EFBFBD><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_MAC_STRING_SIZE (30)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAC<41><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[00,11,22,AA,BB,CC]<5D><><EFBFBD><EFBFBD>,<2C>ֽ<EFBFBD>
#define ETH2_MAC_BUF_SIZE (6)
#define ETH2_FORMAT_TIME_SIZE (32)
#define ETH2_TIME_SIZE ETH2_FORMAT_TIME_SIZE
typedef void VOID;
typedef uint8_t U8;
typedef uint16_t U16;
typedef uint32_t U32;
typedef char CHAR ;
typedef unsigned char UCHAR ;
typedef int INT;
typedef unsigned int UINT;
#define CONST const
#ifdef linux
#define ETH2_OS_LINUX (1)
#else
#define ETH2_OS_WINDOWS (1)
#endif
#ifdef ETH2_OS_LINUX
#include <getopt.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/types.h>
#include <linux/spi/spidev.h>
#include <string.h>
#include <signal.h>
#include <linux/in.h>
#include <sys/time.h>
#include <sys/stat.h>
typedef struct stat STAT_S;
#define ETH2_STAT(path, pstStat) stat(path, pstStat)
#define ETH2_WARNING()\
{\
printf("\n++++++++++++++++++++++++++++ WARNING ++++++++++++++++++++++++++++");\
printf("\nFILE : [ %s ]; FUNCTION : [ %s ]; LINE : [ %d ];",__FILE__,__FUNCTION__,__LINE__);\
printf("\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");\
}
#define ETH2_TRACE(fmt,args...)\
{\
printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");\
printf("\nfile : [ %s ]; function : [ %s ]; line : [ %d ];",__FILE__,__FUNCTION__,__LINE__);\
printf(fmt,##args);\
printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");\
}
#define ETH2_SPRINTF(fmt,args...) sprintf(fmt,##args)
#define ETH2_SSCANF(fmt,args...) sscanf(fmt,##args)
#define ETH2_LOG(fmt,args...) printf("\n");printf(fmt,##args)
#define ETH2_SIZEOF(x) sizeof(x)
//<2F>ӳٺ<D3B3><D9BA><EFBFBD>,<2C><><EFBFBD><EFBFBD>
#define ETH2_SLEEP(msec) usleep(msec*1000)
//<2F>ӳٺ<D3B3><D9BA><EFBFBD><><CEA2>
#define ETH2_USLEEP(usec) usleep(usec)
INT eth2_file_exist(CONST CHAR*pcPath);
VOID eth2_print_memory(CONST VOID * const pucAddr, U32 ulSize);
VOID eth2_mac_str2buf(U8 * pucMac, CONST CHAR * pcStrMac);
VOID eth2_ip_str2buf(U8 * pucIp, CONST CHAR * pcStrIp);
U32 eth2_str2u32(CONST CHAR * pcIPorMask);
VOID eth2_get_cur_time(CHAR * pcTimeBuf);
#endif
#ifdef __cplusplus
}
#endif
#endif