ekg2
 All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje Grupay Strony
icq.h
Idź do dokumentacji tego pliku.
1 #ifndef __ICQ_ICQ_H
2 #define __ICQ_ICQ_H
3 
4 #include <ekg/dynstuff.h>
5 #include <ekg/protocol.h>
6 #include <ekg/sessions.h>
7 
8 #define SNAC_HANDLER(x) int x(session_t *s, uint16_t cmd, unsigned char *buf, int len, private_data_t *data)
9 typedef int (*snac_handler_t) (session_t *, uint16_t cmd, unsigned char *, int, private_data_t * );
10 
11 #define SNAC_SUBHANDLER(x) int x(session_t *s, unsigned char *buf, int len, private_data_t *data)
12 typedef int (*snac_subhandler_t) (session_t *s, unsigned char *, int, private_data_t * );
13 
14 typedef struct {
15  int win_size; // Window size
16  int clear_lvl; // Clear level
17  int alert_lvl; // Alert level
18  int limit_lvl; // Limit level
19  int discn_lvl; // Disconnect level
20  int curr_lvl; // Current level
21  int max_lvl; // Max level
22  time_t last_time; // Last time
23  int n_groups;
24  uint32_t *groups;
25 } icq_rate_t;
26 
27 typedef struct icq_snac_reference_list_s {
29  int ref;
30  time_t timestamp;
34 
35 typedef struct {
36  int fd;
37  int fd2;
38 
39  int flap_seq; /* FLAP seq id */
40  uint16_t snac_seq; /* SNAC seq id */
41  int snacmeta_seq; /* META SNAC seq id */
42  int cookie_seq; /* Cookie seq id */
43 
44  int ssi; /* server-side-userlist? */
45  int migrate; /* client migration sequence */
46  int aim; /* aim-ok? */
47  int default_group_id; /* XXX ?wo? TEMP! We should support list of groups */
49  int xstatus; /* XXX ?wo? set it! */
52  string_t cookie; /* connection login cookie */
55  int n_rates;
58 
59 int icq_send_pkt(session_t *s, string_t buf);
60 
63 void icq_handle_disconnect(session_t *s, const char *reason, int type);
64 
65 #define icq_uid(target) protocol_uid("icq", target)
66 
67 #define MIRANDAOK 1
68 #define MIRANDA_COMPILANT_CLIENT 1
69 
70 #define ICQ_DEBUG_UNUSED_INFORMATIONS 1
71 
72 #endif