]> andersk Git - libfaim.git/blame - aim_buddylist.c
- Sun Apr 2 01:45:15 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{
14 struct command_tx_struct newpacket;
15
16 if( !sn )
17 return -1;
18
19 if (conn)
20 newpacket.conn = conn;
21 else
a25832e6 22 newpacket.conn = aim_getconn_type(sess, AIM_CONN_TYPE_BOS);
9de3ca7e 23
24 newpacket.lock = 1;
25 newpacket.type = 0x0002;
26 newpacket.commandlen = 11 + strlen( sn );
27 newpacket.data = (char *)malloc( newpacket.commandlen );
28
a25832e6 29 aim_putsnac(newpacket.data, 0x0003, 0x0004, 0x0000, sess->snac_nextid);
9de3ca7e 30
31 /* length of screenname */
32 newpacket.data[10] = strlen( sn );
33
34 memcpy( &(newpacket.data[11]), sn, strlen( sn ) );
35
a25832e6 36 aim_tx_enqueue(sess, &newpacket );
9de3ca7e 37
38 {
39 struct aim_snac_t snac;
40
a25832e6 41 snac.id = sess->snac_nextid;
9de3ca7e 42 snac.family = 0x0003;
43 snac.type = 0x0004;
44 snac.flags = 0x0000;
45
46 snac.data = malloc( strlen( sn ) + 1 );
47 memcpy( snac.data, sn, strlen( sn ) + 1 );
48
a25832e6 49 aim_newsnac(sess, &snac);
9de3ca7e 50 }
51
a25832e6 52 return( sess->snac_nextid++ );
9de3ca7e 53}
54
a25832e6 55u_long aim_remove_buddy(struct aim_session_t *sess,
56 struct aim_conn_t *conn,
57 char *sn )
9de3ca7e 58{
59 struct command_tx_struct newpacket;
60
61 if( !sn )
62 return -1;
63
64 if (conn)
65 newpacket.conn = conn;
66 else
a25832e6 67 newpacket.conn = aim_getconn_type(sess, AIM_CONN_TYPE_BOS);
9de3ca7e 68
69 newpacket.lock = 1;
70 newpacket.type = 0x0002;
71 newpacket.commandlen = 11 + strlen(sn);
72 newpacket.data = (char *)malloc( newpacket.commandlen );
73
a25832e6 74 aim_putsnac(newpacket.data, 0x0003, 0x0005, 0x0000, sess->snac_nextid);
9de3ca7e 75
76 /* length of screenname */
77 newpacket.data[10] = strlen( sn );
78
79 memcpy( &(newpacket.data[11]), sn, strlen( sn ) );
80
a25832e6 81 aim_tx_enqueue(sess, &newpacket );
9de3ca7e 82
83 {
84 struct aim_snac_t snac;
85
a25832e6 86 snac.id = sess->snac_nextid;
9de3ca7e 87 snac.family = 0x0003;
88 snac.type = 0x0005;
89 snac.flags = 0x0000;
90
91 snac.data = malloc( strlen( sn ) + 1 );
92 memcpy( snac.data, sn, strlen( sn ) + 1 );
93
a25832e6 94 aim_newsnac(sess, &snac );
9de3ca7e 95 }
96
a25832e6 97 return( sess->snac_nextid++ );
9de3ca7e 98}
99
This page took 0.060603 seconds and 5 git commands to generate.