ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/newclient.h
(Generate patch)

Comparing deliantra/server/include/newclient.h (file contents):
Revision 1.6 by root, Sat Sep 16 22:06:17 2006 UTC vs.
Revision 1.12 by root, Thu Dec 14 01:12:34 2006 UTC

232#define UPD_SP_DAMAGE 0x04 232#define UPD_SP_DAMAGE 0x04
233 233
234#define SOUND_NORMAL 0 234#define SOUND_NORMAL 0
235#define SOUND_SPELL 1 235#define SOUND_SPELL 1
236 236
237struct data
238{
239 const void *ptr;
240 unsigned int len;
241
242 data (const void *ptr, int len) : len (len), ptr (ptr) { }
243 data (const char *str) : len (strlen (str ? str : 0)), ptr ((void *)str) { }
244 data (const shstr &sh) : len (sh.length ()), ptr ((void *)&sh) { }
245};
246
247struct data8
248{
249 const void *ptr;
250 unsigned int len;
251
252 data8 (const void *ptr, int len) : len (len), ptr (ptr) { }
253 data8 (const char *str) : len (strlen (str ? str : 0)), ptr ((void *)str) { }
254 data8 (const shstr &sh) : len (sh.length ()), ptr ((void *)&sh) { }
255};
256
257struct data16
258{
259 const void *ptr;
260 unsigned int len;
261
262 data16 (const void *ptr, int len) : len (len), ptr (ptr) { }
263 data16 (const char *str) : len (strlen (str ? str : 0)), ptr ((void *)str) { }
264 data16 (const shstr &sh) : len (sh.length ()), ptr ((void *)&sh) { }
265};
266
237/* Contains the base information we use to make up a packet we want to send. */ 267/* Contains the base information we use to make up a packet we want to send. */
238struct SockList 268struct SockList
239{ 269{
270 SockList (int size) : buf ((uint8 *)malloc (size)), len (0) { }
271
272 void reset () { len = 0; }
273 int length () const { return len; }
274
275 SockList &operator <<(uint8 v) { buf [len++] = v; return *this; }
276
277 SockList &operator <<(uint16 v) { return *this << uint8 (v >> 8) << uint8 (v); }
278 SockList &operator <<(uint32 v) { return *this << uint16 (v >> 16) << uint16 (v); }
279 SockList &operator <<(uint64 v) { return *this << uint32 (v >> 32) << uint32 (v); }
280
281 SockList &operator <<(sint8 v) { return *this << (uint8 )v; }
282 SockList &operator <<(sint16 v) { return *this << (uint16)v; }
283 SockList &operator <<(sint32 v) { return *this << (uint32)v; }
284 SockList &operator <<(sint64 v) { return *this << (uint64)v; }
285
286 SockList &operator <<(const data &v);
287 SockList &operator <<(const data8 &v);
288 SockList &operator <<(const data16 &v);
289
290 SockList &operator <<(const char *v);
291 SockList &operator <<(const shstr &sh) { return *this << data (&sh, sh.length ()); }
292
293 void printf (const char *format, ...);
294
295 void free () { ::free (buf); }
296
297public:
298 uint8 *buf;
240 int len; 299 int len;
241 unsigned char *buf;
242}; 300};
243 301
244inline void SockList_AddChar (SockList *sl, char c) 302inline uint16 net_uint16 (uint8 *data) { return (data [0] << 8) | data [1]; }
245{ 303inline uint32 net_uint32 (uint8 *data) { return (net_uint16 (data) << 16) | net_uint16 (data + 2); }
246 sl->buf[sl->len++]=c; 304inline sint16 net_sint16 (uint8 *data) { return sint16 (net_uint16 (data)); }
247} 305inline sint16 net_sint32 (uint8 *data) { return sint32 (net_uint32 (data)); }
248
249inline void SockList_AddShort (SockList *sl, unsigned short data)
250{
251 sl->buf[sl->len++] = data >> 8;
252 sl->buf[sl->len++] = data;
253}
254 306
255struct CS_Stats 307struct CS_Stats
256{ 308{
257 int ibytes; /* ibytes, obytes are bytes in, out */ 309 int ibytes; /* ibytes, obytes are bytes in, out */
258 int obytes; 310 int obytes;
259 short max_conn; /* Maximum connections received */ 311 short max_conn; /* Maximum connections received */
260 time_t time_start; /* When we started logging this */ 312 time_t time_start; /* When we started logging this */
261}; 313};
262 314
263extern CS_Stats cst_tot, cst_lst; 315extern CS_Stats cst_tot, cst_lst;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines