]>
Commit | Line | Data |
---|---|---|
9de3ca7e | 1 | |
2 | /* | |
3 | * aim_search.c | |
4 | * | |
5 | * TODO: Add aim_usersearch_name() | |
6 | * | |
7 | */ | |
8 | ||
a25832e6 | 9 | #include <faim/aim.h> |
9de3ca7e | 10 | |
a25832e6 | 11 | u_long aim_usersearch_address(struct aim_session_t *sess, |
12 | struct aim_conn_t *conn, | |
13 | char *address) | |
9de3ca7e | 14 | { |
15 | struct command_tx_struct newpacket; | |
16 | ||
17 | if (!address) | |
18 | return -1; | |
19 | ||
20 | newpacket.lock = 1; | |
21 | ||
22 | if (conn) | |
23 | newpacket.conn = conn; | |
24 | else | |
a25832e6 | 25 | newpacket.conn = aim_getconn_type(sess, AIM_CONN_TYPE_BOS); |
9de3ca7e | 26 | |
27 | newpacket.type = 0x0002; | |
28 | ||
29 | newpacket.commandlen = 10 + strlen(address); | |
30 | newpacket.data = (char *) malloc(newpacket.commandlen); | |
31 | ||
a25832e6 | 32 | aim_putsnac(newpacket.data, 0x000a, 0x0002, 0x0000, sess->snac_nextid); |
9de3ca7e | 33 | |
34 | memcpy(&(newpacket.data[10]), address, strlen(address)); | |
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 = 0x000a; |
43 | snac.type = 0x0002; | |
44 | snac.flags = 0x0000; | |
45 | ||
46 | snac.data = malloc(strlen(address)+1); | |
47 | memcpy(snac.data, address, strlen(address)+1); | |
48 | ||
a25832e6 | 49 | aim_newsnac(sess, &snac); |
9de3ca7e | 50 | } |
51 | ||
a25832e6 | 52 | return (sess->snac_nextid++); |
9de3ca7e | 53 | } |
54 |