… | |
… | |
265 | }; |
265 | }; |
266 | |
266 | |
267 | /* 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. */ |
268 | struct SockList |
268 | struct SockList |
269 | { |
269 | { |
270 | SockList () : buf (0), len (0) { } |
|
|
271 | SockList (int size) : buf ((uint8 *)malloc (size)), len (0) { } |
270 | SockList (int size) : buf ((uint8 *)malloc (size)), len (0) { } |
272 | |
271 | |
273 | void reset () { len = 0; } |
272 | void reset () { len = 0; } |
274 | int length () const { return len; } |
273 | int length () const { return len; } |
275 | |
274 | |
… | |
… | |
298 | public: |
297 | public: |
299 | uint8 *buf; |
298 | uint8 *buf; |
300 | int len; |
299 | int len; |
301 | }; |
300 | }; |
302 | |
301 | |
303 | inline void SockList_AddChar (SockList *sl, uint8 data) { *sl << data; } |
|
|
304 | inline void SockList_AddShort (SockList *sl, uint16 data) { *sl << data; } |
|
|
305 | inline void SockList_AddInt (SockList *sl, uint32 data) { *sl << data; } |
|
|
306 | inline void SockList_AddInt64 (SockList *sl, uint64 data) { *sl << data; } |
|
|
307 | |
|
|
308 | inline uint16 net_uint16 (uint8 *data) { return (data [0] << 8) | data [1]; } |
302 | inline uint16 net_uint16 (uint8 *data) { return (data [0] << 8) | data [1]; } |
309 | inline uint32 net_uint32 (uint8 *data) { return (net_uint16 (data) << 16) | net_uint16 (data + 2); } |
303 | inline uint32 net_uint32 (uint8 *data) { return (net_uint16 (data) << 16) | net_uint16 (data + 2); } |
310 | inline sint16 net_sint16 (uint8 *data) { return sint16 (net_uint16 (data)); } |
304 | inline sint16 net_sint16 (uint8 *data) { return sint16 (net_uint16 (data)); } |
311 | inline sint16 net_sint32 (uint8 *data) { return sint32 (net_uint32 (data)); } |
305 | inline sint16 net_sint32 (uint8 *data) { return sint32 (net_uint32 (data)); } |
312 | |
306 | |