141 lines
4.1 KiB
C
141 lines
4.1 KiB
C
/***************************************************************************************************
|
|
文件名: eth2sys.h
|
|
----------------------------------------------------------------------------
|
|
描述 : eth2sys.c的头文件
|
|
----------------------------------------------------------------------------
|
|
修改日志 :
|
|
日期 姓名 操作
|
|
----------------------------------------------------------------------------
|
|
2020-11-25 陈云洲 创建
|
|
***************************************************************************************************/
|
|
|
|
#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)
|
|
|
|
//最大的以太网报文长度,字节
|
|
#define ETH2_MAX_ETHPKT_SIZE (1514)
|
|
|
|
//最大的IP数据报长度,字节
|
|
#define ETH2_MAX_IPPKT_SIZE (ETH2_MAX_ETHPKT_SIZE - ETH2_MAC_HEAD_SIZE)
|
|
|
|
//最大的TCP数据长度,字节
|
|
#define ETH2_MAX_TCPDATA_SIZE (ETH2_MAX_IPPKT_SIZE - ETH2_IP_HEAD_SIZE - ETH2_TCP_HEAD_SIZE)
|
|
|
|
//最大的UDP数据长度,字节
|
|
#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)
|
|
|
|
//最大的IP字符串("192.168.200.113")长度,字节
|
|
#define ETH2_IP_STRING_SIZE (20)
|
|
|
|
//最大的IP缓冲区[192,168,200,113]长度,字节
|
|
#define ETH2_IP_BUF_SIZE (4)
|
|
|
|
//最大的MAC字符串("00-11-22-AA-BB-CC")长度,字节
|
|
#define ETH2_MAC_STRING_SIZE (30)
|
|
|
|
//最大的MAC缓冲区[00,11,22,AA,BB,CC]长度,字节
|
|
#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)
|
|
|
|
//延迟函数,毫秒
|
|
#define ETH2_SLEEP(msec) usleep(msec*1000)
|
|
|
|
//延迟函数,微秒
|
|
#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
|
|
|