From ec6b8da8b3618131bb242fe7f2c0efb0ec6c5003 Mon Sep 17 00:00:00 2001 From: mid Date: Fri, 22 Sep 2000 22:58:27 +0000 Subject: [PATCH] - Fri Sep 22 22:47:49 UTC 2000 - Add aim_icq_setstatus() (jbm) --- CHANGES | 3 +++ aim_misc.c | 26 ++++++++++++++++++++++++++ faim/aim.h | 1 + 3 files changed, 30 insertions(+) diff --git a/CHANGES b/CHANGES index 822a3c2..bd80336 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ No release numbers ------------------ + - Fri Sep 22 22:47:49 UTC 2000 + - Add aim_icq_setstatus() (jbm) + - Fri Sep 22 22:35:51 UTC 2000 - Apply jbm's patch below - Minor cleanup in cb handler stuff diff --git a/aim_misc.c b/aim_misc.c index aecbcbc..56e4a5b 100644 --- a/aim_misc.c +++ b/aim_misc.c @@ -889,3 +889,29 @@ faim_export unsigned long aim_setuserinterests(struct aim_session_t *sess, struc return(sess->snac_nextid); } + +faim_export unsigned long aim_icq_setstatus(struct aim_session_t *sess, + struct aim_conn_t *conn, + unsigned long status) +{ + struct command_tx_struct *newpacket; + int i; + unsigned long data; + + data = 0x00030000 | status; /* yay for error checking ;^) */ + + if(!(newpacket = aim_tx_new(AIM_FRAMETYPE_OSCAR, 0x0002, conn, 10 + 4))) + return -1; + + newpacket->lock = 1; + + i = aim_putsnac(newpacket->data, 0x0001, 0x001e, 0x0000, 0x0000001e); + i += aim_puttlv_32(newpacket->data+i, 0x0006, data); + + newpacket->commandlen = i; + newpacket->lock = 0; + + aim_tx_enqueue(sess, newpacket); + + return(sess->snac_nextid); +} diff --git a/faim/aim.h b/faim/aim.h index 1be9b9c..5f89fe1 100644 --- a/faim/aim.h +++ b/faim/aim.h @@ -547,6 +547,7 @@ faim_export unsigned long aim_addicbmparam(struct aim_session_t *sess,struct aim faim_export unsigned long aim_setversions(struct aim_session_t *sess, struct aim_conn_t *conn); faim_export unsigned long aim_setdirectoryinfo(struct aim_session_t *sess, struct aim_conn_t *conn, char *first, char *middle, char *last, char *maiden, char *nickname, char *street, char *city, char *state, char *zip, int country, unsigned short privacy); faim_export unsigned long aim_setuserinterests(struct aim_session_t *sess, struct aim_conn_t *conn, char *interest1, char *interest2, char *interest3, char *interest4, char *interest5, unsigned short privacy); +faim_export unsigned long aim_icq_setstatus(struct aim_session_t *sess, struct aim_conn_t *conn, unsigned long status); faim_internal struct aim_fileheader_t *aim_getlisting(FILE *); faim_internal int aim_oft_buildheader(char *,struct aim_fileheader_t *); -- 2.45.2