+static int cmd_goodday(char *arg)
+{
+ if (arg && strlen(arg) && (strlen(arg) < MAXSNLEN))
+ aim_send_im(&aimsess, aim_getconn_type(&aimsess, AIM_CONN_TYPE_BOS), arg, AIM_IMFLAGS_ACK, "Good day to you too.");
+ else
+ printf("no one to say hello to!\n");
+
+ return 0;
+}
+
+static int cmd_warn(char *arg)
+{
+ if (arg && strlen(arg) && (strlen(arg) < MAXSNLEN))
+ aim_send_warning(&aimsess, aim_getconn_type(&aimsess, AIM_CONN_TYPE_BOS), arg, 0);
+ else
+ printf("no one to warn!\n");
+
+ return 0;
+}
+
+static int cmd_anonwarn(char *arg)
+{
+ if (arg && strlen(arg) && (strlen(arg) < MAXSNLEN))
+ aim_send_warning(&aimsess, aim_getconn_type(&aimsess, AIM_CONN_TYPE_BOS), arg, AIM_WARN_ANON);
+ else
+ printf("no one to anonwarn!\n");
+
+ return 0;
+}
+
+static int cmd_sendmsg(char *arg)
+{
+ int len = 0, z;
+ char sn[MAXSNLEN+1], *newbuf = NULL;
+
+ if ((sscanf(arg, "%d %32s", &len, sn) != 2) ||
+ (len >= 10000) || (strlen(sn) > MAXSNLEN)) {
+ printf("invalid args\n");
+ return 0;
+ }
+
+ printf("sending %d bytes to %s\n", len, sn);
+
+ if (!(newbuf = malloc(len+1)))
+ return 0;
+
+ for (z = 0; z < len; z++)
+ newbuf[z] = (z % 10)+0x30;
+ newbuf[len] = '\0';
+
+ aim_send_im(&aimsess, aim_getconn_type(&aimsess, AIM_CONN_TYPE_BOS), sn, AIM_IMFLAGS_ACK, newbuf);
+
+ free(newbuf);
+
+ return 0;
+}
+