/[LeafOK_CVS]/pvpgn-1.7.4/src/d2cs/d2cs_d2gs_protocol.h
ViewVC logotype

Annotation of /pvpgn-1.7.4/src/d2cs/d2cs_d2gs_protocol.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Tue Jun 6 03:41:38 2006 UTC (19 years, 9 months ago) by sysadm
Branch point for: GNU, MAIN
Content type: text/x-chdr
Initial revision

1 sysadm 1.1 /*
2     * Copyright (C) 2000,2001 Onlyer (onlyer@263.net)
3     * Copyright (C) 2001 faster (lqx@cic.tsinghua.edu.cn)
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_D2CS_D2GS_PROTOCOL_H
20     #define INCLUDED_D2CS_D2GS_PROTOCOL_H
21     /*
22     * there is only little comments in this header file
23     * check the documents for more details
24     */
25    
26     /* include your own header files here */
27     #ifdef D2CS
28     # include "common/bn_type.h"
29     #endif
30    
31     #ifdef D2GS
32     # include "bn_types.h"
33     #pragma pack(push, pack01, 1)
34     #endif
35    
36     typedef struct
37     {
38     bn_short size;
39     bn_short type;
40     bn_int seqno; /* seqno, set by the sender */
41     } t_d2cs_d2gs_header;
42    
43     typedef struct
44     {
45     t_d2cs_d2gs_header h;
46     } t_d2cs_d2gs_generic;
47    
48     #define D2CS_D2GS_AUTHREQ 0x10
49     typedef struct
50     {
51     t_d2cs_d2gs_header h;
52     bn_int sessionnum;
53     bn_int signlen;
54     /* realm name */
55     /* key check sum, maybe 128 bytes */
56     } t_d2cs_d2gs_authreq;
57    
58     #define D2GS_D2CS_AUTHREPLY 0x11
59     typedef struct
60     {
61     t_d2cs_d2gs_header h;
62     bn_int version;
63     bn_int checksum;
64     bn_int randnum;
65     bn_int signlen;
66     bn_basic sign[128];
67     } t_d2gs_d2cs_authreply;
68    
69     #define D2CS_D2GS_AUTHREPLY 0x11
70     typedef struct
71     {
72     t_d2cs_d2gs_header h;
73     bn_int reply;
74     } t_d2cs_d2gs_authreply;
75     #define D2CS_D2GS_AUTHREPLY_SUCCEED 0x00
76     #define D2CS_D2GS_AUTHREPLY_BAD_VERSION 0x01
77     #define D2CS_D2GS_AUTHREPLY_BAD_CHECKSUM 0x02
78    
79     #define D2GS_D2CS_SETGSINFO 0x12
80     typedef struct
81     {
82     t_d2cs_d2gs_header h;
83     bn_int maxgame;
84     bn_int gameflag;
85     } t_d2gs_d2cs_setgsinfo;
86    
87     #define D2CS_D2GS_SETGSINFO 0x12
88     typedef struct
89     {
90     t_d2cs_d2gs_header h;
91     bn_int maxgame;
92     bn_int gameflag;
93     } t_d2cs_d2gs_setgsinfo;
94    
95     #define D2CS_D2GS_ECHOREQ 0x13
96     typedef struct
97     {
98     t_d2cs_d2gs_header h;
99     } t_d2cs_d2gs_echoreq;
100    
101     #define D2GS_D2CS_ECHOREPLY 0x13
102     typedef struct
103     {
104     t_d2cs_d2gs_header h;
105     } t_d2gs_d2cs_echoreply;
106    
107     #define D2CS_D2GS_CONTROL 0x14
108     typedef struct
109     {
110     t_d2cs_d2gs_header h;
111     bn_int cmd;
112     bn_int value;
113     } t_d2cs_d2gs_control;
114     #define D2CS_D2GS_CONTROL_CMD_RESTART 0x01
115     #define D2CS_D2GS_CONTROL_CMD_SHUTDOWN 0x02
116     #define D2CS_D2GS_CONTROL_VALUE_DEFAULT 0x00
117    
118     #define D2CS_D2GS_SETINITINFO 0x15
119     typedef struct
120     {
121     t_d2cs_d2gs_header h;
122     bn_int time;
123     bn_int gs_id;
124     bn_int ac_version;
125     /* ac_checksum */
126     } t_d2cs_d2gs_setinitinfo;
127    
128     #define D2CS_D2GS_SETCONFFILE 0x16
129     typedef struct
130     {
131     t_d2cs_d2gs_header h;
132     bn_int size;
133     bn_int reserved1;
134     /* conf file (null terminated string) */
135     } t_d2cs_d2gs_setconffile;
136    
137     #define D2CS_D2GS_CREATEGAMEREQ 0x20
138     typedef struct
139     {
140     t_d2cs_d2gs_header h;
141     bn_byte ladder;
142     bn_byte expansion;
143     bn_byte difficulty;
144     bn_byte hardcore;
145     /* gamename */
146     /* gamepass */
147     /* gamedesc */
148     /* create by acctname */
149     /* create by charname */
150     /* create by ip address(string) */
151     } t_d2cs_d2gs_creategamereq;
152     #define D2GAME_DIFFICULTY_NORMAL 0
153     #define D2GAME_DIFFICULTY_NIGHTMARE 1
154     #define D2GAME_DIFFICULTY_HELL 2
155    
156     #define D2GS_D2CS_CREATEGAMEREPLY 0x20
157     typedef struct
158     {
159     t_d2cs_d2gs_header h;
160     bn_int result;
161     bn_int gameid;
162     } t_d2gs_d2cs_creategamereply;
163     #define D2GS_D2CS_CREATEGAME_SUCCEED 0
164     #define D2GS_D2CS_CREATEGAME_FAILED 1
165    
166    
167     #define D2CS_D2GS_JOINGAMEREQ 0x21
168     typedef struct
169     {
170     t_d2cs_d2gs_header h;
171     bn_int gameid;
172     bn_int token;
173     /* character name */
174     /* account name */
175     /* client ip address(string) */
176     } t_d2cs_d2gs_joingamereq;
177    
178     #define D2GS_D2CS_JOINGAMEREPLY 0x21
179     typedef struct
180     {
181     t_d2cs_d2gs_header h;
182     bn_int result;
183     bn_int gameid;
184     } t_d2gs_d2cs_joingamereply;
185     #define D2GS_D2CS_JOINGAME_SUCCEED 0
186     #define D2GS_D2CS_JOINGAME_FAILED 1
187     #define D2GS_D2CS_JOINGAME_GAME_FULL 2
188    
189     #define D2GS_D2CS_UPDATEGAMEINFO 0x22
190     typedef struct
191     {
192     t_d2cs_d2gs_header h;
193     bn_int flag;
194     bn_int gameid;
195     bn_int charlevel;
196     bn_int charclass;
197     /* charname */
198     } t_d2gs_d2cs_updategameinfo;
199     #define D2GS_D2CS_UPDATEGAMEINFO_FLAG_UPDATE 0
200     #define D2GS_D2CS_UPDATEGAMEINFO_FLAG_ENTER 1
201     #define D2GS_D2CS_UPDATEGAMEINFO_FLAG_LEAVE 2
202    
203     #define D2GS_D2CS_CLOSEGAME 0x23
204     typedef struct
205     {
206     t_d2cs_d2gs_header h;
207     bn_int gameid;
208     } t_d2gs_d2cs_closegame;
209    
210     #ifdef D2GS
211     #pragma pack(pop, pack01)
212     #endif
213    
214     #endif

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1