No release numbers
------------------
+ - Mon May 7 15:19:55 PDT 2001
+ - Rename rxhandler_t to aim_rxhandler_t. This has been
+ bugging me for a while.
+
- Thu May 3 15:47:23 PDT 2001
- Clean up getcap/putcaps
- Add GAMES2 and SENDBUDDYLIST caps (the latter is new in winaim 4.7beta)
faim_export void aim_conn_kill(struct aim_session_t *sess, struct aim_conn_t **deadconn);
#endif /* ndef FAIM_INTERNAL */
-typedef int (*rxcallback_t)(struct aim_session_t *, struct command_rx_struct *, ...);
+typedef int (*aim_rxcallback_t)(struct aim_session_t *, struct command_rx_struct *, ...);
/* aim_login.c */
faim_export int aim_sendconnack(struct aim_session_t *sess, struct aim_conn_t *conn);
struct aim_rxcblist_t {
u_short family;
u_short type;
- rxcallback_t handler;
+ aim_rxcallback_t handler;
u_short flags;
struct aim_rxcblist_t *next;
};
faim_export int aim_conn_setlatency(struct aim_conn_t *conn, int newval);
-faim_export int aim_conn_addhandler(struct aim_session_t *, struct aim_conn_t *conn, u_short family, u_short type, rxcallback_t newhandler, u_short flags);
+faim_export int aim_conn_addhandler(struct aim_session_t *, struct aim_conn_t *conn, u_short family, u_short type, aim_rxcallback_t newhandler, u_short flags);
faim_export int aim_clearhandlers(struct aim_conn_t *conn);
faim_export void aim_conn_close(struct aim_conn_t *deadconn);
faim_internal int aim_tx_printqueue(struct aim_session_t *);
faim_internal int aim_tx_cleanqueue(struct aim_session_t *, struct aim_conn_t *);
-faim_internal rxcallback_t aim_callhandler(struct aim_session_t *sess, struct aim_conn_t *conn, u_short family, u_short type);
+faim_internal aim_rxcallback_t aim_callhandler(struct aim_session_t *sess, struct aim_conn_t *conn, u_short family, u_short type);
/*
* Generic SNAC structure. Rarely if ever used.
i += 2;
while (tlvcount) {
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_tlv_t *tlv;
int str = 0;
static int accountconfirm(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int status;
status = aimutil_get16(data);
{
struct aim_tlvlist_t *tlvlist;
int ret = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
char *sn = NULL, *bosip = NULL, *errurl = NULL, *email = NULL;
unsigned char *cookie = NULL;
int errorcode = 0, regstatus = 0;
unsigned char *key;
int keylen;
int ret = 1;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
keylen = aimutil_get16(data);
if (!(key = malloc(keylen+1)))
static int rights(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int ret = 0;
struct aim_tlvlist_t *tlvlist;
unsigned short maxpermits = 0, maxdenies = 0;
static int buddychange(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
struct aim_userinfo_s userinfo;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
aim_extractuserinfo(sess, data, &userinfo);
static int rights(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_tlvlist_t *tlvlist;
unsigned short maxbuddies = 0, maxwatchers = 0;
int ret = 0;
static int infoupdate(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
struct aim_userinfo_s *userinfo = NULL;
- rxcallback_t userfunc=NULL;
+ aim_rxcallback_t userfunc=NULL;
int ret = 0, i = 0;
int usercount = 0;
unsigned char detaillevel = 0;
static int userlistchange(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
struct aim_userinfo_s *userinfo = NULL;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int i = 0, curcount = 0, ret = 0;
while (i < datalen) {
static int incomingmsg(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
struct aim_userinfo_s userinfo;
- rxcallback_t userfunc=NULL;
+ aim_rxcallback_t userfunc=NULL;
int ret = 0, i = 0;
unsigned char cookie[8];
int channel;
static int parseinfo_perms(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen, struct aim_snac_t *snac2)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int ret = 0;
struct aim_tlvlist_t *tlvlist;
struct aim_chat_exchangeinfo *exchanges = NULL;
static int parseinfo_create(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen, struct aim_snac_t *snac2)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_tlvlist_t *tlvlist, *innerlist;
char *ck = NULL, *fqcn = NULL, *name = NULL;
unsigned short exchange = 0, instance = 0, unknown = 0, flags = 0, maxmsglen = 0, maxoccupancy = 0;
fd_set fds, wfds;
struct timeval tv;
int res, error = ETIMEDOUT;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
if (!conn || (conn->fd == -1))
return -1;
faim_export int aim_handlerendconnect(struct aim_session_t *sess, struct aim_conn_t *cur)
{
int acceptfd = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct sockaddr cliaddr;
int clilen = sizeof(cliaddr);
int ret = 0;
unsigned char *hdr = NULL;
int hdrlen, hdrtype;
int flags = 0;
- rxcallback_t userfunc = NULL;
+ aim_rxcallback_t userfunc = NULL;
if (!sess || !conn || !conn->priv)
return -1;
static int outgoingim(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
unsigned int i, ret = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
unsigned char cookie[8];
int channel;
struct aim_tlvlist_t *tlvlist;
static int incomingim_ch1(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned short channel, struct aim_userinfo_s *userinfo, struct aim_tlvlist_t *tlvlist, unsigned char *cookie)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int i, j = 0, y = 0, z = 0, ret = 0;
char *msg = NULL;
unsigned long icbmflags = 0;
static int incomingim_ch2(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned short channel, struct aim_userinfo_s *userinfo, struct aim_tlvlist_t *tlvlist, unsigned char *cookie)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_tlv_t *block1;
struct aim_tlvlist_t *list2;
unsigned short reqclass = 0;
{
unsigned long defflags, minmsginterval;
unsigned short maxicbmlen, maxsenderwarn, maxrecverwarn, maxchannel;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int i = 0;
maxchannel = aimutil_get16(data+i);
static int missedcall(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
int i = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
unsigned short channel, nummissed, reason;
struct aim_userinfo_s userinfo;
static int msgack(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
char sn[MAXSNLEN];
unsigned char ck[8];
unsigned short type;
static int rights(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
struct aim_tlvlist_t *tlvlist;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int ret = 0;
tlvlist = aim_readtlvchain(data, datalen);
char *text_encoding = NULL;
char *text = NULL;
int i = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_tlvlist_t *tlvlist;
struct aim_snac_t *origsnac = NULL;
struct aim_priv_inforeq *inforeq;
static int hostonline(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int ret = 0;
unsigned short *families;
int famcount, i;
int serviceid;
unsigned char *cookie;
char *ip;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_tlvlist_t *tlvlist;
char *chathack = NULL;
int chathackex = 0;
/* XXX parse this */
static int rateresp(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
return userfunc(sess, rx);
static int ratechange(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int i = 0, code;
unsigned long currentavg, maxavg;
unsigned long rateclass, windowsize, clear, alert, limit, disconnect;
/* XXX parse this */
static int selfinfo(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
return userfunc(sess, rx);
static int evilnotify(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc = NULL;
+ aim_rxcallback_t userfunc = NULL;
int i = 0;
unsigned short newevil;
struct aim_userinfo_s userinfo;
static int motd(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
char *msg = NULL;
int ret = 0;
struct aim_tlvlist_t *tlvlist;
static int hostversions(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
int vercount;
vercount = datalen/4;
*/
static int memrequest(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
unsigned long offset, len;
int i = 0;
struct aim_tlvlist_t *list;
{
int ret = 0;
int error = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_snac_t *snac2;
snac2 = aim_remsnac(sess, snac->id);
if (snac->subtype == 0x0001)
return generror(sess, mod, rx, snac, data, datalen);
else if ((snac->family == 0xffff) && (snac->subtype == 0xffff)) {
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))
return userfunc(sess, rx);
}
faim_export int aim_conn_addhandler(struct aim_session_t *sess,
- struct aim_conn_t *conn,
- u_short family,
- u_short type,
- rxcallback_t newhandler,
- u_short flags)
+ struct aim_conn_t *conn,
+ u_short family,
+ u_short type,
+ aim_rxcallback_t newhandler,
+ u_short flags)
{
struct aim_rxcblist_t *newcb;
return 0;
}
-faim_internal rxcallback_t aim_callhandler(struct aim_session_t *sess,
- struct aim_conn_t *conn,
- unsigned short family,
- unsigned short type)
+faim_internal aim_rxcallback_t aim_callhandler(struct aim_session_t *sess,
+ struct aim_conn_t *conn,
+ unsigned short family,
+ unsigned short type)
{
struct aim_rxcblist_t *cur;
u_short type,
struct command_rx_struct *ptr)
{
- rxcallback_t userfunc = NULL;
+ aim_rxcallback_t userfunc = NULL;
userfunc = aim_callhandler(sess, conn, family, type);
if (userfunc)
return userfunc(sess, ptr);
struct aim_tlvlist_t *tlvlist;
char *msg = NULL;
unsigned short code = 0;
- rxcallback_t userfunc = NULL;
+ aim_rxcallback_t userfunc = NULL;
int ret = 1;
/* Used only by the older login protocol */
static int error(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
int ret = 0;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_snac_t *snac2;
/* XXX the modules interface should have already retrieved this for us */
unsigned int j, m, ret = 0;
struct aim_tlvlist_t *tlvlist;
char *cur = NULL, *buf = NULL;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
struct aim_snac_t *snac2;
if (!(snac2 = aim_remsnac(sess, snac->id))) {
static int reportinterval(struct aim_session_t *sess, aim_module_t *mod, struct command_rx_struct *rx, aim_modsnac_t *snac, unsigned char *data, int datalen)
{
unsigned short interval;
- rxcallback_t userfunc;
+ aim_rxcallback_t userfunc;
interval = aimutil_get16(data);