Changeset 6042a54 for protocols/oscar/icq.c
- Timestamp:
- 2012-10-19T23:38:33Z (12 years ago)
- Branches:
- master
- Children:
- 509cf60
- Parents:
- 386042c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
protocols/oscar/icq.c
r386042c r6042a54 65 65 aimbs_putle16(&fr->data, 0x003e); /* I command thee. */ 66 66 aimbs_putle16(&fr->data, snacid); /* eh. */ 67 68 aim_tx_enqueue(sess, fr);69 70 return 0;71 }72 73 int aim_icq_sendxmlreq(aim_session_t *sess, const char *xml)74 {75 aim_conn_t *conn;76 aim_frame_t *fr;77 aim_snacid_t snacid;78 int bslen;79 80 if (!xml || !strlen(xml))81 return -EINVAL;82 83 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015)))84 return -EINVAL;85 86 bslen = 2 + 10 + 2 + strlen(xml) + 1;87 88 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + bslen)))89 return -ENOMEM;90 91 snacid = aim_cachesnac(sess, 0x0015, 0x0002, 0x0000, NULL, 0);92 aim_putsnac(&fr->data, 0x0015, 0x0002, 0x0000, snacid);93 94 /* For simplicity, don't bother using a tlvlist */95 aimbs_put16(&fr->data, 0x0001);96 aimbs_put16(&fr->data, bslen);97 98 aimbs_putle16(&fr->data, bslen - 2);99 aimbs_putle32(&fr->data, atoi(sess->sn));100 aimbs_putle16(&fr->data, 0x07d0); /* I command thee. */101 aimbs_putle16(&fr->data, snacid); /* eh. */102 aimbs_putle16(&fr->data, 0x0998); /* shrug. */103 aimbs_putle16(&fr->data, strlen(xml) + 1);104 aimbs_putraw(&fr->data, (guint8 *)xml, strlen(xml) + 1);105 67 106 68 aim_tx_enqueue(sess, fr); … … 152 114 153 115 return 0; 154 }155 156 int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin)157 {158 aim_conn_t *conn;159 aim_frame_t *fr;160 aim_snacid_t snacid;161 int bslen;162 163 if (!uin || uin[0] < '0' || uin[0] > '9')164 return -EINVAL;165 166 if (!sess || !(conn = aim_conn_findbygroup(sess, 0x0015)))167 return -EINVAL;168 169 bslen = 2 + 4 + 2 + 2 + 2 + 4;170 171 if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4 + bslen)))172 return -ENOMEM;173 174 snacid = aim_cachesnac(sess, 0x0015, 0x0002, 0x0000, NULL, 0);175 aim_putsnac(&fr->data, 0x0015, 0x0002, 0x0000, snacid);176 177 /* For simplicity, don't bother using a tlvlist */178 aimbs_put16(&fr->data, 0x0001);179 aimbs_put16(&fr->data, bslen);180 181 aimbs_putle16(&fr->data, bslen - 2);182 aimbs_putle32(&fr->data, atoi(sess->sn));183 aimbs_putle16(&fr->data, 0x07d0); /* I command thee. */184 aimbs_putle16(&fr->data, snacid); /* eh. */185 aimbs_putle16(&fr->data, 0x051f); /* shrug. */186 aimbs_putle32(&fr->data, atoi(uin));187 188 aim_tx_enqueue(sess, fr);189 190 return 0;191 116 } 192 117
Note: See TracChangeset
for help on using the changeset viewer.