www.pudn.com > Fronter_xie3.rar > struct.h


#ifndef STRUCT_H 
#define STRUCT_H 
#define LISTENSOCKETNUM 10 
 
 
 
#define GB_FRM_SIZE   		2048 
#define GB_FRMSIZE_TX		2048 
#define GB_FRMSIZE_RX		2048 
#define GB_MAXDATASIZE		1000 
#define GB_TRANSMITSIZE		2048 
 
 
 
#define GB_PRO_RX		0 
#define GB_PRO_TX		1 
 
const BYTE VALUE_INVLAID = 0xee; 
 
 
/*******************Location of one frame**********************/ 
//FIX FRAME HEADER 
#define GB_LOC_START1		0 
#define GB_LOC_LLEN1		1 
#define GB_LOC_HLEN1		2 
#define GB_LOC_LLEN2		3 
#define GB_LOC_HLEN2		4 
#define GB_LOC_START2		5 
//ADDRESS FIELD DEFINATIONS 
#define GB_LOC_CONTROL		6 
#define GB_LOC_ADDA1		7 
#define GB_LOC_ADDA2		8 
#define GB_LOC_ADDB1		9 
#define GB_LOC_ADDB2		10 
#define GB_LOC_ADDB3		11 
#define GB_LOC_AFN			12 
#define GB_LOC_SEQUENCE		13 
#define GB_LOC_DA1			14 
#define GB_LOC_DA2			15 
#define GB_LOC_DT1			16 
#define GB_LOC_DT2			17 
#define GB_LOC_DATA			18 
 
/*******************defination of CONTROL BYTE**********************/ 
#define GB_CONTROL_FUN			0X0F 
#define GB_CONTROL_FCV			0X10 
#define GB_CONTROL_FCB			0X20 
#define GB_CONTROL_ACD			0X20 
#define GB_CONTROL_PRM			0X40 
#define GB_CONTROL_DIR			0X80 
 
/*******************defination of Linker layer's FUN code**********************/ 
//PRM = 1 
#define GB_LFUN_RESET					1 
#define GB_LFUN_ASKNOREPLY				4 
#define GB_LFUN_ASKLINKSTATUS			9 
#define GB_LFUN_ASKN1DATA				10 //1级数据 
#define GB_LFUN_ASKN2DATA				11 //2级数据 
//PRM = 0 
#define GB_LFUN_CONFIRM				0 
#define GB_LFUN_DATAREPLY			8 
#define GB_LFUN_NOASKDATA			9 
#define GB_LFUN_LINKSTATUS			11 
 
/*******************defination of App layer's FUN command code**********************/ 
 
#define GB_AFUN_CONFIRM				0 
#define GB_AFUN_RESET				1 
#define GB_AFUN_CHECKLINK			2 
#define GB_AFUN_RELAYCMD			3 
#define GB_AFUN_SETPARA				4 
#define GB_AFUN_CONTROLCMD			5 
#define GB_AFUN_ASKPARA				0X0A 
//#define GB_AFUN_ASKTASK				0X0B 
#define GB_AFUN_ASKCLASS1			0X0C 
#define GB_AFUN_ASKCLASS2			0X0D 
#define GB_AFUN_ASKCLASS3			0X0E 
#define GB_AFUN_TRANSFILE			0X0F 
#define GB_AFUN_TRANSMIT			0X10 
#define GB_AFUN_ADDON				0XFF //自定义部分 
 
/*******************defination of SEQUENCE BYTE**********************/ 
#define GB_SEQUENCE_SEQ			0X0F 
#define GB_SEQUENCE_CON			0X10 
#define GB_SEQUENCE_FIN			0X20 
#define GB_SEQUENCE_FIR			0X40 
#define GB_SEQUENCE_TVP			0X80 
#define GB_SEQUENCE_TVP0		0X00 
#define GB_SEQUENCE_TVP1		0X80 
 
 
/*******************defination of ERR BYTE**********************/ 
#define GB_ERR_OK				0 
#define GB_ERR_DATAERR			1 
#define GB_ERR_PASSERR			2 
#define GB_ERR_NOVALIDDATA		3 
#define GB_ERR_VERCHANGED		4 
 
/*******************defination of Login type**********************/ 
#define GB_LOGLINK_LOGIN		1 
#define GB_LOGLINK_LOGOUT		2 
#define GB_LOGLINK_BEAT			3 
 
 
#define REVFROMCL790D 1 
#define SENDTOCL790D 0 
 
 
/*******************defination of Message Type**********************/ 
typedef struct{ 
	BYTE  wTxCnt;		//发送次数 
	BYTE  pBuf[ GB_FRM_SIZE ]; 
	WORD  wBufSize;		//发送帧缓冲区的大小 
	WORD  wBufLen;		//发送帧长度 
	WORD  wBufPointer; 
}GBMsg; 
 
typedef struct{ 
	WORD  nYear; 
	BYTE  nMonth; 
	BYTE  nDay; 
	BYTE  nHour; 
	BYTE  nMinute; 
	BYTE  nSecond; 
	BYTE  nWeek;//1-7表示星期1-星期日 1 = Sunday, 2 = Monday, ..., 7 = Saturday 
}TDATETIME; 
 
typedef TDATETIME TTime; 
 
typedef struct{ 
	bool	fStartSMS; 
 
	//接收部分 
	WORD 	wRxDataLen; 
	WORD	wRxDataTotLen; 
	 
	WORD 	wRxA1A2; 
	WORD 	wRxB1B2; 
	BYTE 	bRxMasterAddreess; 
	 
	BYTE	bRxFlag;//0:一对一命令; 1:广播命令; 2:片命令 
	BYTE	bRxCTL; 
	BYTE	bRxFUN; 
	BYTE	bRxFCV; 
	BYTE	bRxFCB; 
 
	BYTE	bRxFN; 
	BYTE	bRxPN; 
 
	BYTE	bRxAFN; 
	BYTE	bRxSequence; 
	BYTE	bRxSEQ; 
	BYTE	bRxTVP; 
 
	TTime	RxTimeTag; 
	DWORD	wRxTimeTagSecs; 
 
	//发送部分 
	bool	fTxNeedCON; 
	TTime	TxTimeTag; 
	BYTE	bTxFCB; 
 
	BYTE	bEC1; 
	BYTE	bEC2; 
 
	BYTE	bHisFCB; 
	BYTE	bMyFCB; 
	BYTE	bHisSEQ;//主站为启动站的方向计数 
	BYTE	bMySEQ;//分站为启动站的方向计数 
	BYTE	bHisPFC;//主站为启动站的方向帧计数器 
	BYTE	bMyPFC;//分站为启动站的方向帧计数器 
	 
	BYTE	bPrmSend_CMD; 
	BYTE	bPrmSend_Sequence; 
	DWORD	dwPrmSend_Click; 
 
	bool	fGotOneConfirm; 
	BYTE	bGotConfirm_CMD; 
	BYTE	bGotConfirm_Sequence; 
	BYTE	bGotConfirm_Answer; 
 
}GBCommInfo_T; 
 
enum NETADDRESS 
{ 
  NETADDRESS_Valid, 
  NETADDRESS_GBAddress, 
  NETADDRESS_MainIP, 
  NETADDRESS_state, 
  NETADDRESS_SOCKET, 
}; 
 
enum netconn_state 
{ 
  NETCONN_ONLINE, 
  NETCONN_OFFLINE 
}; 
 
enum LOG_LEVEL 
{ 
	LOG_FATAL, 
	LOG_ERROR, 
	LOG_WARN, 
	LOG_INFO, 
	LOG_DEBUG 
}; 
const BYTE ExTLEVEL=LOG_INFO; 
 
#endif