EnDecode.h
上传用户:tt_chan
上传日期:2009-12-03
资源大小:4523k
文件大小:3k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #ifndef _LEGENDOFMIR_ENDECODE
  2. #define _LEGENDOFMIR_ENDECODE
  3. #define _DEFBLOCKSIZE 16
  4. typedef struct tag_TDEFAULTMESSAGE
  5. {
  6. int nRecog;
  7. WORD wIdent;
  8. WORD wParam;
  9. WORD wTag;
  10. WORD wSeries;
  11. } _TDEFAULTMESSAGE, *_LPTDEFAULTMESSAGE;
  12. typedef struct tag_TMSGHEADER
  13. {
  14. int nCode;
  15. int nSocket;
  16. WORD wUserGateIndex;
  17. WORD wIdent;
  18. WORD wUserListIndex;
  19. WORD wTemp;
  20. int nLength;
  21. } _TMSGHEADER, *_LPTMSGHEADER;
  22. /*typedef struct tagTGateToSvrHeader
  23. {
  24. char szPrefix; // Always is '%'
  25. char szID; // Identifier.
  26. BYTE btGateIndex; // Gate server index.
  27. int nSocket; // Socket(owner of msg) in gate server.
  28. WORD wDataLength; // Length of msg that following header.
  29. } TGateToSvrHeader, *LPTGateToSvrHeader; 
  30. #define GTS_HEADER_SIZE sizeof(TGateToSvrHeader) */
  31. //void WINAPI fnMakeDefMessage(_LPTDEFAULTMESSAGE lptdm, WORD wIdent, int nRecog, WORD wParam, WORD wTag, WORD wSeries);
  32. #ifdef _UNICODE
  33. #define fnEncode6BitBuf fnEncode6BitBufW
  34. #define fnDecode6BitBuf fnDecode6BitBufW
  35. #define fnEncodeMessage fnEncodeMessageW
  36. #define fnDecodeMessage fnDecodeMessageW
  37. #define fnMakeDefMessage fnMakeDefMessageW
  38. #else
  39. #define fnEncode6BitBuf fnEncode6BitBufA
  40. #define fnDecode6BitBuf fnDecode6BitBufA
  41. #define fnEncodeMessage fnEncodeMessageA
  42. #define fnDecodeMessage fnDecodeMessageA
  43. #define fnMakeDefMessage fnMakeDefMessageA
  44. #endif
  45. int  WINAPI fnEncode6BitBufW(unsigned char *pszSrc, TCHAR *pszDest, int nSrcLen, int nDestLen);
  46. int  WINAPI fnDecode6BitBufW(TCHAR *pwszSrc, char *pszDest, int nDestLen);
  47. int  WINAPI fnEncodeMessageW(_LPTDEFAULTMESSAGE lptdm, TCHAR *pszBuf, int nLen);
  48. __inline void  WINAPI fnDecodeMessageW(_LPTDEFAULTMESSAGE lptdm, TCHAR *pszBuf)
  49. { fnDecode6BitBufW(pszBuf, (char *)lptdm, sizeof(_TDEFAULTMESSAGE)); }
  50. __inline void WINAPI fnMakeDefMessageW(_LPTDEFAULTMESSAGE lptdm, WORD wIdent, int nRecog, WORD wParam, WORD wTag, WORD wSeries)
  51. { lptdm->wIdent = wIdent; lptdm->nRecog = nRecog; lptdm->wParam = wParam; lptdm->wTag = wTag; lptdm->wSeries = wSeries; }
  52. int  WINAPI fnEncode6BitBufA(unsigned char *pszSrc, char *pszDest, int nSrcLen, int nDestLen);
  53. int  WINAPI fnDecode6BitBufA(char *pwszSrc, char *pszDest, int nDestLen);
  54. int  WINAPI fnEncodeMessageA(_LPTDEFAULTMESSAGE lptdm, char *pszBuf, int nLen);
  55. __inline void  WINAPI fnDecodeMessageA(_LPTDEFAULTMESSAGE lptdm, char *pszBuf)
  56. { fnDecode6BitBufA(pszBuf, (char *)lptdm, sizeof(_TDEFAULTMESSAGE)); }
  57. __inline void WINAPI fnMakeDefMessageA(_LPTDEFAULTMESSAGE lptdm, WORD wIdent, int nRecog, WORD wParam, WORD wTag, WORD wSeries)
  58. { lptdm->wIdent = wIdent; lptdm->nRecog = nRecog; lptdm->wParam = wParam; lptdm->wTag = wTag; lptdm->wSeries = wSeries; }
  59. #endif //_LEGENDOFMIR_ENDECODE