]>
Commit | Line | Data |
---|---|---|
9f1a4013 | 1 | |
2 | #define FAIM_INTERNAL | |
3 | #include <aim.h> | |
4 | ||
d410cf58 | 5 | static int reportinterval(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) |
9f1a4013 | 6 | { |
d410cf58 | 7 | fu16_t interval; |
8 | aim_rxcallback_t userfunc; | |
9f1a4013 | 9 | |
d410cf58 | 10 | interval = aimbs_get16(bs); |
9f1a4013 | 11 | |
d410cf58 | 12 | if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) |
13 | return userfunc(sess, rx, interval); | |
9f1a4013 | 14 | |
d410cf58 | 15 | return 0; |
9f1a4013 | 16 | } |
17 | ||
d410cf58 | 18 | static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) |
9f1a4013 | 19 | { |
20 | ||
d410cf58 | 21 | if (snac->subtype == 0x0002) |
22 | return reportinterval(sess, mod, rx, snac, bs); | |
9f1a4013 | 23 | |
d410cf58 | 24 | return 0; |
9f1a4013 | 25 | } |
26 | ||
d410cf58 | 27 | faim_internal int stats_modfirst(aim_session_t *sess, aim_module_t *mod) |
9f1a4013 | 28 | { |
29 | ||
d410cf58 | 30 | mod->family = 0x000b; |
31 | mod->version = 0x0000; | |
32 | mod->flags = 0; | |
33 | strncpy(mod->name, "stats", sizeof(mod->name)); | |
34 | mod->snachandler = snachandler; | |
9f1a4013 | 35 | |
d410cf58 | 36 | return 0; |
9f1a4013 | 37 | } |