X-Git-Url: http://andersk.mit.edu/gitweb/libfaim.git/blobdiff_plain/70b889c543b058eddf2f369069d123c137ced02b..d410cf58c1b99101922ced3773b50c72e1dbfe5d:/src/adverts.c diff --git a/src/adverts.c b/src/adverts.c index 3f717c6..0c40e73 100644 --- a/src/adverts.c +++ b/src/adverts.c @@ -6,38 +6,34 @@ #define FAIM_INTERNAL #include -faim_export unsigned long aim_ads_clientready(struct aim_session_t *sess, - struct aim_conn_t *conn) +faim_export int aim_ads_clientready(aim_session_t *sess, aim_conn_t *conn) { - struct command_tx_struct *newpacket; - int i; + aim_frame_t *fr; + aim_snacid_t snacid; + + if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x0002, 0x1a))) + return -ENOMEM; - if (!(newpacket = aim_tx_new(sess, conn, AIM_FRAMETYPE_OSCAR, 0x0002, 0x1a))) - return -1; + snacid = aim_cachesnac(sess, 0x0001, 0x0002, 0x0000, NULL, 0); + aim_putsnac(&fr->data, 0x0001, 0x0002, 0x0000, snacid); - newpacket->lock = 1; + aimbs_put16(&fr->data, 0x0001); + aimbs_put16(&fr->data, 0x0002); - i = aim_putsnac(newpacket->data, 0x0001, 0x0002, 0x0000, sess->snac_nextid); + aimbs_put16(&fr->data, 0x0001); + aimbs_put16(&fr->data, 0x0013); - i+= aimutil_put16(newpacket->data+i, 0x0001); - i+= aimutil_put16(newpacket->data+i, 0x0002); + aimbs_put16(&fr->data, 0x0005); + aimbs_put16(&fr->data, 0x0001); + aimbs_put16(&fr->data, 0x0001); + aimbs_put16(&fr->data, 0x0001); - i+= aimutil_put16(newpacket->data+i, 0x0001); - i+= aimutil_put16(newpacket->data+i, 0x0013); + aim_tx_enqueue(sess, fr); - i+= aimutil_put16(newpacket->data+i, 0x0005); - i+= aimutil_put16(newpacket->data+i, 0x0001); - i+= aimutil_put16(newpacket->data+i, 0x0001); - i+= aimutil_put16(newpacket->data+i, 0x0001); - - newpacket->lock = 0; - aim_tx_enqueue(sess, newpacket); - - return (sess->snac_nextid++); + return 0; } -faim_export unsigned long aim_ads_requestads(struct aim_session_t *sess, - struct aim_conn_t *conn) +faim_export int aim_ads_requestads(aim_session_t *sess, aim_conn_t *conn) { - return aim_genericreq_n(sess, conn, 0x0005, 0x0002); + return aim_genericreq_n(sess, conn, 0x0005, 0x0002); }