⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typedef.h

📁 TString类是字符串操作类
💻 H
字号:
#ifndef __TYPEDEF_H__
#define __TYPEDEF_H__



#ifdef _WIN32
#include "winsock2.h"
#include <windows.h>
typedef unsigned int	TSOCKET;
#else
#include <unistd.h>
#include <sys/socket.h>
#include <unistd.h>
#include <netdb.h>
#include <errno.h>
#include <arpa/inet.h>
#include <pthread.h>
typedef int						TSOCKET;
#endif

typedef int				TBOOL;	
typedef unsigned short	TWORD;
typedef unsigned long	TDWORD;
typedef unsigned char	TBYTE;
typedef unsigned char *	TLPBYTE;
typedef void *			TPOSITION;
typedef unsigned int	TUINT;
typedef const char *	TLPCSTR;
typedef char *			TLPSTR;
typedef TLPCSTR 		TLPCTSTR;
typedef TLPSTR			TLPTSTR;
typedef long			TLONG;
typedef TLONG *			TLPLONG;
//typedef HMODULE			THMODULE;
typedef void*			TLPVOID;
typedef long            TLRESULT;

//常量定义
#define TBEFORE_START_POSITION ((TPOSITION)-1L)
#define INVALIDATE_SOCKET			(TSOCKET)(~0)
#define TMAX_PATH					260
#define TTRUE						1
#define TFALSE						0
#define TNULL						0

	//事件定义
#define CLIENT_CONNECTED		1
#define CLIENT_DISCONNECTED		2
#define SERVER_DISCONNECTED		3
#define DATA_RECEIVED			4
#define DATA_SEND_SUCCESS		5
#define DATA_SEND_FAILED		6
#define CLINENT_TIMEOUT			7


typedef struct _tagCOMMUNICATEEVENT
{
	TDWORD	dwStructSize;
	TDWORD	dwEventID;
	TDWORD	dwEventStatus;
	TLPVOID lpData;
	TDWORD	dwDataSize;
	TUINT	nDataID;
	TDWORD	dwReserved1;
	TDWORD	dwReserved2;
} TCOMMUNICATEEVENT, *TPCOMMUNICATEEVENT;

/***********************************************/
/* 	用于通讯模块与上层通讯用的COMMUNICATEEVENT结构说明
		struct COMMUNICATEEVENT
		{
			unsigned long dwStructSize;
			unsigned long dwEventID;
			unsigned long dwEventStatus;
			void * lpData;					//数据块指针
			unsigned long dwDataSize;		//数据块长度
			unsigned int nDataID;			//数据块标识
			unsigned long dwReserved1;      //保留
			unsigned long dwReserved2;      //保留
		};
		其中dwStructSize用于保存结构的大小,以字节数为单位。随着软件的升级,COMMUNICATEEVENT
	结构可能会发生变化,应用层可以通过此成员判断COMMUNICATEEVENT结构的版本,根据版本不同作出
	不同的处理。dwEventID用于标识事件的类型,根据客户端与服务端的不同,有不同的定义,目前定的
	事件类别如下表:
	事件ID				事件值		服务端/客户端事件		说明
	CLIENT_CONNECTED	1			服务端					当服务端成功接收到来自客户端的连接请求时,向上层应用发送此事件,通知有客户连接上来。其中在成员dwEventStatus中上报服务端为此客户端分配的客户端标识ClientID。
	CLIENT_DISCONNECTED	2			服务端					当客户端主动要求与服务端断开连接时,通讯服务端接收到了来自客户端的断开连接请求后,向上层应用发送此事件,通知上层用户已经断开连接。
	SERVER_DISCONNECTED	3			客户端					当服务端主动断开与服务端连接时,通讯客户端接收到了来自服务端的断开连接请求后,向上层应用发送此事件,通知上层已经断开了与服务端的连接。
	DATA_RECEIVED		4			服务端/客户端			由通讯层通知上层数据收到了来自通讯对方的数据,需要处理数据。其中在成员lpData中指出数据缓冲区的地址,在成员dwDataSize中传回数据区的数据长度值。
	DATA_SEND_SUCCESS	5			服务端/客户端			通讯模块将数据成功发送给对方后,向上层发送此事件,表明上层应用用AddTo或SendOut调用要求发送的数据已经由通讯模块成功发送出去。其中成员变量nDataID中保存的时此次成功发送数据的标识,此标识是在AddTo或SendOut的最后一个参数中返回给上层应用的。
	DATA_SEND_FAILED	6			服务端/客户端			通讯模块发送数据给对方失败后,向上层发送此事件,表明上层应用调用AddTo或SendOut调用发送的数据发送失败。其中成员变量nDataID中保存的时此次发送失败的数据的标识,此标识是在AddTo或SendOut的最后一个参数中返回给上层应用的。
	CLINENT_TIMEOUT		7			服务端					服务端的工作线程超时后,通讯模块将向上层报告此事件。	
*/

#endif // __TYPEDEF_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -