]> andersk Git - libfaim.git/blame - aim_buddylist.c
- Thu Aug 17 23:08:08 UTC 2000
[libfaim.git] / aim_buddylist.c
CommitLineData
9de3ca7e 1
a25832e6 2#include <faim/aim.h>
9de3ca7e 3
4/*
5 * aim_add_buddy()
6 *
7 * Adds a single buddy to your buddy list after login.
8 *
9 */
a25832e6 10u_long aim_add_buddy(struct aim_session_t *sess,
11 struct aim_conn_t *conn,
12 char *sn )
9de3ca7e 13{
5b79dc93 14 struct command_tx_struct *newpacket;
15 int i;
9de3ca7e 16
5b79dc93 17 if(!sn)
18 return -1;
9de3ca7e 19
b69540e3 20 if (!(newpacket = aim_tx_new(AIM_FRAMETYPE_OSCAR, 0x0002, conn, 10+1+strlen(sn))))
5b79dc93 21 return -1;
9de3ca7e 22
5b79dc93 23 newpacket->lock = 1;
9de3ca7e 24
5b79dc93 25 i = aim_putsnac(newpacket->data, 0x0003, 0x0004, 0x0000, sess->snac_nextid);
26 i += aimutil_put8(newpacket->data+i, strlen(sn));
27 i += aimutil_putstr(newpacket->data+i, sn, strlen(sn));
9de3ca7e 28
5b79dc93 29 aim_tx_enqueue(sess, newpacket );
9de3ca7e 30
31 {
32 struct aim_snac_t snac;
33
a25832e6 34 snac.id = sess->snac_nextid;
9de3ca7e 35 snac.family = 0x0003;
36 snac.type = 0x0004;
37 snac.flags = 0x0000;
38
39 snac.data = malloc( strlen( sn ) + 1 );
40 memcpy( snac.data, sn, strlen( sn ) + 1 );
41
a25832e6 42 aim_newsnac(sess, &snac);
9de3ca7e 43 }
44
a25832e6 45 return( sess->snac_nextid++ );
9de3ca7e 46}
47
a25832e6 48u_long aim_remove_buddy(struct aim_session_t *sess,
49 struct aim_conn_t *conn,
50 char *sn )
9de3ca7e 51{
5b79dc93 52 struct command_tx_struct *newpacket;
53 int i;
9de3ca7e 54
5b79dc93 55 if(!sn)
56 return -1;
9de3ca7e 57
b69540e3 58 if (!(newpacket = aim_tx_new(AIM_FRAMETYPE_OSCAR, 0x0002, conn, 10+1+strlen(sn))))
5b79dc93 59 return -1;
9de3ca7e 60
5b79dc93 61 newpacket->lock = 1;
9de3ca7e 62
5b79dc93 63 i = aim_putsnac(newpacket->data, 0x0003, 0x0005, 0x0000, sess->snac_nextid);
9de3ca7e 64
5b79dc93 65 i += aimutil_put8(newpacket->data+i, strlen(sn));
66 i += aimutil_putstr(newpacket->data+i, sn, strlen(sn));
9de3ca7e 67
5b79dc93 68 aim_tx_enqueue(sess, newpacket);
9de3ca7e 69
70 {
71 struct aim_snac_t snac;
72
a25832e6 73 snac.id = sess->snac_nextid;
9de3ca7e 74 snac.family = 0x0003;
75 snac.type = 0x0005;
76 snac.flags = 0x0000;
77
78 snac.data = malloc( strlen( sn ) + 1 );
79 memcpy( snac.data, sn, strlen( sn ) + 1 );
80
a25832e6 81 aim_newsnac(sess, &snac );
9de3ca7e 82 }
83
a25832e6 84 return( sess->snac_nextid++ );
9de3ca7e 85}
86
This page took 0.619868 seconds and 5 git commands to generate.