诸暨麻将添加redis
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

643 lignes
19 KiB

  1. #ifndef CMD_CORRESPOND_HEAD_FILE
  2. #define CMD_CORRESPOND_HEAD_FILE
  3. #pragma pack(1)
  4. #ifdef _DEBUG
  5. //////////////////////////////////////////////////////////////////////////
  6. #define SEVERTIMEOUT 10 //与服务器断开时间判断 5秒
  7. //////////////////////////////////////////////////////////////////////////////////
  8. #else
  9. //////////////////////////////////////////////////////////////////////////
  10. #define SEVERTIMEOUT 30 //与服务器断开时间判断 30秒
  11. //////////////////////////////////////////////////////////////////////////////////
  12. #endif
  13. //注册命令
  14. #define MDM_CS_REGISTER 1 //服务注册
  15. //服务注册
  16. #define SUB_CS_C_REGISTER_PLAZA 100 //注册登陆服务器
  17. #define SUB_CS_C_REGISTER_SERVER 101 //注册游戏中心服务器
  18. #define SUB_CS_C_REGISTER_MATCH 102 //注册比赛
  19. //注册结果
  20. #define SUB_CS_S_REGISTER_FAILURE 200 //注册失败
  21. //////////////////////////////////////////////////////////////////////////////////
  22. struct JN_GR_RoomListInfo
  23. {
  24. TCHAR szName[12]; //昵称
  25. DWORD dwServerID; //服务器ID
  26. TCHAR szIp[20]; //IP
  27. byte bDuoLai; //多癞子可平胡,0可以 1不可以
  28. WORD wFengDing; //封顶值
  29. byte tmp1; //备用字段
  30. byte tmp2; //备用字段
  31. byte tmp3; //备用字段
  32. byte tmp4; //备用字段
  33. byte tmp5; //备用字段
  34. int tmp6[4]; //备用
  35. WORD wPort; //端口
  36. DWORD dwRoomNumber; //私有房间号
  37. DWORD dwDiFen; //底分
  38. BYTE dwJuShu; //局数
  39. BYTE bRoomCreatePay; //是否为房主支付
  40. BYTE bFanGua; //是否反作弊 0 是 1 否
  41. BYTE bWanFa; //玩法
  42. };
  43. //玩家已开房房间信息
  44. struct JN_GR_RoomList
  45. {
  46. DWORD dwUserID; //拥有人
  47. DWORD dwServerID; //服务器ID
  48. DWORD dwRoomNumber; //私有房间号
  49. DWORD dwInsert_UpData_Del; //添加更新删除 0 , 1, 2
  50. DWORD dwDiFen; //底分
  51. DWORD dwJuShu; //局数
  52. DWORD dwReadyBody; //已有人数
  53. DWORD dwBody; //总人数
  54. BYTE bWanFa; //玩法
  55. TCHAR szIp[20]; //IP
  56. byte bDuoLai; //多癞子可平胡,0可以 1不可以
  57. WORD wFengDing; //封顶值
  58. byte tmp1; //备用字段
  59. byte tmp2; //备用字段
  60. byte tmp3; //备用字段
  61. byte tmp4; //备用字段
  62. byte tmp5; //备用字段
  63. int tmp6[4]; //备用
  64. WORD wPort; //端口
  65. };
  66. struct PlayerInfo
  67. {
  68. DWORD dwUserID; //玩家
  69. TCHAR szName[12]; //昵称
  70. TCHAR szHeadUrl[256]; //头像
  71. };
  72. struct JN_GR_RoomListBig
  73. {
  74. DWORD dwUserID; //拥有人
  75. DWORD dwServerID; //服务器ID
  76. DWORD dwRoomNumber; //私有房间号
  77. DWORD dwInsert_UpData_Del; //添加更新删除 0 , 1, 2
  78. DWORD dwDiFen; //底分
  79. DWORD dwJuShu; //局数
  80. DWORD dwReadyBody; //已有人数
  81. DWORD dwBody; //总人数
  82. BYTE bWanFa; //玩法
  83. TCHAR szIp[20]; //IP
  84. byte bDuoLai; //多癞子可平胡,0可以 1不可以
  85. WORD wFengDing; //封顶值
  86. byte tmp1; //是否未IP限制
  87. byte tmp2; //备用
  88. byte tmp3; //备用
  89. byte tmp4; //备用
  90. byte tmp5; //备用 //桌子1自动c创房属性
  91. int tmp6[3]; //备用
  92. DWORD InsertTime; //插入时间
  93. WORD wPort; //端口
  94. BYTE bRoomCreatePay; //是否为房主支付
  95. BYTE bFanGua; //是否反作弊 1 是 0 否
  96. TCHAR szName[12]; //昵称
  97. TCHAR szHeadUrl[256]; //头像
  98. byte roomType; //0好友房,1俱乐部房间
  99. byte roomStatus; //0未开始,1开始
  100. byte currentjushu; //当前局数
  101. PlayerInfo player[4]; //玩家信息
  102. };
  103. struct JN_GR_SERVICESTAT
  104. {
  105. DWORD dwServerID; //服务器ID
  106. int bService; //是否提供服务 1提供服务 0 主动不提供服务 <0 被攻击被动不提供服务
  107. };
  108. //玩家已开房房间列表
  109. struct JN_GR_RoomListGroup
  110. {
  111. JN_GR_RoomListBig jgrDate[30];
  112. DWORD Num;//总共开房数
  113. };
  114. //玩家已开房房间列表
  115. struct JN_GR_RoomListGroupSend
  116. {
  117. JN_GR_RoomList jgrDate[30];
  118. DWORD Num;//总共开房数
  119. };
  120. //注册广场
  121. struct CMD_CS_C_RegisterPlaza
  122. {
  123. TCHAR szServerAddr[32]; //服务地址
  124. TCHAR szServerName[LEN_SERVER]; //服务器名
  125. ///---add by yd
  126. WORD wServerID;
  127. };
  128. struct CMD_GR_Club_Notify_ACK
  129. {
  130. WORD newsFalg;
  131. TCHAR Message[255];
  132. DWORD dwClubID;
  133. DWORD dwUserCount;
  134. };
  135. struct CMD_GR_Club_NotifyEX_ACK
  136. {
  137. DWORD dwUserId;
  138. CMD_GR_Club_Notify_ACK Notify;
  139. };
  140. struct CMD_GR_ClubAction2_XT
  141. {
  142. DWORD dwServerID;
  143. DWORD dwClubID;
  144. DWORD wWanFa;//玩法0,1,2
  145. };
  146. //创建进入房间
  147. struct CMD_CS_UserSitDown
  148. {
  149. WORD Wsocket; //桌子位置
  150. WORD wChairID; //椅子位置
  151. TCHAR szPassword[LEN_PASSWORD]; //
  152. byte cbCreateTable; //是否新建一个桌子
  153. TCHAR szPrivateTableID[7]; //私有桌子号
  154. byte bDuoLai; //多癞子可平胡,0可以 1不可以
  155. WORD wFengDing; //封顶值
  156. byte tmp1; //备用字段
  157. int tmp2; //备用字段
  158. char TableConfig[0]; //创建私有桌子时的配置信息
  159. };
  160. //创建进入房间
  161. struct CMD_CS_UserSitDownChai
  162. {
  163. WORD Wsocket; //桌子位置
  164. WORD wChairID; //椅子位置
  165. TCHAR szPassword[LEN_PASSWORD]; //
  166. byte cbCreateTable; //是否新建一个桌子
  167. TCHAR szPrivateTableID[7]; //私有桌子号
  168. byte bDuoLai; //多癞子可平胡,0可以 1不可以
  169. WORD wFengDing; //封顶值
  170. byte tmp1; //备用字段
  171. int tmp2; //备用字段
  172. char TableConfig[0]; //创建私有桌子时的配置信息
  173. };
  174. struct CMD_GR_UserInfo
  175. {
  176. DWORD dwOwnerID;
  177. TCHAR szHostName[32];
  178. TCHAR szHeadUrl[256];
  179. };
  180. //创建进入房间
  181. struct CMD_CS_UserSitDownEx
  182. {
  183. DWORD dwUserID; //请求用户id
  184. BYTE cbAuto; //自动创建房间
  185. CMD_GR_UserInfo cmhostInfo; //自动开房群主信息
  186. BYTE cbWanFa; //用来表示俱乐部自动开房玩法0,1,2
  187. DWORD RoomID; //私有随机房间号
  188. CMD_CS_UserSitDown data;
  189. };
  190. //注册游戏
  191. struct CMD_CS_C_RegisterServer
  192. {
  193. WORD wKindID; //名称索引
  194. WORD wNodeID; //节点索引
  195. WORD wSortID; //排序索引
  196. WORD wServerID; //房间索引
  197. WORD wServerKind; //房间类别
  198. WORD wServerType; //房间类型
  199. WORD wServerPort; //房间端口
  200. SCORE lCellScore; //单元积分
  201. SCORE lEnterScore; //进入积分
  202. DWORD dwOnLineCount; //在线人数
  203. DWORD dwFullCount; //满员人数
  204. DWORD dwFullTable; //满员桌子
  205. DWORD dwServerRule; //房间规则
  206. TCHAR szServerAddr[32]; //服务地址
  207. TCHAR szServerName[LEN_SERVER]; //房间名称
  208. WORD wServerLevel; //服务级别 12345678 8为最高
  209. int bService; //是否提供服务 1提供服务 0 主动不提供服务 <0 被攻击被动不提供服务
  210. };
  211. //注册比赛
  212. struct CMD_CS_C_RegisterMatch
  213. {
  214. //基本信息
  215. WORD wServerID; //房间标识
  216. DWORD dwMatchID; //比赛标识
  217. DWORD dwMatchNO; //比赛场次
  218. BYTE cbMatchType; //比赛类型
  219. TCHAR szMatchName[32]; //比赛名称
  220. //比赛信息
  221. BYTE cbMemberOrder; //会员等级
  222. BYTE cbMatchFeeType; //扣费类型
  223. SCORE lMatchFee; //比赛费用
  224. //比赛信息
  225. WORD wStartUserCount; //开赛人数
  226. WORD wMatchPlayCount; //比赛局数
  227. //比赛时间
  228. SYSTEMTIME MatchStartTime; //开始时间
  229. SYSTEMTIME MatchEndTime; //结束时间
  230. //比赛奖励
  231. WORD wRewardCount; //比赛奖励
  232. //扩展信息
  233. //TCHAR szMatchAwardContent[128]; //比赛奖励
  234. //TCHAR szMatchContent[512]; //比赛内容
  235. };
  236. //注册失败
  237. struct CMD_CS_S_RegisterFailure
  238. {
  239. LONG lErrorCode; //错误代码
  240. TCHAR szDescribeString[128]; //错误消息
  241. };
  242. //////////////////////////////////////////////////////////////////////////////////
  243. //服务信息
  244. #define MDM_CS_SERVICE_INFO 2 //服务信息
  245. //房间信息
  246. #define SUB_CS_C_SERVER_ONLINE 1 //房间人数
  247. #define SUB_CS_C_SERVER_MODIFY 2 //房间修改
  248. #define SUB_CS_C_SERVER_ONLINE_ACK 3 //房间人数人数应答
  249. #define SUB_CS_C_SERVER_JULI 5 //距离广播
  250. #define SUB_CS_C_SERVER_JULI_ACK 6 //距离广播应答
  251. //广场命令
  252. #define SUB_CS_S_PLAZA_INFO 100 //广场信息
  253. #define SUB_CS_S_PLAZA_INSERT 101 //广场列表
  254. #define SUB_CS_S_PLAZA_REMOVE 103 //广场删除
  255. #define SUB_CS_S_PLAZA_FINISH 104 //广场完成
  256. //房间命令
  257. #define SUB_CS_S_SERVER_INFO 110 //房间信息
  258. #define SUB_CS_S_SERVER_ONLINE 111 //房间人数
  259. #define SUB_CS_S_SERVER_INSERT 112 //房间列表
  260. #define SUB_CS_S_SERVER_MODIFY 113 //房间修改
  261. #define SUB_CS_S_SERVER_REMOVE 114 //房间删除
  262. #define SUB_CS_S_SERVER_FINISH 115 //房间完成
  263. #define SUB_CS_S_SERVER_USER_INFO 116 //用户房间信息
  264. #define SUB_CS_S_SERVER_STAT 117 //房间状态
  265. //比赛命令
  266. #define SUB_CS_S_MATCH_INSERT 120 //比赛列表
  267. //////////////////////////////////////////////////////////////////////////////////
  268. //房间数据
  269. struct CMD_CS_C_ServerModify
  270. {
  271. WORD wSortID; //排序索引
  272. WORD wKindID; //类型索引
  273. WORD wNodeID; //节点索引
  274. WORD wServerPort; //房间端口
  275. DWORD dwOnLineCount; //在线人数
  276. WORD wTableFullCount; //满员桌子数
  277. WORD wTableOnlineCount; //在线桌子数
  278. DWORD dwFullCount; //满员人数
  279. TCHAR szServerAddr[32]; //服务地址
  280. TCHAR szServerName[LEN_SERVER]; //房间名称
  281. };
  282. //房间人数
  283. struct CMD_CS_C_ServerOnLine
  284. {
  285. DWORD dwOnLineCount; //在线人数
  286. WORD wTableOnlineCount; //在线桌子数
  287. WORD wTableFullCount; //满员桌子数
  288. };
  289. //用户距离信息
  290. struct CMD_CS_C_JULI
  291. {
  292. DWORD dUserID; //用户ID
  293. LONGLONG llJuLi; //
  294. };
  295. //////////////////////////////////////////////////////////////////////////////////
  296. //广场删除
  297. struct CMD_CS_S_PlazaRemove
  298. {
  299. DWORD dwPlazaID; //广场标识
  300. };
  301. //房间人数
  302. struct CMD_CS_S_ServerOnLine
  303. {
  304. WORD wServerID; //房间标识
  305. DWORD dwOnLineCount; //在线人数
  306. WORD wTableOnlineCount; //在线桌子数
  307. WORD wTableFullCount; //满员桌子数
  308. };
  309. //登陆信息
  310. struct CMD_CS_S_ServerAllOnLine
  311. {
  312. DWORD dwServerNum; //游戏节点数量
  313. DWORD dwOnLineCount; //在线总人数
  314. };
  315. //房间修改
  316. struct CMD_CS_S_ServerModify
  317. {
  318. WORD wSortID; //排序索引
  319. WORD wKindID; //类型索引
  320. WORD wNodeID; //节点索引
  321. WORD wServerID; //房间标识
  322. WORD wServerPort; //房间端口
  323. DWORD dwOnLineCount; //在线人数
  324. DWORD dwFullCount; //满员人数
  325. TCHAR szServerAddr[32]; //服务地址
  326. TCHAR szServerName[LEN_SERVER]; //房间名称
  327. };
  328. //房间删除
  329. struct CMD_CS_S_ServerRemove
  330. {
  331. WORD wServerID; //房间标识
  332. };
  333. //用户房间信息
  334. struct CMD_CS_S_ServerUserInfo
  335. {
  336. DWORD dwUserID; //用户标识
  337. WORD wServerID; //房间标识
  338. };
  339. //////////////////////////////////////////////////////////////////////////////////
  340. //用户汇总
  341. #define MDM_CS_USER_COLLECT 3 //用户汇总
  342. //用户状态
  343. #define SUB_CS_C_USER_ENTER 1 //用户进入
  344. #define SUB_CS_C_USER_LEAVE 2 //用户离开
  345. #define SUB_CS_C_USER_FINISH 3 //用户完成
  346. #define SUB_CS_C_USER_SERVER 4 //用户是否在游戏牌桌上的状态汇总
  347. #define SUB_CS_UPDATAOWNROOM 5 //私有房间信息更新
  348. #define SUB_CS_UPDATAOWNROOMLIST 6 //私有房间信息总数据
  349. #define SUB_CS_UPDATAOWNBEANS_UNLOCK 7 //元宝解冻更新
  350. #define SUB_CS_UPDATAOWNBEANS_LOCK 8 //元宝冻结更新
  351. #define SUB_CS_C_GET_ROOMID 9 //获取随机私有房间号
  352. #define SUB_CS_UPDATAOTHERROOM 10 //分片更新其他服务器私有房间信息更新
  353. #define SUB_CS_UPDATASERVICE 11 //更新服务器服务状态
  354. //俱乐部添加
  355. #define SUB_CS_C_USER_ONLINE 12 //用户上线
  356. #define SUB_CS_C_USER_OFFLINE 13 //用户离线
  357. #define SUB_CS_C_USER_SendMessage 14 //用户信息转发
  358. #define SUB_CS_C_USER_DisCONN 15 //强制用户断线
  359. #define SUB_CS_ChangServer 16 //自动开房换服务器
  360. #define SUB_CS_DISSOLVEROOM 17 //群主解散俱乐部房间
  361. //用户状态
  362. #define SUB_CS_S_COLLECT_REQUEST 100 //汇总请求
  363. //////////////////////////////////////////////////////////////////////////////////
  364. ///BY JN
  365. #define SUB_GR_LOGON_FAILURE 100 //出错信息
  366. #define MDM_GR_LOGON 1 //登录信息
  367. //扣除游戏豆
  368. struct DBO_GR_UserReduceResultEX
  369. {
  370. DWORD result; //操作结果
  371. DWORD dwCurrBeans; //当前元宝
  372. TCHAR szDescribeString[128]; //描述消息
  373. DWORD dwLockBeans; //锁定元宝
  374. DWORD dwActiveBeans; //操作元宝
  375. DWORD dwTable; //操作元宝
  376. DWORD dwUserID; //扣除用户ID
  377. };
  378. //获取随机私有房间ID
  379. struct CMD_GR_SENDROOM_ID
  380. {
  381. DWORD result; //操作结果 1 真 0 为假
  382. DWORD dRoomID;
  383. };
  384. struct CMD_GR_LogonFailureEx
  385. {
  386. LONG lErrorCode; //错误代码
  387. TCHAR szDescribeString[128]; //描述消息
  388. };
  389. //用户进入
  390. struct CMD_CS_C_UserEnter
  391. {
  392. //用户信息
  393. DWORD dwUserID; //用户标识
  394. DWORD dwGameID; //游戏标识
  395. //TCHAR szNickName[LEN_NICKNAME]; //用户昵称
  396. //辅助信息
  397. BYTE cbGender; //用户性别
  398. BYTE cbMemberOrder; //会员等级
  399. BYTE cbMasterOrder; //管理等级
  400. };
  401. //用户离开
  402. struct CMD_CS_C_UserLeave
  403. {
  404. DWORD dwUserID; //用户标识
  405. };
  406. //用户服务器
  407. struct CMD_CS_C_UserServer
  408. {
  409. DWORD dwUserID; //用户标识
  410. BYTE cbFlag; //操作 1在此游戏服务器中游戏中 0空闲
  411. };
  412. //创建私有房间编号
  413. struct CMD_CS_C_CreateNumber
  414. {
  415. TCHAR dwNumber[32]; //房间编号
  416. BYTE cbFlag; //操作 1添加 0删除
  417. };
  418. //////////////////////////////////////////////////////////////////////////////////
  419. //远程服务
  420. #define MDM_CS_REMOTE_SERVICE 4 //远程服务
  421. //查找服务
  422. #define SUB_CS_C_SEARCH_DATABASE 1 //数据查找
  423. #define SUB_CS_C_SEARCH_CORRESPOND 2 //协调查找
  424. //查找结果
  425. #define SUB_CS_S_SEARCH_DATABASE 100 //数据查找
  426. #define SUB_CS_S_SEARCH_CORRESPOND 101 //协调查找
  427. //////////////////////////////////////////////////////////////////////////////////
  428. //协调查找
  429. struct CMD_CS_C_SearchCorrespond
  430. {
  431. //连接参数
  432. DWORD dwSocketID; //网络标识
  433. DWORD dwClientAddr; //连接地址
  434. //查找数据
  435. DWORD dwGameID; //游戏标识
  436. TCHAR szNickName[LEN_NICKNAME]; //用户昵称
  437. };
  438. //协调查找
  439. struct CMD_CS_S_SearchCorrespond
  440. {
  441. //连接信息
  442. DWORD dwSocketID; //网络标识
  443. DWORD dwClientAddr; //连接地址
  444. //数据信息
  445. WORD wUserCount; //用户数目
  446. tagUserRemoteInfo UserRemoteInfo[16]; //用户信息
  447. };
  448. //////////////////////////////////////////////////////////////////////////////////
  449. //管理服务
  450. #define MDM_CS_MANAGER_SERVICE 5 //管理服务
  451. #define SUB_CS_C_SYSTEM_MESSAGE 1 //系统消息
  452. #define SUB_CS_C_PROPERTY_TRUMPET 2 //喇叭消息
  453. #define SUB_CS_C_TELL_CORRESPOND 3 //定时通知协调服务器
  454. ///[---add by yd
  455. #define SUB_CS_C_LOGON_HEARTBEAT 4 //登录服务器与协调服务器的心跳
  456. ///---]
  457. #define SUB_CS_S_SYSTEM_MESSAGE 100 //系统消息
  458. #define SUB_CS_S_PROPERTY_TRUMPET 200 //喇叭消息
  459. #define SUB_CS_S_PLATFORM_PARAMETER 300 //平台参数
  460. //房间定时通知协调服
  461. struct CMD_CS_C_TellCorr
  462. {
  463. WORD wServerID; //房间标识
  464. };
  465. //发送喇叭
  466. struct CMD_CS_S_SendTrumpet
  467. {
  468. WORD wPropertyIndex; //道具索引
  469. DWORD dwSendUserID; //用户 I D
  470. DWORD TrumpetColor; //喇叭颜色
  471. TCHAR szSendNickName[32]; //玩家昵称
  472. TCHAR szTrumpetContent[TRUMPET_MAX_CHAR]; //喇叭内容
  473. };
  474. //////////////////////////////////////////////////////////////////////////////////
  475. //机器服务
  476. //#define MDM_CS_ANDROID_SERVICE 6 //机器服务
  477. //
  478. //#define SUB_CS_C_ADDPARAMETER 100 //添加参数
  479. //#define SUB_CS_C_MODIFYPARAMETER 101 //修改参数
  480. //#define SUB_CS_C_DELETEPARAMETER 102 //删除参数
  481. //
  482. //#define SUB_CS_S_ADDPARAMETER 200 //添加参数
  483. //#define SUB_CS_S_MODIFYPARAMETER 201 //修改参数
  484. //#define SUB_CS_S_DELETEPARAMETER 202 //删除参数
  485. //////////////////////////////////////////////////////////////////////////////////
  486. //添加参数
  487. //struct CMD_CS_C_AddParameter
  488. //{
  489. // WORD wServerID; //房间标识
  490. // tagAndroidParameter AndroidParameter; //机器参数
  491. //};
  492. //
  493. ////修改参数
  494. //struct CMD_CS_C_ModifyParameter
  495. //{
  496. // WORD wServerID; //房间标识
  497. // tagAndroidParameter AndroidParameter; //机器参数
  498. //};
  499. //
  500. ////删除参数
  501. //struct CMD_CS_C_DeleteParameter
  502. //{
  503. // WORD wServerID; //房间标识
  504. // DWORD dwBatchID; //批次标识
  505. //};
  506. //
  507. //
  508. ////添加参数
  509. //struct CMD_CS_S_AddParameter
  510. //{
  511. // tagAndroidParameter AndroidParameter; //机器参数
  512. //};
  513. //
  514. ////修改参数
  515. //struct CMD_CS_S_ModifyParameter
  516. //{
  517. // tagAndroidParameter AndroidParameter; //机器参数
  518. //};
  519. //
  520. ////删除参数
  521. //struct CMD_CS_S_DeleteParameter
  522. //{
  523. // DWORD dwBatchID; //批次标识
  524. //};
  525. ///---分享奖励钻石
  526. struct CMD_S_ShareAwardBeanResult
  527. {
  528. //登录信息
  529. //WORD lResultCode; //数据库查询结果
  530. //TCHAR strErrorDescribe[128]; //出错说明
  531. WORD wAwardCurrency; //赠送值
  532. DWORD dwCurrency; //元宝
  533. CMD_S_ShareAwardBeanResult()
  534. {
  535. memset(this, 0, sizeof(this));
  536. }
  537. };
  538. ///---分享奖励信息
  539. struct CMD_S_ShareAwardInfo
  540. {
  541. //登录信息
  542. //WORD lResultCode; //数据库查询结果
  543. //TCHAR strErrorDescribe[128]; //出错说明
  544. WORD wTodaySharedFlag; //用户分享标志
  545. WORD wShardAwardCurrency; //奖励值
  546. CMD_S_ShareAwardInfo()
  547. {
  548. memset(this, 0, sizeof(this));
  549. }
  550. };
  551. //////////////////////////////////////////////////////////////////////////////////
  552. #pragma pack()
  553. #endif