… | |
… | |
38 | * or server area. But keeping one common file should make things |
38 | * or server area. But keeping one common file should make things |
39 | * more reliable, as both the client and server will definately be |
39 | * more reliable, as both the client and server will definately be |
40 | * talking about the same values. |
40 | * talking about the same values. |
41 | */ |
41 | */ |
42 | |
42 | |
43 | |
|
|
44 | #ifndef NETWORK_H |
43 | #ifndef NETWORK_H |
45 | #define NETWORK_H |
44 | #define NETWORK_H |
46 | |
45 | |
47 | //+GPL |
46 | //+GPL |
48 | |
47 | |
49 | #include <cstdarg> |
48 | #include <cstdarg> |
|
|
49 | |
|
|
50 | #include "compiler.h" |
50 | |
51 | |
51 | /* Maximum size of any packet we expect. |
52 | /* Maximum size of any packet we expect. |
52 | * |
53 | * |
53 | * The size must be the same in the server and the client (stupid). |
54 | * The size must be the same in the server and the client (stupid). |
54 | * TODO: make the actual network configurable per client and use 2**16. |
55 | * TODO: make the actual network configurable per client and use 2**16. |
… | |
… | |
301 | packet &operator <<(shstr_tmp sh) { return *this << data (sh); } |
302 | packet &operator <<(shstr_tmp sh) { return *this << data (sh); } |
302 | packet &operator <<(const std::string &s) { return *this << data (s.data (), s.size ()); } |
303 | packet &operator <<(const std::string &s) { return *this << data (s.data (), s.size ()); } |
303 | |
304 | |
304 | void vprintf (const char *format, va_list ap); |
305 | void vprintf (const char *format, va_list ap); |
305 | |
306 | |
306 | void printf (const char *format, ...) |
307 | void printf (const char *format, ...) attribute ((format (printf, 2, 3))) |
307 | { |
308 | { |
308 | va_list ap; |
309 | va_list ap; |
309 | va_start (ap, format); |
310 | va_start (ap, format); |
310 | vprintf (format, ap); |
311 | vprintf (format, ap); |
311 | va_end (ap); |
312 | va_end (ap); |