- if (msg)
- {
- tmpstr = index(msg, '>');
- if (tmpstr != NULL)
- tmpstr+=1;
- else
- tmpstr = msg;
-
- if ( (strlen(tmpstr) >= 10) &&
- (!strncmp(tmpstr, "disconnect", 10)) )
- {
- aim_send_im(sess, command->conn, "midendian", 0, "ta ta...");
- aim_logoff(sess);
- }
- else if (strstr(tmpstr, "goodday"))
- {
- printf("faimtest: icbm: sending response\n");
- aim_send_im(sess, command->conn, userinfo->sn, 0, "Good day to you too.");
- }
- else if (!strncmp(tmpstr, "open chatnav", 12))
- {
- aim_bos_reqservice(sess, command->conn, AIM_CONN_TYPE_CHATNAV);
- //aim_chat_join(sess, command->conn, "thishereisaname2_chat85");
- }
- else if (!strncmp(tmpstr, "create", 6))
- {
- aim_chatnav_createroom(sess, aim_getconn_type(sess, AIM_CONN_TYPE_CHATNAV), "WorldDomination", 0x0004);
- }
- else if (!strncmp(tmpstr, "close chatnav", 13))
- aim_conn_close(aim_getconn_type(sess, AIM_CONN_TYPE_CHATNAV));
- else if (!strncmp(tmpstr, "join", 4))
- {
- aim_chat_join(sess, command->conn, 0x0004, "worlddomination");
- }
- else if (!strncmp(tmpstr, "leave", 5))
- aim_chat_leaveroom(sess, "worlddomination");
- else if (!strncmp(tmpstr, "getinfo", 7)) {
- aim_getinfo(sess, command->conn, "midendian", AIM_GETINFO_GENERALINFO);
- aim_getinfo(sess, command->conn, "midendian", AIM_GETINFO_AWAYMESSAGE);
- } else
- {
-#if 0
- printf("faimtest: icbm: starting chat...\n");
- aim_bos_reqservice(sess, command->conn, AIM_CONN_TYPE_CHATNAV);
-#else
- aim_bos_setidle(sess, command->conn, 0x0ffffffe);
-#endif
- }
-
- }
- }
- /*
- * Channel 2: Rendevous Request
- */
- else if (channel == 2)
- {
- struct aim_userinfo_s *userinfo;
- int rendtype = 0;
-
- rendtype = va_arg(ap, int);
- if (rendtype == 0)
- {
- char *msg,*encoding,*lang;
- struct aim_chat_roominfo *roominfo;
-
- userinfo = va_arg(ap, struct aim_userinfo_s *);
- roominfo = va_arg(ap, struct aim_chat_roominfo *);
- msg = va_arg(ap, char *);
- encoding = va_arg(ap, char *);
- lang = va_arg(ap, char *);
- va_end(ap);
-
- printf("faimtest: chat invitation: source sn = %s\n", userinfo->sn);
- printf("faimtest: chat invitation: \twarnlevel = 0x%04x\n", userinfo->warnlevel);
- printf("faimtest: chat invitation: \tclass = 0x%04x ", userinfo->class);
- if (userinfo->class & 0x0010)
- printf("(FREE) ");
- if (userinfo->class & 0x0001)
- printf("(TRIAL) ");
- if (userinfo->class & 0x0004)
- printf("(AOL) ");
- printf("\n");
- /* we dont get membersince on chat invites! */
- printf("faimtest: chat invitation: \tonlinesince = %lu\n", userinfo->onlinesince);
- printf("faimtest: chat invitation: \tidletime = 0x%04x\n", userinfo->idletime);
-
- printf("faimtest: chat invitation: message = %s\n", msg);
- printf("faimtest: chat invitation: room name = %s\n", roominfo->name);
- printf("faimtest: chat invitation: encoding = %s\n", encoding);
- printf("faimtest: chat invitation: language = %s\n", lang);
- printf("faimtest: chat invitation: exchange = 0x%04x\n", roominfo->exchange);
- printf("faimtest: chat invitation: instance = 0x%04x\n", roominfo->instance);
- printf("faimtest: chat invitiation: autojoining %s...\n", roominfo->name);
- /*
- * Automatically join room...
- */
- aim_chat_join(sess, command->conn, 0x0004, roominfo->name);
- }
- else if (rendtype == 1)
- {
- userinfo = va_arg(ap, struct aim_userinfo_s *);
- va_end(ap);
-
- printf("faimtest: voice invitation: source sn = %s\n", userinfo->sn);
- printf("faimtest: voice invitation: \twarnlevel = 0x%04x\n", userinfo->warnlevel);
- printf("faimtest: voice invitation: \tclass = 0x%04x ", userinfo->class);
- if (userinfo->class & 0x0010)
- printf("(FREE) ");
- if (userinfo->class & 0x0001)
- printf("(TRIAL) ");
- if (userinfo->class & 0x0004)
- printf("(AOL) ");
- printf("\n");
- /* we dont get membersince on chat invites! */
- printf("faimtest: voice invitation: \tonlinesince = %lu\n", userinfo->onlinesince);
- printf("faimtest: voice invitation: \tidletime = 0x%04x\n", userinfo->idletime);
-
- }
- else
- printf("faimtest: icbm: unknown rendtype (%d)\n", rendtype);
- }
- else