comparison src/protocols/oscar/family_oservice.c @ 13239:f260d319bbbc

[gaim-migrate @ 15605] Renaming a bunch of structs and typedefs to use the same naming scheme as the rest of Gaim committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 12 Feb 2006 16:02:05 +0000
parents f2431a7e33aa
children 87a7c3077c19
comparison
equal deleted inserted replaced
13238:1e855032d7bc 13239:f260d319bbbc
26 #include "oscar.h" 26 #include "oscar.h"
27 27
28 #include "cipher.h" 28 #include "cipher.h"
29 29
30 /* Subtype 0x0002 - Client Online */ 30 /* Subtype 0x0002 - Client Online */
31 faim_export int aim_clientready(aim_session_t *sess, aim_conn_t *conn) 31 faim_export int aim_clientready(OscarSession *sess, OscarConnection *conn)
32 { 32 {
33 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; 33 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
34 struct snacgroup *sg; 34 struct snacgroup *sg;
35 aim_frame_t *fr; 35 FlapFrame *fr;
36 aim_snacid_t snacid; 36 aim_snacid_t snacid;
37 37
38 if (!ins) 38 if (!ins)
39 return -EINVAL; 39 return -EINVAL;
40 40
77 * initialization routine required by all AIM connections. The next time 77 * initialization routine required by all AIM connections. The next time
78 * the client is called is the CONNINITDONE callback, which should be 78 * the client is called is the CONNINITDONE callback, which should be
79 * shortly after the rate information is acknowledged. 79 * shortly after the rate information is acknowledged.
80 * 80 *
81 */ 81 */
82 static int hostonline(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 82 static int hostonline(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
83 { 83 {
84 guint16 *families; 84 guint16 *families;
85 int famcount; 85 int famcount;
86 86
87 87
108 108
109 return 1; 109 return 1;
110 } 110 }
111 111
112 /* Subtype 0x0004 - Service request */ 112 /* Subtype 0x0004 - Service request */
113 faim_export int aim_reqservice(aim_session_t *sess, aim_conn_t *conn, guint16 serviceid) 113 faim_export int aim_reqservice(OscarSession *sess, OscarConnection *conn, guint16 serviceid)
114 { 114 {
115 return aim_genericreq_s(sess, conn, 0x0001, 0x0004, &serviceid); 115 return aim_genericreq_s(sess, conn, 0x0001, 0x0004, &serviceid);
116 } 116 }
117 117
118 /* 118 /*
119 * Join a room of name roomname. This is the first step to joining an 119 * Join a room of name roomname. This is the first step to joining an
120 * already created room. It's basically a Service Request for 120 * already created room. It's basically a Service Request for
121 * family 0x000e, with a little added on to specify the exchange and room 121 * family 0x000e, with a little added on to specify the exchange and room
122 * name. 122 * name.
123 */ 123 */
124 faim_export int aim_chat_join(aim_session_t *sess, aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance) 124 faim_export int aim_chat_join(OscarSession *sess, OscarConnection *conn, guint16 exchange, const char *roomname, guint16 instance)
125 { 125 {
126 aim_frame_t *fr; 126 FlapFrame *fr;
127 aim_snacid_t snacid; 127 aim_snacid_t snacid;
128 aim_tlvlist_t *tl = NULL; 128 aim_tlvlist_t *tl = NULL;
129 struct chatsnacinfo csi; 129 struct chatsnacinfo csi;
130 130
131 if (!sess || !conn || !roomname || !strlen(roomname)) 131 if (!sess || !conn || !roomname || !strlen(roomname))
155 155
156 return 0; 156 return 0;
157 } 157 }
158 158
159 /* Subtype 0x0005 - Redirect */ 159 /* Subtype 0x0005 - Redirect */
160 static int redirect(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 160 static int redirect(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
161 { 161 {
162 struct aim_redirect_data redir; 162 struct aim_redirect_data redir;
163 aim_rxcallback_t userfunc; 163 aim_rxcallback_t userfunc;
164 aim_tlvlist_t *tlvlist; 164 aim_tlvlist_t *tlvlist;
165 aim_snac_t *origsnac = NULL; 165 aim_snac_t *origsnac = NULL;
206 206
207 return ret; 207 return ret;
208 } 208 }
209 209
210 /* Subtype 0x0006 - Request Rate Information. */ 210 /* Subtype 0x0006 - Request Rate Information. */
211 faim_internal int aim_reqrates(aim_session_t *sess, aim_conn_t *conn) 211 faim_internal int aim_reqrates(OscarSession *sess, OscarConnection *conn)
212 { 212 {
213 return aim_genericreq_n_snacid(sess, conn, 0x0001, 0x0006); 213 return aim_genericreq_n_snacid(sess, conn, 0x0001, 0x0006);
214 } 214 }
215 215
216 /* 216 /*
316 316
317 return; 317 return;
318 } 318 }
319 319
320 /* Subtype 0x0007 - Rate Parameters */ 320 /* Subtype 0x0007 - Rate Parameters */
321 static int rateresp(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 321 static int rateresp(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
322 { 322 {
323 aim_conn_inside_t *ins = (aim_conn_inside_t *)rx->conn->inside; 323 aim_conn_inside_t *ins = (aim_conn_inside_t *)rx->conn->inside;
324 guint16 numclasses, i; 324 guint16 numclasses, i;
325 aim_rxcallback_t userfunc; 325 aim_rxcallback_t userfunc;
326 326
403 403
404 return 1; 404 return 1;
405 } 405 }
406 406
407 /* Subtype 0x0008 - Add Rate Parameter */ 407 /* Subtype 0x0008 - Add Rate Parameter */
408 faim_internal int aim_rates_addparam(aim_session_t *sess, aim_conn_t *conn) 408 faim_internal int aim_rates_addparam(OscarSession *sess, OscarConnection *conn)
409 { 409 {
410 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; 410 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
411 aim_frame_t *fr; 411 FlapFrame *fr;
412 aim_snacid_t snacid; 412 aim_snacid_t snacid;
413 struct rateclass *rc; 413 struct rateclass *rc;
414 414
415 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 512))) 415 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 512)))
416 return -ENOMEM; 416 return -ENOMEM;
425 425
426 return 0; 426 return 0;
427 } 427 }
428 428
429 /* Subtype 0x0009 - Delete Rate Parameter */ 429 /* Subtype 0x0009 - Delete Rate Parameter */
430 faim_internal int aim_rates_delparam(aim_session_t *sess, aim_conn_t *conn) 430 faim_internal int aim_rates_delparam(OscarSession *sess, OscarConnection *conn)
431 { 431 {
432 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; 432 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
433 aim_frame_t *fr; 433 FlapFrame *fr;
434 aim_snacid_t snacid; 434 aim_snacid_t snacid;
435 struct rateclass *rc; 435 struct rateclass *rc;
436 436
437 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 512))) 437 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 512)))
438 return -ENOMEM; 438 return -ENOMEM;
447 447
448 return 0; 448 return 0;
449 } 449 }
450 450
451 /* Subtype 0x000a - Rate Change */ 451 /* Subtype 0x000a - Rate Change */
452 static int ratechange(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 452 static int ratechange(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
453 { 453 {
454 int ret = 0; 454 int ret = 0;
455 aim_rxcallback_t userfunc; 455 aim_rxcallback_t userfunc;
456 guint16 code, rateclass; 456 guint16 code, rateclass;
457 guint32 currentavg, maxavg, windowsize, clear, alert, limit, disconnect; 457 guint32 currentavg, maxavg, windowsize, clear, alert, limit, disconnect;
485 * The Server Pause contains no data. 485 * The Server Pause contains no data.
486 * 486 *
487 */ 487 */
488 488
489 /* Subtype 0x000b - Service Pause */ 489 /* Subtype 0x000b - Service Pause */
490 static int serverpause(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 490 static int serverpause(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
491 { 491 {
492 int ret = 0; 492 int ret = 0;
493 aim_rxcallback_t userfunc; 493 aim_rxcallback_t userfunc;
494 494
495 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) 495 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
507 * 507 *
508 * Of course, if you don't do that, more bad things happen than just what 508 * Of course, if you don't do that, more bad things happen than just what
509 * libfaim can cause. 509 * libfaim can cause.
510 * 510 *
511 */ 511 */
512 faim_export int aim_sendpauseack(aim_session_t *sess, aim_conn_t *conn) 512 faim_export int aim_sendpauseack(OscarSession *sess, OscarConnection *conn)
513 { 513 {
514 aim_frame_t *fr; 514 FlapFrame *fr;
515 aim_snacid_t snacid; 515 aim_snacid_t snacid;
516 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; 516 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
517 struct snacgroup *sg; 517 struct snacgroup *sg;
518 518
519 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 1024))) 519 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 1024)))
534 534
535 return 0; 535 return 0;
536 } 536 }
537 537
538 /* Subtype 0x000d - Service Resume */ 538 /* Subtype 0x000d - Service Resume */
539 static int serverresume(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 539 static int serverresume(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
540 { 540 {
541 int ret = 0; 541 int ret = 0;
542 aim_rxcallback_t userfunc; 542 aim_rxcallback_t userfunc;
543 543
544 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) 544 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
546 546
547 return ret; 547 return ret;
548 } 548 }
549 549
550 /* Subtype 0x000e - Request self-info */ 550 /* Subtype 0x000e - Request self-info */
551 faim_export int aim_reqpersonalinfo(aim_session_t *sess, aim_conn_t *conn) 551 faim_export int aim_reqpersonalinfo(OscarSession *sess, OscarConnection *conn)
552 { 552 {
553 return aim_genericreq_n_snacid(sess, conn, 0x0001, 0x000e); 553 return aim_genericreq_n_snacid(sess, conn, 0x0001, 0x000e);
554 } 554 }
555 555
556 /* Subtype 0x000f - Self User Info */ 556 /* Subtype 0x000f - Self User Info */
557 static int selfinfo(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 557 static int selfinfo(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
558 { 558 {
559 int ret = 0; 559 int ret = 0;
560 aim_rxcallback_t userfunc; 560 aim_rxcallback_t userfunc;
561 aim_userinfo_t userinfo; 561 aim_userinfo_t userinfo;
562 562
569 569
570 return ret; 570 return ret;
571 } 571 }
572 572
573 /* Subtype 0x0010 - Evil Notification */ 573 /* Subtype 0x0010 - Evil Notification */
574 static int evilnotify(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 574 static int evilnotify(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
575 { 575 {
576 int ret = 0; 576 int ret = 0;
577 aim_rxcallback_t userfunc; 577 aim_rxcallback_t userfunc;
578 guint16 newevil; 578 guint16 newevil;
579 aim_userinfo_t userinfo; 579 aim_userinfo_t userinfo;
600 * never be called consecutively with a non-zero idle time. That makes 600 * never be called consecutively with a non-zero idle time. That makes
601 * OSCAR do funny things. Instead, just set it once you go idle, and then 601 * OSCAR do funny things. Instead, just set it once you go idle, and then
602 * call it again with zero when you're back. 602 * call it again with zero when you're back.
603 * 603 *
604 */ 604 */
605 faim_export int aim_srv_setidle(aim_session_t *sess, guint32 idletime) 605 faim_export int aim_srv_setidle(OscarSession *sess, guint32 idletime)
606 { 606 {
607 aim_conn_t *conn; 607 OscarConnection *conn;
608 608
609 if (!sess || !(conn = aim_conn_findbygroup(sess, OSCAR_FAMILY_BOS))) 609 if (!sess || !(conn = aim_conn_findbygroup(sess, OSCAR_FAMILY_BOS)))
610 return -EINVAL; 610 return -EINVAL;
611 611
612 return aim_genericreq_l(sess, conn, 0x0001, 0x0011, &idletime); 612 return aim_genericreq_l(sess, conn, 0x0001, 0x0011, &idletime);
618 * This is the final SNAC sent on the original connection during a migration. 618 * This is the final SNAC sent on the original connection during a migration.
619 * It contains the IP and cookie used to connect to the new server, and 619 * It contains the IP and cookie used to connect to the new server, and
620 * optionally a list of the SNAC groups being migrated. 620 * optionally a list of the SNAC groups being migrated.
621 * 621 *
622 */ 622 */
623 static int migrate(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 623 static int migrate(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
624 { 624 {
625 aim_rxcallback_t userfunc; 625 aim_rxcallback_t userfunc;
626 int ret = 0; 626 int ret = 0;
627 guint16 groupcount, i; 627 guint16 groupcount, i;
628 aim_tlvlist_t *tl; 628 aim_tlvlist_t *tl;
664 664
665 return ret; 665 return ret;
666 } 666 }
667 667
668 /* Subtype 0x0013 - Message of the Day */ 668 /* Subtype 0x0013 - Message of the Day */
669 static int motd(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 669 static int motd(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
670 { 670 {
671 aim_rxcallback_t userfunc; 671 aim_rxcallback_t userfunc;
672 char *msg = NULL; 672 char *msg = NULL;
673 int ret = 0; 673 int ret = 0;
674 aim_tlvlist_t *tlvlist; 674 aim_tlvlist_t *tlvlist;
711 * 711 *
712 * Bit 1: Allows other AIM users to see how long you've been idle. 712 * Bit 1: Allows other AIM users to see how long you've been idle.
713 * Bit 2: Allows other AIM users to see how long you've been a member. 713 * Bit 2: Allows other AIM users to see how long you've been a member.
714 * 714 *
715 */ 715 */
716 faim_export int aim_bos_setprivacyflags(aim_session_t *sess, aim_conn_t *conn, guint32 flags) 716 faim_export int aim_bos_setprivacyflags(OscarSession *sess, OscarConnection *conn, guint32 flags)
717 { 717 {
718 return aim_genericreq_l(sess, conn, 0x0001, 0x0014, &flags); 718 return aim_genericreq_l(sess, conn, 0x0001, 0x0014, &flags);
719 } 719 }
720 720
721 /* 721 /*
725 * really necessary. 725 * really necessary.
726 * 726 *
727 * Wha? No? Since when? I think WinAIM sends an empty channel 3 727 * Wha? No? Since when? I think WinAIM sends an empty channel 3
728 * SNAC as a no-op... 728 * SNAC as a no-op...
729 */ 729 */
730 faim_export int aim_nop(aim_session_t *sess, aim_conn_t *conn) 730 faim_export int aim_nop(OscarSession *sess, OscarConnection *conn)
731 { 731 {
732 return aim_genericreq_n(sess, conn, 0x0001, 0x0016); 732 return aim_genericreq_n(sess, conn, 0x0001, 0x0016);
733 } 733 }
734 734
735 /* 735 /*
743 * received, but client online versions aren't sent until quite a bit later). 743 * received, but client online versions aren't sent until quite a bit later).
744 * We can see them already making use of this by changing the format of 744 * We can see them already making use of this by changing the format of
745 * the rate information based on what version of group 1 we advertise here. 745 * the rate information based on what version of group 1 we advertise here.
746 * 746 *
747 */ 747 */
748 faim_internal int aim_setversions(aim_session_t *sess, aim_conn_t *conn) 748 faim_internal int aim_setversions(OscarSession *sess, OscarConnection *conn)
749 { 749 {
750 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside; 750 aim_conn_inside_t *ins = (aim_conn_inside_t *)conn->inside;
751 struct snacgroup *sg; 751 struct snacgroup *sg;
752 aim_frame_t *fr; 752 FlapFrame *fr;
753 aim_snacid_t snacid; 753 aim_snacid_t snacid;
754 754
755 if (!ins) 755 if (!ins)
756 return -EINVAL; 756 return -EINVAL;
757 757
779 779
780 return 0; 780 return 0;
781 } 781 }
782 782
783 /* Subtype 0x0018 - Host versions */ 783 /* Subtype 0x0018 - Host versions */
784 static int hostversions(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 784 static int hostversions(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
785 { 785 {
786 int vercount; 786 int vercount;
787 guint8 *versions; 787 guint8 *versions;
788 788
789 /* This is frivolous. (Thank you SmarterChild.) */ 789 /* This is frivolous. (Thank you SmarterChild.) */
812 * your IP address info and what not. 812 * your IP address info and what not.
813 * 813 *
814 * These are the same TLVs seen in user info. You can 814 * These are the same TLVs seen in user info. You can
815 * also set 0x0008 and 0x000c. 815 * also set 0x0008 and 0x000c.
816 */ 816 */
817 faim_export int aim_setextstatus(aim_session_t *sess, guint32 status) 817 faim_export int aim_setextstatus(OscarSession *sess, guint32 status)
818 { 818 {
819 aim_conn_t *conn; 819 OscarConnection *conn;
820 aim_frame_t *fr; 820 FlapFrame *fr;
821 aim_snacid_t snacid; 821 aim_snacid_t snacid;
822 aim_tlvlist_t *tl = NULL; 822 aim_tlvlist_t *tl = NULL;
823 guint32 data; 823 guint32 data;
824 824
825 if (!sess || !(conn = aim_conn_findbygroup(sess, OSCAR_FAMILY_ICBM))) 825 if (!sess || !(conn = aim_conn_findbygroup(sess, OSCAR_FAMILY_ICBM)))
854 * and Gaim. 854 * and Gaim.
855 * 855 *
856 * These are the same TLVs seen in user info. You can 856 * These are the same TLVs seen in user info. You can
857 * also set 0x0008 and 0x000c. 857 * also set 0x0008 and 0x000c.
858 */ 858 */
859 faim_export int aim_srv_setstatusmsg(aim_session_t *sess, const char *msg) 859 faim_export int aim_srv_setstatusmsg(OscarSession *sess, const char *msg)
860 { 860 {
861 aim_conn_t *conn; 861 OscarConnection *conn;
862 aim_frame_t *fr; 862 FlapFrame *fr;
863 aim_snacid_t snacid; 863 aim_snacid_t snacid;
864 864
865 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004))) 865 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0004)))
866 return -EINVAL; 866 return -EINVAL;
867 867
936 * 936 *
937 * Anyway, neener. We win again. 937 * Anyway, neener. We win again.
938 * 938 *
939 */ 939 */
940 /* Subtype 0x001f - Client verification */ 940 /* Subtype 0x001f - Client verification */
941 static int memrequest(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 941 static int memrequest(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
942 { 942 {
943 int ret = 0; 943 int ret = 0;
944 aim_rxcallback_t userfunc; 944 aim_rxcallback_t userfunc;
945 guint32 offset, len; 945 guint32 offset, len;
946 aim_tlvlist_t *list; 946 aim_tlvlist_t *list;
962 962
963 return ret; 963 return ret;
964 } 964 }
965 965
966 /* Subtype 0x0020 - Client verification reply */ 966 /* Subtype 0x0020 - Client verification reply */
967 faim_export int aim_sendmemblock(aim_session_t *sess, aim_conn_t *conn, guint32 offset, guint32 len, const guint8 *buf, guint8 flag) 967 faim_export int aim_sendmemblock(OscarSession *sess, OscarConnection *conn, guint32 offset, guint32 len, const guint8 *buf, guint8 flag)
968 { 968 {
969 aim_frame_t *fr; 969 FlapFrame *fr;
970 aim_snacid_t snacid; 970 aim_snacid_t snacid;
971 971
972 if (!sess || !conn) 972 if (!sess || !conn)
973 return -EINVAL; 973 return -EINVAL;
974 974
1062 * 1062 *
1063 * This is used for iChat's "available" messages, and maybe ICQ extended 1063 * This is used for iChat's "available" messages, and maybe ICQ extended
1064 * status messages? It's also used to tell the client whether or not it 1064 * status messages? It's also used to tell the client whether or not it
1065 * needs to upload an SSI buddy icon... who engineers this stuff, anyway? 1065 * needs to upload an SSI buddy icon... who engineers this stuff, anyway?
1066 */ 1066 */
1067 static int aim_parse_extstatus(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 1067 static int aim_parse_extstatus(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
1068 { 1068 {
1069 int ret = 0; 1069 int ret = 0;
1070 aim_rxcallback_t userfunc; 1070 aim_rxcallback_t userfunc;
1071 guint16 type; 1071 guint16 type;
1072 guint8 flags, length; 1072 guint8 flags, length;
1094 } 1094 }
1095 1095
1096 return ret; 1096 return ret;
1097 } 1097 }
1098 1098
1099 static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) 1099 static int snachandler(OscarSession *sess, aim_module_t *mod, FlapFrame *rx, aim_modsnac_t *snac, ByteStream *bs)
1100 { 1100 {
1101 1101
1102 if (snac->subtype == 0x0003) 1102 if (snac->subtype == 0x0003)
1103 return hostonline(sess, mod, rx, snac, bs); 1103 return hostonline(sess, mod, rx, snac, bs);
1104 else if (snac->subtype == 0x0005) 1104 else if (snac->subtype == 0x0005)
1127 return aim_parse_extstatus(sess, mod, rx, snac, bs); 1127 return aim_parse_extstatus(sess, mod, rx, snac, bs);
1128 1128
1129 return 0; 1129 return 0;
1130 } 1130 }
1131 1131
1132 faim_internal int service_modfirst(aim_session_t *sess, aim_module_t *mod) 1132 faim_internal int service_modfirst(OscarSession *sess, aim_module_t *mod)
1133 { 1133 {
1134 1134
1135 mod->family = 0x0001; 1135 mod->family = 0x0001;
1136 mod->version = 0x0003; 1136 mod->version = 0x0003;
1137 mod->toolid = 0x0110; 1137 mod->toolid = 0x0110;