d3372da9 |
1 | #ifndef _UILIB_H |
2 | #define _UILIB_H |
3 | |
4 | #include <wchar.h> |
5 | |
6 | struct dc_response |
7 | { |
8 | struct dc_response *next, *prev; |
9 | int code, tag; |
10 | wchar_t *cmdname; |
11 | void *data; |
12 | void *internal; |
13 | struct |
14 | { |
15 | int argc; |
16 | wchar_t **argv; |
17 | } *rlines; |
113b3e9a |
18 | size_t linessize; |
d3372da9 |
19 | int numlines; |
20 | int curline; |
21 | }; |
22 | |
23 | struct dc_intresp |
24 | { |
25 | int code; |
26 | int argc; |
27 | struct |
28 | { |
29 | int type; |
30 | union |
31 | { |
32 | int num; |
33 | wchar_t *str; |
34 | double flnum; |
35 | } val; |
36 | } *argv; |
37 | }; |
38 | |
39 | int dc_init(void); |
40 | void dc_cleanup(void); |
41 | void dc_disconnect(void); |
42 | void dc_freeresp(struct dc_response *resp); |
43 | struct dc_response *dc_getresp(void); |
44 | struct dc_response *dc_gettaggedresp(int tag); |
45 | struct dc_response *dc_gettaggedrespsync(int tag); |
46 | int dc_wantwrite(void); |
47 | int dc_getstate(void); |
48 | int dc_queuecmd(int (*callback)(struct dc_response *), void *data, ...); |
49 | int dc_handleread(void); |
50 | int dc_handlewrite(void); |
51 | int dc_connect(char *host, int port); |
52 | struct dc_intresp *dc_interpret(struct dc_response *resp); |
53 | void dc_freeires(struct dc_intresp *ires); |
54 | const char *dc_gethostname(void); |
55 | |
56 | #endif |