Rev 5725 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5725 | serge | 1 | #ifndef __HTTP_H__ |
2 | #define __HTTP_H__ |
||
3 | |||
4 | #define FLAG_GOT_ALL_DATA (1 << 2) |
||
5 | |||
6 | #define FLAG_STREAM (1 << 9) |
||
7 | #define FLAG_REUSE_BUFFER (1 << 10) |
||
8 | |||
9 | |||
10 | typedef struct |
||
11 | { |
||
12 | int socket; // socket on which the actual transfer happens |
||
13 | int flags; // flags, reflects status of the transfer using bitflags |
||
14 | int write_ptr; // internal use only (where to write new data in buffer) |
||
15 | int buffer_length; // internal use only (number of available bytes in buffer) |
||
16 | int chunk_ptr; // internal use only (where the next chunk begins) |
||
17 | int timestamp; // internal use only (when last data was received) |
||
18 | |||
19 | int status; // HTTP status |
||
20 | int header_length; // length of HTTP header |
||
21 | void *content_ptr; // ptr to content |
||
22 | int content_length; // total length of HTTP content |
||
23 | int content_received; // number of currently received content bytes |
||
24 | }http_t; |
||
25 | |||
26 | int http_init(); |
||
27 | int http_load(char *buf, const char *path); |
||
28 | |||
5731 | serge | 29 | http_t* __stdcall http_get(const char *url, http_t *conn, int flags, const char *header); |
30 | int __stdcall http_receive(http_t *conn); |
||
31 | void __stdcall http_free(http_t *conn); |
||
5725 | serge | 32 | |
33 | static inline int http_receive_with_retry(http_t *http, int retry_count) |
||
34 | { |
||
35 | int err; |
||
36 | |||
37 | do |
||
38 | { |
||
5731 | serge | 39 | err = http_receive(http); |
40 | if(err) |
||
41 | wait_for_event(1); |
||
5725 | serge | 42 | |
43 | }while(err && --retry_count); |
||
44 | |||
45 | return err; |
||
46 | } |
||
47 | |||
5731 | serge | 48 | void __stdcall con_init(unsigned w_w, unsigned w_h, unsigned s_w, unsigned s_h, const char* t); |
49 | void __stdcall con_exit(char bCloseWindow); |
||
50 | unsigned __stdcall con_get_flags(void); |
||
51 | unsigned __stdcall con_set_flags(unsigned new_flags); |
||
52 | void __stdcall con_cls(void); |
||
53 | void __stdcall con_write_asciiz(const char* string); |
||
54 | |||
55 | |||
5725 | serge | 56 | #endif /* __HTTP_H__ */><>><>><> |