]>
Commit | Line | Data |
---|---|---|
9de3ca7e | 1 | /* |
2 | * aim_chat.c | |
3 | * | |
4 | * Routines for the Chat service. Nothing works (yet). | |
5 | * | |
6 | */ | |
7 | ||
a25832e6 | 8 | #include <faim/aim.h> |
9de3ca7e | 9 | |
10 | /* | |
11 | * FIXME: Doesn't work. | |
12 | * | |
13 | */ | |
a25832e6 | 14 | u_long aim_chat_join(struct aim_session_t *sess, |
15 | struct aim_conn_t *conn, | |
16 | const char *roomname) | |
9de3ca7e | 17 | { |
18 | struct command_tx_struct newpacket; | |
19 | ||
20 | newpacket.lock = 1; | |
21 | if (conn) | |
22 | newpacket.conn = conn; | |
23 | else | |
a25832e6 | 24 | newpacket.conn = aim_getconn_type(sess, AIM_CONN_TYPE_BOS); |
25 | ||
9de3ca7e | 26 | newpacket.type = 0x0002; |
27 | ||
28 | newpacket.commandlen = 12+7+strlen(roomname)+6; | |
29 | newpacket.data = (char *) malloc(newpacket.commandlen); | |
30 | memset(newpacket.data, 0x00, newpacket.commandlen); | |
31 | ||
a25832e6 | 32 | aim_putsnac(newpacket.data, 0x0001, 0x0004, 0x0000, sess->snac_nextid); |
9de3ca7e | 33 | |
34 | newpacket.data[10] = 0x00; | |
35 | newpacket.data[11] = 0x0e; | |
36 | newpacket.data[12] = 0x00; | |
37 | newpacket.data[13] = 0x01; | |
38 | newpacket.data[14] = 0x00; | |
39 | newpacket.data[15] = 0x0c; | |
40 | newpacket.data[16] = 0x00; | |
41 | newpacket.data[17] = 0x04; | |
42 | newpacket.data[18] = strlen(roomname) & 0x00ff; | |
43 | memcpy(&(newpacket.data[19]), roomname, strlen(roomname)); | |
44 | ||
45 | { | |
46 | u_int i = 0; | |
47 | printf("\n\n\n"); | |
48 | for (i = 0;i < newpacket.commandlen; i++) | |
49 | printf("0x%02x ", newpacket.data[i]); | |
50 | printf("\n\n\n"); | |
51 | } | |
52 | ||
a25832e6 | 53 | aim_tx_enqueue(sess, &newpacket); |
9de3ca7e | 54 | |
55 | { | |
56 | struct aim_snac_t snac; | |
57 | ||
a25832e6 | 58 | snac.id = sess->snac_nextid; |
9de3ca7e | 59 | snac.family = 0x0001; |
60 | snac.type = 0x0004; | |
61 | snac.flags = 0x0000; | |
62 | ||
63 | snac.data = malloc(strlen(roomname)); | |
64 | memcpy(snac.data, roomname, strlen(roomname)); | |
65 | ||
a25832e6 | 66 | aim_newsnac(sess, &snac); |
9de3ca7e | 67 | } |
68 | ||
a25832e6 | 69 | return (sess->snac_nextid++); |
9de3ca7e | 70 | } |