141 lines
4.1 KiB
C
141 lines
4.1 KiB
C
![]() |
/***************************************************************************************************
|
|||
|
<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
|
|||
|
|