dbspacket.h
上传用户:tany51
上传日期:2013-06-12
资源大小:1397k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*
  2.  * Copyright (C) 2001           faster  (lqx@cic.tsinghua.edu.cn)
  3.  * Copyright (C) 2001 sousou (liupeng.cs@263.net)
  4.  *
  5.  * This program is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU General Public License
  7.  * as published by the Free Software Foundation; either version 2
  8.  * of the License, or (at your option) any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  18.  */
  19. #ifndef INCLUDED_DBSPACKET_H
  20. #define INCLUDED_DBSPACKET_H
  21. #include "dbserver.h"
  22. #include "common/bn_type.h"
  23. /* #pragma pack(1) */
  24.   
  25. typedef struct { 
  26.   bn_short  size;
  27.   bn_short  type;
  28.   bn_int    seqno;
  29. } t_d2dbs_d2gs_header; 
  30.   
  31. typedef struct { 
  32.   bn_byte   class; 
  33. } t_d2gs_d2dbs_connect; 
  34. #define CONNECT_CLASS_D2GS_TO_D2DBS    0x65 
  35.  
  36. #define D2GS_D2DBS_SAVE_DATA_REQUEST    0x30 
  37. typedef struct { 
  38.   t_d2dbs_d2gs_header  h; 
  39.   bn_short      datatype;
  40.   bn_short      datalen;
  41.   /* AccountName */
  42.   /* CharName */
  43.   /* data */
  44. } t_d2gs_d2dbs_save_data_request; 
  45. #define D2GS_DATA_CHARSAVE    0x01
  46. #define D2GS_DATA_PORTRAIT    0x02 
  47.   
  48. #define D2DBS_D2GS_SAVE_DATA_REPLY      0x30 
  49. typedef struct { 
  50.   t_d2dbs_d2gs_header  h; 
  51.   bn_int        result; 
  52.   bn_short      datatype;
  53.   /* CharName */
  54. } t_d2dbs_d2gs_save_data_reply; 
  55. #define D2DBS_SAVE_DATA_SUCCESS    0 
  56. #define D2DBS_SAVE_DATA_FAILED    1 
  57.   
  58. #define D2GS_D2DBS_GET_DATA_REQUEST    0x31 
  59. typedef struct { 
  60.   t_d2dbs_d2gs_header  h; 
  61.   bn_short      datatype;
  62.   /* AccountName */
  63.   /* CharName */
  64. } t_d2gs_d2dbs_get_data_request; 
  65.   
  66. #define D2DBS_D2GS_GET_DATA_REPLY    0x31 
  67. typedef struct { 
  68.   t_d2dbs_d2gs_header  h; 
  69.   bn_int        result; 
  70.   bn_int    charcreatetime;
  71.   bn_int    allowladder;
  72.   bn_short      datatype;
  73.   bn_short      datalen; 
  74.   /* CharName */
  75.   /* data */
  76. } t_d2dbs_d2gs_get_data_reply; 
  77. #define D2DBS_GET_DATA_SUCCESS    0 
  78. #define D2DBS_GET_DATA_FAILED    1 
  79. #define D2DBS_GET_DATA_CHARLOCKED 2
  80. #define D2GS_D2DBS_UPDATE_LADDER  0x32 
  81. typedef struct { 
  82.  t_d2dbs_d2gs_header h; 
  83.  bn_int  charlevel; 
  84.  bn_int  charexplow; 
  85.  bn_int  charexphigh; 
  86.  bn_short charclass; 
  87.  bn_short charstatus; 
  88.  /* CharName */
  89.  /* RealmName */
  90. } t_d2gs_d2dbs_update_ladder; 
  91. #define D2GS_D2DBS_CHAR_LOCK  0x33 
  92. typedef struct { 
  93.  t_d2dbs_d2gs_header h; 
  94.  bn_int  lockstatus; 
  95.  /* CharName */
  96.  /* RealmName */
  97. } t_d2gs_d2dbs_char_lock; 
  98. #define D2DBS_D2GS_ECHOREQUEST 0x34
  99. typedef struct {
  100. t_d2dbs_d2gs_header h;
  101. } t_d2dbs_d2gs_echorequest;
  102. #define D2GS_D2DBS_ECHOREPLY 0x34
  103. typedef struct {
  104. t_d2dbs_d2gs_header h;
  105. } t_d2gs_d2dbs_echoreply;
  106. #endif
  107. extern int dbs_packet_handle(t_d2dbs_connection * conn); 
  108. extern int dbs_keepalive(void);
  109. extern int dbs_check_timeout(void);