48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef	_MJPROTO_H_
 | |
| #define	_MJPROTO_H_
 | |
| 
 | |
| /************************************************************************/
 | |
| /* 
 | |
| /*                    《战将传奇》游戏通信协议头定义
 | |
| /* 
 | |
| /************************************************************************/
 | |
| 
 | |
| /******
 | |
| * 游戏通信协议头
 | |
| * 
 | |
| ****************************************************/
 | |
| #ifndef DefaultMessageDef
 | |
| #define DefaultMessageDef
 | |
| 
 | |
| #pragma pack(push, 1)
 | |
| typedef struct tagDefaultMessage
 | |
| {
 | |
| 	int		Recog;
 | |
| 	WORD	Ident;
 | |
| 	WORD	Param;
 | |
| 	WORD	Tag;
 | |
| 	WORD	Series;
 | |
| }DEFAULTMESSAGE, *PDEFAULTMESSAGE;
 | |
| #pragma pack(pop)
 | |
| 
 | |
| //构造游戏协议头的宏
 | |
| #define	MAKEDEFMSG(m, i, r, p, t, s)	{(m)->Recog = r; (m)->Ident = (int)i; (m)->Param = (int)p; (m)->Tag = (int)t; (m)->Series = (int)s;}
 | |
| 
 | |
| //协议头编码大小
 | |
| #define	DEFBLOCKSIZE	16
 | |
| 
 | |
| //定义协议头起始字节
 | |
| #define MJP_PACK_START (char)'#'
 | |
| //定义协议头结束字节
 | |
| #define MJP_PACK_END   (char)'!'
 | |
| 
 | |
| //数据编码宏
 | |
| #define	EncodeMessage(buf, msg)	EncodeBuffer(msg, buf, sizeof(DEFAULTMESSAGE), DEFBLOCKSIZE)
 | |
| //数据解码宏
 | |
| #define	DecodeMessage(msg, buf)	DecodeBuffer(buf, msg, DEFBLOCKSIZE, sizeof(DEFAULTMESSAGE))
 | |
| 
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #endif
 |