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