Mercurial > pidgin
diff src/protocols/oscar/oscar.h @ 13239:f260d319bbbc
[gaim-migrate @ 15605]
Renaming a bunch of structs and typedefs to use the same naming
scheme as the rest of Gaim
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 12 Feb 2006 16:02:05 +0000 |
parents | f2431a7e33aa |
children | 2871c385c45a |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.h Sun Feb 12 15:27:11 2006 +0000 +++ b/src/protocols/oscar/oscar.h Sun Feb 12 16:02:05 2006 +0000 @@ -29,8 +29,6 @@ #ifndef _OSCAR_H_ #define _OSCAR_H_ -#include "snactypes.h" - #include "debug.h" #include "internal.h" @@ -53,13 +51,23 @@ #include "libc_interface.h" #endif +typedef struct _ByteStream ByteStream; +typedef struct _ClientInfo ClientInfo; +typedef struct _FlapFrame FlapFrame; +typedef struct _IcbmCookie IcbmCookie; +typedef struct _OscarConnection OscarConnection; +typedef struct _OscarSession OscarSession; + +typedef guint32 aim_snacid_t; +typedef guint16 flap_seqnum_t; + +#include "peer.h" +#include "snactypes.h" + #ifdef __cplusplus extern "C" { #endif -typedef guint32 aim_snacid_t; -typedef guint16 flap_seqnum_t; - #define WIN32_STATIC #if defined(_WIN32) && !defined(WIN32_STATIC) /* @@ -82,14 +90,6 @@ #define faim_internal #endif -#ifndef FALSE -#define FALSE (0) -#endif - -#ifndef TRUE -#define TRUE (!FALSE) -#endif - #define FAIM_SNAC_HASH_SIZE 16 /* @@ -127,7 +127,7 @@ * Current Maximum Length for Chat Room Messages * * This is actually defined by the protocol to be - * dynamic, but I have yet to see due cause to + * dynamic, but I have yet to see due cause to * define it dynamically here. Maybe later. * */ @@ -141,12 +141,13 @@ #define AIM_MD5_STRING "AOL Instant Messenger (SM)" /* - * Client info. Filled in by the client and passed in to + * Client info. Filled in by the client and passed in to * aim_send_login(). The information ends up getting passed to OSCAR * through the initial login command. * */ -struct client_info_s { +struct _ClientInfo +{ const char *clientstring; guint16 clientid; guint16 major; @@ -386,7 +387,8 @@ #define AIM_FRAMETYPE_FLAP 0x0000 #define AIM_FRAMETYPE_OFT 0x0001 -typedef struct aim_conn_s { +struct _OscarConnection +{ int fd; guint16 type; guint16 subtype; @@ -399,8 +401,8 @@ void *handlerlist; void *sessv; /* pointer to parent session */ void *inside; /* only accessible from inside libfaim */ - struct aim_conn_s *next; -} aim_conn_t; + struct _OscarConnection *next; +}; /* * Byte Stream type. Sort of. @@ -416,13 +418,15 @@ * Don't touch the insides of this struct. Or I'll have to kill you. * */ -typedef struct aim_bstream_s { +struct _ByteStream +{ guint8 *data; guint32 len; guint32 offset; -} aim_bstream_t; +}; -typedef struct aim_frame_s { +struct _FlapFrame +{ guint8 hdrtype; /* defines which piece of the union to use */ union { struct { @@ -435,25 +439,27 @@ guint16 type; } rend; } hdr; - aim_bstream_t data; /* payload stream */ - aim_conn_t *conn; /* the connection it came in on/is going out on */ + ByteStream data; /* payload stream */ + OscarConnection *conn; /* the connection it came in on/is going out on */ guint8 handled; /* 0 = new, !0 = been handled */ - struct aim_frame_s *next; -} aim_frame_t; + struct _FlapFrame *next; +}; -typedef struct aim_msgcookie_s { +struct _IcbmCookie +{ guchar cookie[8]; int type; void *data; time_t addtime; - struct aim_msgcookie_s *next; -} aim_msgcookie_t; + struct _IcbmCookie *next; +}; /* * AIM Session: The main client-data interface. * */ -typedef struct aim_session_s { +struct _OscarSession +{ /* ---- Client Accessible ------------------------ */ @@ -461,7 +467,7 @@ char sn[MAXSNLEN+1]; /* - * Pointer to anything the client wants to + * Pointer to anything the client wants to * explicitly associate with this session. * * This is for use in the callbacks mainly. In any @@ -473,7 +479,7 @@ /* ---- Internal Use Only ------------------------ */ /* Connection information */ - aim_conn_t *connlist; + OscarConnection *connlist; /* * Transmit/receive queues. @@ -481,10 +487,10 @@ * These are only used when you don't use your own lowlevel * I/O. I don't suggest that you use libfaim's internal I/O. * Its really bad and the API/event model is quirky at best. - * + * */ - aim_frame_t *queue_outgoing; - aim_frame_t *queue_incoming; + FlapFrame *queue_outgoing; + FlapFrame *queue_incoming; /* * Tx Enqueuing function. @@ -494,7 +500,7 @@ * to send something. * */ - int (*tx_enqueue)(struct aim_session_s *, aim_frame_t *); + int (*tx_enqueue)(OscarSession *, FlapFrame *); void *modlistv; @@ -514,9 +520,9 @@ void *snac_hash[FAIM_SNAC_HASH_SIZE]; aim_snacid_t snacid_next; - aim_msgcookie_t *msgcookies; + IcbmCookie *msgcookies; struct aim_icq_info *icq_info; - struct aim_oft_info *oft_info; + PeerInfo *oft_info; struct aim_authresp_info *authinfo; struct aim_emailinfo *emailinfo; @@ -537,7 +543,7 @@ time_t timestamp; int waiting_for_ack; } ssi; -} aim_session_t; +}; /* Valid for calling aim_icq_setstatus() and for aim_userinfo_t->icqinfo.status */ #define AIM_ICQ_STATE_NORMAL 0x00000000 @@ -562,32 +568,34 @@ * XXX Make this easily overridable. * */ -faim_export int aim_get_command(aim_session_t *, aim_conn_t *); +faim_export int aim_get_command(OscarSession *, OscarConnection *); /* * Dispatch commands that are in the rx queue. */ -faim_export void aim_rxdispatch(aim_session_t *); +faim_export void aim_rxdispatch(OscarSession *); -faim_export int aim_debugconn_sendconnect(aim_session_t *sess, aim_conn_t *conn); +faim_export int aim_debugconn_sendconnect(OscarSession *sess, OscarConnection *conn); -faim_export int aim_logoff(aim_session_t *); +faim_export int aim_logoff(OscarSession *); /* the library should never call aim_conn_kill */ -faim_export void aim_conn_kill(aim_session_t *sess, aim_conn_t **deadconn); +faim_export void aim_conn_kill(OscarSession *sess, OscarConnection **deadconn); -typedef int (*aim_rxcallback_t)(aim_session_t *, aim_frame_t *, ...); +typedef int (*aim_rxcallback_t)(OscarSession *, FlapFrame *, ...); -/* auth.c */ -struct aim_clientrelease { +/* family_auth.c */ +struct aim_clientrelease +{ char *name; guint32 build; char *url; char *info; }; -struct aim_authresp_info { +struct aim_authresp_info +{ char *sn; guint16 errorcode; char *errorurl; @@ -602,7 +610,8 @@ }; /* Callback data for redirect. */ -struct aim_redirect_data { +struct aim_redirect_data +{ guint16 group; const char *ip; guint16 cookielen; @@ -614,47 +623,47 @@ } chat; }; -faim_export int aim_clientready(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_sendflapver(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_request_login(aim_session_t *sess, aim_conn_t *conn, const char *sn); -faim_export int aim_send_login(aim_session_t *, aim_conn_t *, const char *, const char *, struct client_info_s *, const char *key); -/* 0x000b */ faim_export int aim_auth_securid_send(aim_session_t *sess, const char *securid); +faim_export int aim_clientready(OscarSession *sess, OscarConnection *conn); +faim_export int aim_sendflapver(OscarSession *sess, OscarConnection *conn); +faim_export int aim_request_login(OscarSession *sess, OscarConnection *conn, const char *sn); +faim_export int aim_send_login(OscarSession *, OscarConnection *, const char *, const char *, ClientInfo *, const char *key); +/* 0x000b */ faim_export int aim_auth_securid_send(OscarSession *sess, const char *securid); -faim_export void aim_purge_rxqueue(aim_session_t *); -faim_export void aim_cleansnacs(aim_session_t *, int maxage); +faim_export void aim_purge_rxqueue(OscarSession *); +faim_export void aim_cleansnacs(OscarSession *, int maxage); #define AIM_TX_QUEUED 0 /* default */ #define AIM_TX_IMMEDIATE 1 #define AIM_TX_USER 2 -faim_export int aim_tx_setenqueue(aim_session_t *sess, int what, int (*func)(aim_session_t *, aim_frame_t *)); +faim_export int aim_tx_setenqueue(OscarSession *sess, int what, int (*func)(OscarSession *, FlapFrame *)); -faim_export int aim_tx_flushqueue(aim_session_t *); -faim_export void aim_tx_purgequeue(aim_session_t *); +faim_export int aim_tx_flushqueue(OscarSession *); +faim_export void aim_tx_purgequeue(OscarSession *); -faim_export int aim_conn_setlatency(aim_conn_t *conn, int newval); +faim_export int aim_conn_setlatency(OscarConnection *conn, int newval); -faim_export int aim_conn_addhandler(aim_session_t *, aim_conn_t *conn, guint16 family, guint16 type, aim_rxcallback_t newhandler, guint16 flags); -faim_export int aim_clearhandlers(aim_conn_t *conn); +faim_export int aim_conn_addhandler(OscarSession *, OscarConnection *conn, guint16 family, guint16 type, aim_rxcallback_t newhandler, guint16 flags); +faim_export int aim_clearhandlers(OscarConnection *conn); -faim_export aim_conn_t *aim_conn_findbygroup(aim_session_t *sess, guint16 group); -faim_export aim_session_t *aim_conn_getsess(aim_conn_t *conn); -faim_export void aim_conn_close(aim_conn_t *deadconn); -faim_export aim_conn_t *aim_newconn(aim_session_t *, int type); -faim_export int aim_conn_in_sess(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_conn_isready(aim_conn_t *); -faim_export int aim_conn_setstatus(aim_conn_t *, int); -faim_export int aim_conn_completeconnect(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_conn_isconnecting(aim_conn_t *conn); +faim_export OscarConnection *aim_conn_findbygroup(OscarSession *sess, guint16 group); +faim_export OscarSession *aim_conn_getsess(OscarConnection *conn); +faim_export void aim_conn_close(OscarConnection *deadconn); +faim_export OscarConnection *aim_newconn(OscarSession *, int type); +faim_export int aim_conn_in_sess(OscarSession *sess, OscarConnection *conn); +faim_export int aim_conn_isready(OscarConnection *); +faim_export int aim_conn_setstatus(OscarConnection *, int); +faim_export int aim_conn_completeconnect(OscarSession *sess, OscarConnection *conn); +faim_export int aim_conn_isconnecting(OscarConnection *conn); -faim_export void aim_session_init(aim_session_t *, guint8 nonblocking); -faim_export void aim_session_kill(aim_session_t *); -faim_export aim_conn_t *aim_getconn_type(aim_session_t *, int type); -faim_export aim_conn_t *aim_getconn_type_all(aim_session_t *, int type); -faim_export aim_conn_t *aim_getconn_fd(aim_session_t *, int fd); +faim_export void aim_session_init(OscarSession *, guint8 nonblocking); +faim_export void aim_session_kill(OscarSession *); +faim_export OscarConnection *aim_getconn_type(OscarSession *, int type); +faim_export OscarConnection *aim_getconn_type_all(OscarSession *, int type); +faim_export OscarConnection *aim_getconn_fd(OscarSession *, int fd); -/* 0x0001 - service.c */ -faim_export int aim_srv_setstatusmsg(aim_session_t *sess, const char *msg); -faim_export int aim_srv_setidle(aim_session_t *sess, guint32 idletime); +/* 0x0001 - family_oservice.c */ +faim_export int aim_srv_setstatusmsg(OscarSession *sess, const char *msg); +faim_export int aim_srv_setidle(OscarSession *sess, guint32 idletime); /* misc.c */ @@ -668,16 +677,16 @@ #define AIM_WARN_ANON 0x01 -faim_export int aim_sendpauseack(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_nop(aim_session_t *, aim_conn_t *); -faim_export int aim_flap_nop(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_bos_changevisibility(aim_session_t *, aim_conn_t *, int, const char *); -faim_export int aim_bos_setgroupperm(aim_session_t *, aim_conn_t *, guint32 mask); -faim_export int aim_bos_setprivacyflags(aim_session_t *, aim_conn_t *, guint32); -faim_export int aim_reqpersonalinfo(aim_session_t *, aim_conn_t *); -faim_export int aim_reqservice(aim_session_t *, aim_conn_t *, guint16); -faim_export int aim_bos_reqrights(aim_session_t *, aim_conn_t *); -faim_export int aim_setextstatus(aim_session_t *sess, guint32 status); +faim_export int aim_sendpauseack(OscarSession *sess, OscarConnection *conn); +faim_export int aim_nop(OscarSession *, OscarConnection *); +faim_export int aim_flap_nop(OscarSession *sess, OscarConnection *conn); +faim_export int aim_bos_changevisibility(OscarSession *, OscarConnection *, int, const char *); +faim_export int aim_bos_setgroupperm(OscarSession *, OscarConnection *, guint32 mask); +faim_export int aim_bos_setprivacyflags(OscarSession *, OscarConnection *, guint32); +faim_export int aim_reqpersonalinfo(OscarSession *, OscarConnection *); +faim_export int aim_reqservice(OscarSession *, OscarConnection *, guint16); +faim_export int aim_bos_reqrights(OscarSession *, OscarConnection *); +faim_export int aim_setextstatus(OscarSession *sess, guint32 status); #define AIM_CLIENTTYPE_UNKNOWN 0x0000 #define AIM_CLIENTTYPE_MC 0x0001 @@ -690,11 +699,11 @@ #define AIM_RATE_CODE_WARNING 0x0002 #define AIM_RATE_CODE_LIMIT 0x0003 #define AIM_RATE_CODE_CLEARLIMIT 0x0004 -faim_export int aim_ads_requestads(aim_session_t *sess, aim_conn_t *conn); +faim_export int aim_ads_requestads(OscarSession *sess, OscarConnection *conn); -/* im.c */ +/* family_icbm.c */ #define AIM_OFT_SUBTYPE_SEND_FILE 0x0001 #define AIM_OFT_SUBTYPE_SEND_DIR 0x0002 #define AIM_OFT_SUBTYPE_GET_FILE 0x0011 @@ -725,7 +734,8 @@ 0 \ } -struct aim_icbmparameters { +struct aim_icbmparameters +{ guint16 maxchan; guint32 flags; /* AIM_IMPARAM_FLAG_ */ guint16 maxmsglen; /* message size that you will accept */ @@ -734,7 +744,8 @@ guint32 minmsginterval; /* in milliseconds? */ }; -struct aim_chat_roominfo { +struct aim_chat_roominfo +{ guint16 exchange; char *name; guint16 instance; @@ -759,7 +770,8 @@ /* * Multipart message structures. */ -typedef struct aim_mpmsg_section_s { +typedef struct aim_mpmsg_section_s +{ guint16 charset; guint16 charsubset; gchar *data; @@ -767,16 +779,17 @@ struct aim_mpmsg_section_s *next; } aim_mpmsg_section_t; -typedef struct aim_mpmsg_s { +typedef struct aim_mpmsg_s +{ unsigned int numparts; aim_mpmsg_section_t *parts; } aim_mpmsg_t; -faim_export int aim_mpmsg_init(aim_session_t *sess, aim_mpmsg_t *mpm); -faim_export int aim_mpmsg_addraw(aim_session_t *sess, aim_mpmsg_t *mpm, guint16 charset, guint16 charsubset, const gchar *data, guint16 datalen); -faim_export int aim_mpmsg_addascii(aim_session_t *sess, aim_mpmsg_t *mpm, const char *ascii); -faim_export int aim_mpmsg_addunicode(aim_session_t *sess, aim_mpmsg_t *mpm, const guint16 *unicode, guint16 unicodelen); -faim_export void aim_mpmsg_free(aim_session_t *sess, aim_mpmsg_t *mpm); +faim_export int aim_mpmsg_init(OscarSession *sess, aim_mpmsg_t *mpm); +faim_export int aim_mpmsg_addraw(OscarSession *sess, aim_mpmsg_t *mpm, guint16 charset, guint16 charsubset, const gchar *data, guint16 datalen); +faim_export int aim_mpmsg_addascii(OscarSession *sess, aim_mpmsg_t *mpm, const char *ascii); +faim_export int aim_mpmsg_addunicode(OscarSession *sess, aim_mpmsg_t *mpm, const guint16 *unicode, guint16 unicodelen); +faim_export void aim_mpmsg_free(OscarSession *sess, aim_mpmsg_t *mpm); /* * Arguments to aim_send_im_ext(). @@ -784,7 +797,8 @@ * This is really complicated. But immensely versatile. * */ -struct aim_sendimext_args { +struct aim_sendimext_args +{ /* These are _required_ */ const char *destsn; @@ -814,7 +828,8 @@ /* * Arguments to aim_send_rtfmsg(). */ -struct aim_sendrtfmsg_args { +struct aim_sendrtfmsg_args +{ const char *destsn; guint32 fgcolor; guint32 bgcolor; @@ -823,7 +838,7 @@ /* * This information is provided in the Incoming ICBM callback for - * Channel 1 ICBM's. + * Channel 1 ICBM's. * * Note that although CUSTOMFEATURES and CUSTOMCHARSET say they * are optional, both are always set by the current libfaim code. @@ -831,15 +846,16 @@ * consistency with aim_sendimext_args. * * Multipart messages require some explanation. If you want to use them, - * I suggest you read all the comments in im.c. + * I suggest you read all the comments in family_icbm.c. * */ -struct aim_incomingim_ch1_args { +struct aim_incomingim_ch1_args +{ /* Always provided */ aim_mpmsg_t mpmsg; guint32 icbmflags; /* some flags apply only to ->msg, not all mpmsg */ - + /* Only provided if message has a human-readable section */ gchar *msg; int msglen; @@ -867,7 +883,8 @@ #define AIM_RENDEZVOUS_CANCEL 0x0001 #define AIM_RENDEZVOUS_ACCEPT 0x0002 -struct aim_incomingim_ch2_args { +struct aim_incomingim_ch2_args +{ guint16 status; guchar cookie[8]; int reqclass; @@ -914,7 +931,8 @@ #define AIM_ICQMSG_AUTHDENIED 0x0007 #define AIM_ICQMSG_AUTHGRANTED 0x0008 -struct aim_incomingim_ch4_args { +struct aim_incomingim_ch4_args +{ guint32 uin; /* Of the sender of the ICBM */ guint8 type; guint8 flags; @@ -923,26 +941,26 @@ }; /* SNAC sending functions */ -/* 0x0002 */ faim_export int aim_im_setparams(aim_session_t *sess, struct aim_icbmparameters *params); -/* 0x0004 */ faim_export int aim_im_reqparams(aim_session_t *sess); -/* 0x0006 */ faim_export int aim_im_sendch1_ext(aim_session_t *sess, struct aim_sendimext_args *args); -/* 0x0006 */ faim_export int aim_im_sendch1(aim_session_t *, const char *destsn, guint16 flags, const char *msg); -/* 0x0006 */ faim_export int aim_im_sendch2_chatinvite(aim_session_t *sess, const char *sn, const char *msg, guint16 exchange, const char *roomname, guint16 instance); -/* 0x0006 */ faim_export int aim_im_sendch2_icon(aim_session_t *sess, const char *sn, const guint8 *icon, int iconlen, time_t stamp, guint16 iconsum); -/* 0x0006 */ faim_export int aim_im_sendch2_rtfmsg(aim_session_t *sess, struct aim_sendrtfmsg_args *args); -/* 0x0006 */ faim_export int aim_im_sendch2_odcrequest(aim_session_t *sess, guchar *cookie, gboolean usecookie, const char *sn, const guint8 *ip, guint16 port); -/* 0x0006 */ faim_export int aim_im_sendch2_sendfile_ask(aim_session_t *sess, struct aim_oft_info *oft_info); -/* 0x0006 */ faim_export int aim_im_sendch2_sendfile_accept(aim_session_t *sess, struct aim_oft_info *info); -/* 0x0006 */ faim_export int aim_im_sendch2_sendfile_cancel(aim_session_t *sess, struct aim_oft_info *oft_info); -/* 0x0006 */ faim_export int aim_im_sendch2_geticqaway(aim_session_t *sess, const char *sn, int type); -/* 0x0006 */ faim_export int aim_im_sendch4(aim_session_t *sess, const char *sn, guint16 type, const char *message); -/* 0x0008 */ faim_export int aim_im_warn(aim_session_t *sess, aim_conn_t *conn, const char *destsn, guint32 flags); -/* 0x000b */ faim_export int aim_im_denytransfer(aim_session_t *sess, const char *sender, const guchar *cookie, guint16 code); -/* 0x0014 */ faim_export int aim_im_sendmtn(aim_session_t *sess, guint16 type1, const char *sn, guint16 type2); +/* 0x0002 */ faim_export int aim_im_setparams(OscarSession *sess, struct aim_icbmparameters *params); +/* 0x0004 */ faim_export int aim_im_reqparams(OscarSession *sess); +/* 0x0006 */ faim_export int aim_im_sendch1_ext(OscarSession *sess, struct aim_sendimext_args *args); +/* 0x0006 */ faim_export int aim_im_sendch1(OscarSession *, const char *destsn, guint16 flags, const char *msg); +/* 0x0006 */ faim_export int aim_im_sendch2_chatinvite(OscarSession *sess, const char *sn, const char *msg, guint16 exchange, const char *roomname, guint16 instance); +/* 0x0006 */ faim_export int aim_im_sendch2_icon(OscarSession *sess, const char *sn, const guint8 *icon, int iconlen, time_t stamp, guint16 iconsum); +/* 0x0006 */ faim_export int aim_im_sendch2_rtfmsg(OscarSession *sess, struct aim_sendrtfmsg_args *args); +/* 0x0006 */ faim_export int aim_im_sendch2_odcrequest(OscarSession *sess, guchar *cookie, gboolean usecookie, const char *sn, const guint8 *ip, guint16 port); +/* 0x0006 */ faim_export int aim_im_sendch2_sendfile_ask(OscarSession *sess, PeerInfo *oft_info); +/* 0x0006 */ faim_export int aim_im_sendch2_sendfile_accept(OscarSession *sess, PeerInfo *info); +/* 0x0006 */ faim_export int aim_im_sendch2_sendfile_cancel(OscarSession *sess, PeerInfo *oft_info); +/* 0x0006 */ faim_export int aim_im_sendch2_geticqaway(OscarSession *sess, const char *sn, int type); +/* 0x0006 */ faim_export int aim_im_sendch4(OscarSession *sess, const char *sn, guint16 type, const char *message); +/* 0x0008 */ faim_export int aim_im_warn(OscarSession *sess, OscarConnection *conn, const char *destsn, guint32 flags); +/* 0x000b */ faim_export int aim_im_denytransfer(OscarSession *sess, const char *sender, const guchar *cookie, guint16 code); +/* 0x0014 */ faim_export int aim_im_sendmtn(OscarSession *sess, guint16 type1, const char *sn, guint16 type2); faim_export void aim_icbm_makecookie(guchar* cookie); -/* 0x0002 - locate.c */ +/* 0x0002 - family_locate.c */ /* * AIM User Info, Standard Form. */ @@ -950,7 +968,7 @@ #define AIM_FLAG_ADMINISTRATOR 0x0002 #define AIM_FLAG_AOL 0x0004 #define AIM_FLAG_OSCAR_PAY 0x0008 -#define AIM_FLAG_FREE 0x0010 +#define AIM_FLAG_FREE 0x0010 #define AIM_FLAG_AWAY 0x0020 #define AIM_FLAG_ICQ 0x0040 #define AIM_FLAG_WIRELESS 0x0080 @@ -972,12 +990,14 @@ #define AIM_USERINFO_PRESENT_SESSIONLEN 0x00000100 #define AIM_USERINFO_PRESENT_CREATETIME 0x00000200 -struct userinfo_node { +struct userinfo_node +{ char *sn; struct userinfo_node *next; }; -typedef struct aim_userinfo_s { +typedef struct aim_userinfo_s +{ char *sn; guint16 warnlevel; /* evil percent * 10 (999 = 99.9%) */ guint16 idletime; /* in seconds */ @@ -1046,9 +1066,10 @@ #define AIM_SENDMEMBLOCK_FLAG_ISREQUEST 0 #define AIM_SENDMEMBLOCK_FLAG_ISHASH 1 -faim_export int aim_sendmemblock(aim_session_t *sess, aim_conn_t *conn, guint32 offset, guint32 len, const guint8 *buf, guint8 flag); +faim_export int aim_sendmemblock(OscarSession *sess, OscarConnection *conn, guint32 offset, guint32 len, const guint8 *buf, guint8 flag); -struct aim_invite_priv { +struct aim_invite_priv +{ char *sn; char *roomname; guint16 exchange; @@ -1072,44 +1093,45 @@ #define AIM_COOKIETYPE_OFTIMAGE 0x14 #define AIM_COOKIETYPE_OFTICON 0x15 -faim_export aim_userinfo_t *aim_locate_finduserinfo(aim_session_t *sess, const char *sn); -faim_export void aim_locate_dorequest(aim_session_t *sess); +faim_export aim_userinfo_t *aim_locate_finduserinfo(OscarSession *sess, const char *sn); +faim_export void aim_locate_dorequest(OscarSession *sess); -/* 0x0002 */ faim_export int aim_locate_reqrights(aim_session_t *sess); -/* 0x0004 */ faim_export int aim_locate_setcaps(aim_session_t *sess, guint32 caps); -/* 0x0004 */ faim_export int aim_locate_setprofile(aim_session_t *sess, const char *profile_encoding, const gchar *profile, const int profile_len, const char *awaymsg_encoding, const gchar *awaymsg, const int awaymsg_len); -/* 0x0005 */ faim_export int aim_locate_getinfo(aim_session_t *sess, const char *, guint16); -/* 0x0009 */ faim_export int aim_locate_setdirinfo(aim_session_t *sess, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, guint16 privacy); -/* 0x000b */ faim_export int aim_locate_000b(aim_session_t *sess, const char *sn); -/* 0x000f */ faim_export int aim_locate_setinterests(aim_session_t *sess, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, guint16 privacy); -/* 0x0015 */ faim_export int aim_locate_getinfoshort(aim_session_t *sess, const char *sn, guint32 flags); +/* 0x0002 */ faim_export int aim_locate_reqrights(OscarSession *sess); +/* 0x0004 */ faim_export int aim_locate_setcaps(OscarSession *sess, guint32 caps); +/* 0x0004 */ faim_export int aim_locate_setprofile(OscarSession *sess, const char *profile_encoding, const gchar *profile, const int profile_len, const char *awaymsg_encoding, const gchar *awaymsg, const int awaymsg_len); +/* 0x0005 */ faim_export int aim_locate_getinfo(OscarSession *sess, const char *, guint16); +/* 0x0009 */ faim_export int aim_locate_setdirinfo(OscarSession *sess, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, guint16 privacy); +/* 0x000b */ faim_export int aim_locate_000b(OscarSession *sess, const char *sn); +/* 0x000f */ faim_export int aim_locate_setinterests(OscarSession *sess, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, guint16 privacy); +/* 0x0015 */ faim_export int aim_locate_getinfoshort(OscarSession *sess, const char *sn, guint32 flags); -/* 0x0003 - buddylist.c */ -/* 0x0002 */ faim_export int aim_buddylist_reqrights(aim_session_t *, aim_conn_t *); -/* 0x0004 */ faim_export int aim_buddylist_set(aim_session_t *, aim_conn_t *, const char *); -/* 0x0004 */ faim_export int aim_buddylist_addbuddy(aim_session_t *, aim_conn_t *, const char *); -/* 0x0005 */ faim_export int aim_buddylist_removebuddy(aim_session_t *, aim_conn_t *, const char *); -/* 0x000b */ faim_export int aim_buddylist_oncoming(aim_session_t *sess, aim_conn_t *conn, aim_userinfo_t *info); -/* 0x000c */ faim_export int aim_buddylist_offgoing(aim_session_t *sess, aim_conn_t *conn, const char *sn); +/* 0x0003 - family_buddy.c */ +/* 0x0002 */ faim_export int aim_buddylist_reqrights(OscarSession *, OscarConnection *); +/* 0x0004 */ faim_export int aim_buddylist_set(OscarSession *, OscarConnection *, const char *); +/* 0x0004 */ faim_export int aim_buddylist_addbuddy(OscarSession *, OscarConnection *, const char *); +/* 0x0005 */ faim_export int aim_buddylist_removebuddy(OscarSession *, OscarConnection *, const char *); +/* 0x000b */ faim_export int aim_buddylist_oncoming(OscarSession *sess, OscarConnection *conn, aim_userinfo_t *info); +/* 0x000c */ faim_export int aim_buddylist_offgoing(OscarSession *sess, OscarConnection *conn, const char *sn); -/* 0x000a - search.c */ -faim_export int aim_search_address(aim_session_t *, aim_conn_t *, const char *); +/* 0x000a - family_userlookup.c */ +faim_export int aim_search_address(OscarSession *, OscarConnection *, const char *); -/* 0x000d - chatnav.c */ -/* 0x000e - chat.c */ +/* 0x000d - family_chatnav.c */ +/* 0x000e - family_chat.c */ /* These apply to exchanges as well. */ #define AIM_CHATROOM_FLAG_EVILABLE 0x0001 #define AIM_CHATROOM_FLAG_NAV_ONLY 0x0002 #define AIM_CHATROOM_FLAG_INSTANCING_ALLOWED 0x0004 #define AIM_CHATROOM_FLAG_OCCUPANT_PEEK_ALLOWED 0x0008 -struct aim_chat_exchangeinfo { +struct aim_chat_exchangeinfo +{ guint16 number; guint16 flags; char *name; @@ -1121,21 +1143,22 @@ #define AIM_CHATFLAGS_NOREFLECT 0x0001 #define AIM_CHATFLAGS_AWAY 0x0002 -faim_export int aim_chat_send_im(aim_session_t *sess, aim_conn_t *conn, guint16 flags, const gchar *msg, int msglen, const char *encoding, const char *language); -faim_export int aim_chat_join(aim_session_t *sess, aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance); -faim_export int aim_chat_attachname(aim_conn_t *conn, guint16 exchange, const char *roomname, guint16 instance); -faim_export char *aim_chat_getname(aim_conn_t *conn); -faim_export aim_conn_t *aim_chat_getconn(aim_session_t *, const char *name); +faim_export int aim_chat_send_im(OscarSession *sess, OscarConnection *conn, guint16 flags, const gchar *msg, int msglen, const char *encoding, const char *language); +faim_export int aim_chat_join(OscarSession *sess, OscarConnection *conn, guint16 exchange, const char *roomname, guint16 instance); +faim_export int aim_chat_attachname(OscarConnection *conn, guint16 exchange, const char *roomname, guint16 instance); +faim_export char *aim_chat_getname(OscarConnection *conn); +faim_export OscarConnection *aim_chat_getconn(OscarSession *, const char *name); -faim_export int aim_chatnav_reqrights(aim_session_t *sess, aim_conn_t *conn); +faim_export int aim_chatnav_reqrights(OscarSession *sess, OscarConnection *conn); -faim_export int aim_chatnav_createroom(aim_session_t *sess, aim_conn_t *conn, const char *name, guint16 exchange); -faim_export int aim_chat_leaveroom(aim_session_t *sess, const char *name); +faim_export int aim_chatnav_createroom(OscarSession *sess, OscarConnection *conn, const char *name, guint16 exchange); +faim_export int aim_chat_leaveroom(OscarSession *sess, const char *name); -/* 0x000f - odir.c */ -struct aim_odir { +/* 0x000f - family_odir.c */ +struct aim_odir +{ char *first; char *last; char *middle; @@ -1153,19 +1176,19 @@ struct aim_odir *next; }; -faim_export int aim_odir_email(aim_session_t *, const char *, const char *); -faim_export int aim_odir_name(aim_session_t *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *); -faim_export int aim_odir_interest(aim_session_t *, const char *, const char *); +faim_export int aim_odir_email(OscarSession *, const char *, const char *); +faim_export int aim_odir_name(OscarSession *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *); +faim_export int aim_odir_interest(OscarSession *, const char *, const char *); -/* 0x0010 - icon.c */ -faim_export int aim_bart_upload(aim_session_t *sess, const guint8 *icon, guint16 iconlen); -faim_export int aim_bart_request(aim_session_t *sess, const char *sn, guint8 iconcsumtype, const guint8 *iconstr, guint16 iconstrlen); +/* 0x0010 - family_bart.c */ +faim_export int aim_bart_upload(OscarSession *sess, const guint8 *icon, guint16 iconlen); +faim_export int aim_bart_request(OscarSession *sess, const char *sn, guint8 iconcsumtype, const guint8 *iconstr, guint16 iconstrlen); -/* 0x0013 - ssi.c */ +/* 0x0013 - family_feedbag.c */ #define AIM_SSI_TYPE_BUDDY 0x0000 #define AIM_SSI_TYPE_GROUP 0x0001 #define AIM_SSI_TYPE_PERMIT 0x0002 @@ -1185,7 +1208,8 @@ #define AIM_SSI_PRESENCE_FLAG_SHOWIDLE 0x00000400 #define AIM_SSI_PRESENCE_FLAG_NORECENTBUDDIES 0x00020000 -struct aim_ssi_item { +struct aim_ssi_item +{ char *name; guint16 gid; guint16 bid; @@ -1194,7 +1218,8 @@ struct aim_ssi_item *next; }; -struct aim_ssi_tmp { +struct aim_ssi_tmp +{ guint16 action; guint16 ack; char *name; @@ -1203,16 +1228,16 @@ }; /* These build the actual SNACs and queue them to be sent */ -/* 0x0002 */ faim_export int aim_ssi_reqrights(aim_session_t *sess); -/* 0x0004 */ faim_export int aim_ssi_reqdata(aim_session_t *sess); -/* 0x0005 */ faim_export int aim_ssi_reqifchanged(aim_session_t *sess, time_t localstamp, guint16 localrev); -/* 0x0007 */ faim_export int aim_ssi_enable(aim_session_t *sess); -/* 0x0008 */ faim_export int aim_ssi_addmoddel(aim_session_t *sess); -/* 0x0011 */ faim_export int aim_ssi_modbegin(aim_session_t *sess); -/* 0x0012 */ faim_export int aim_ssi_modend(aim_session_t *sess); -/* 0x0014 */ faim_export int aim_ssi_sendauth(aim_session_t *sess, char *sn, char *msg); -/* 0x0018 */ faim_export int aim_ssi_sendauthrequest(aim_session_t *sess, char *sn, const char *msg); -/* 0x001a */ faim_export int aim_ssi_sendauthreply(aim_session_t *sess, char *sn, guint8 reply, const char *msg); +/* 0x0002 */ faim_export int aim_ssi_reqrights(OscarSession *sess); +/* 0x0004 */ faim_export int aim_ssi_reqdata(OscarSession *sess); +/* 0x0005 */ faim_export int aim_ssi_reqifchanged(OscarSession *sess, time_t localstamp, guint16 localrev); +/* 0x0007 */ faim_export int aim_ssi_enable(OscarSession *sess); +/* 0x0008 */ faim_export int aim_ssi_addmoddel(OscarSession *sess); +/* 0x0011 */ faim_export int aim_ssi_modbegin(OscarSession *sess); +/* 0x0012 */ faim_export int aim_ssi_modend(OscarSession *sess); +/* 0x0014 */ faim_export int aim_ssi_sendauth(OscarSession *sess, char *sn, char *msg); +/* 0x0018 */ faim_export int aim_ssi_sendauthrequest(OscarSession *sess, char *sn, const char *msg); +/* 0x001a */ faim_export int aim_ssi_sendauthreply(OscarSession *sess, char *sn, guint8 reply, const char *msg); /* Client functions for retrieving SSI data */ faim_export struct aim_ssi_item *aim_ssi_itemlist_find(struct aim_ssi_item *list, guint16 gid, guint16 bid); @@ -1226,26 +1251,26 @@ faim_export int aim_ssi_waitingforauth(struct aim_ssi_item *list, const char *gn, const char *sn); /* Client functions for changing SSI data */ -faim_export int aim_ssi_addbuddy(aim_session_t *sess, const char *name, const char *group, const char *alias, const char *comment, const char *smsnum, int needauth); -faim_export int aim_ssi_addpermit(aim_session_t *sess, const char *name); -faim_export int aim_ssi_adddeny(aim_session_t *sess, const char *name); -faim_export int aim_ssi_delbuddy(aim_session_t *sess, const char *name, const char *group); -faim_export int aim_ssi_delpermit(aim_session_t *sess, const char *name); -faim_export int aim_ssi_deldeny(aim_session_t *sess, const char *name); -faim_export int aim_ssi_movebuddy(aim_session_t *sess, const char *oldgn, const char *newgn, const char *sn); -faim_export int aim_ssi_aliasbuddy(aim_session_t *sess, const char *gn, const char *sn, const char *alias); -faim_export int aim_ssi_editcomment(aim_session_t *sess, const char *gn, const char *sn, const char *alias); -faim_export int aim_ssi_rename_group(aim_session_t *sess, const char *oldgn, const char *newgn); -faim_export int aim_ssi_cleanlist(aim_session_t *sess); -faim_export int aim_ssi_deletelist(aim_session_t *sess); -faim_export int aim_ssi_setpermdeny(aim_session_t *sess, guint8 permdeny, guint32 vismask); -faim_export int aim_ssi_setpresence(aim_session_t *sess, guint32 presence); -faim_export int aim_ssi_seticon(aim_session_t *sess, guint8 *iconsum, guint16 iconsumlen); -faim_export int aim_ssi_delicon(aim_session_t *sess); +faim_export int aim_ssi_addbuddy(OscarSession *sess, const char *name, const char *group, const char *alias, const char *comment, const char *smsnum, int needauth); +faim_export int aim_ssi_addpermit(OscarSession *sess, const char *name); +faim_export int aim_ssi_adddeny(OscarSession *sess, const char *name); +faim_export int aim_ssi_delbuddy(OscarSession *sess, const char *name, const char *group); +faim_export int aim_ssi_delpermit(OscarSession *sess, const char *name); +faim_export int aim_ssi_deldeny(OscarSession *sess, const char *name); +faim_export int aim_ssi_movebuddy(OscarSession *sess, const char *oldgn, const char *newgn, const char *sn); +faim_export int aim_ssi_aliasbuddy(OscarSession *sess, const char *gn, const char *sn, const char *alias); +faim_export int aim_ssi_editcomment(OscarSession *sess, const char *gn, const char *sn, const char *alias); +faim_export int aim_ssi_rename_group(OscarSession *sess, const char *oldgn, const char *newgn); +faim_export int aim_ssi_cleanlist(OscarSession *sess); +faim_export int aim_ssi_deletelist(OscarSession *sess); +faim_export int aim_ssi_setpermdeny(OscarSession *sess, guint8 permdeny, guint32 vismask); +faim_export int aim_ssi_setpresence(OscarSession *sess, guint32 presence); +faim_export int aim_ssi_seticon(OscarSession *sess, guint8 *iconsum, guint16 iconsumlen); +faim_export int aim_ssi_delicon(OscarSession *sess); -/* 0x0015 - icq.c */ +/* 0x0015 - family_icq.c */ #define AIM_ICQ_INFO_SIMPLE 0x001 #define AIM_ICQ_INFO_SUMMARY 0x002 #define AIM_ICQ_INFO_EMAIL 0x004 @@ -1257,7 +1282,8 @@ #define AIM_ICQ_INFO_UNKNOWN 0x100 #define AIM_ICQ_INFO_HAVEALL 0x1ff -struct aim_icq_offlinemsg { +struct aim_icq_offlinemsg +{ guint32 sender; guint16 year; guint8 month, day, hour, minute; @@ -1267,7 +1293,8 @@ int msglen; }; -struct aim_icq_info { +struct aim_icq_info +{ guint16 reqid; /* simple */ @@ -1325,28 +1352,29 @@ struct aim_icq_info *next; }; -faim_export int aim_icq_reqofflinemsgs(aim_session_t *sess); -faim_export int aim_icq_ackofflinemsgs(aim_session_t *sess); -faim_export int aim_icq_setsecurity(aim_session_t *sess, gboolean auth_required, gboolean webaware); -faim_export int aim_icq_changepasswd(aim_session_t *sess, const char *passwd); -faim_export int aim_icq_getsimpleinfo(aim_session_t *sess, const char *uin); -faim_export int aim_icq_getalias(aim_session_t *sess, const char *uin); -faim_export int aim_icq_getallinfo(aim_session_t *sess, const char *uin); +faim_export int aim_icq_reqofflinemsgs(OscarSession *sess); +faim_export int aim_icq_ackofflinemsgs(OscarSession *sess); +faim_export int aim_icq_setsecurity(OscarSession *sess, gboolean auth_required, gboolean webaware); +faim_export int aim_icq_changepasswd(OscarSession *sess, const char *passwd); +faim_export int aim_icq_getsimpleinfo(OscarSession *sess, const char *uin); +faim_export int aim_icq_getalias(OscarSession *sess, const char *uin); +faim_export int aim_icq_getallinfo(OscarSession *sess, const char *uin); -/* 0x0017 - auth.c */ -faim_export int aim_sendcookie(aim_session_t *, aim_conn_t *, const guint16 length, const guint8 *); -faim_export int aim_admin_changepasswd(aim_session_t *, aim_conn_t *, const char *newpw, const char *curpw); -faim_export int aim_admin_reqconfirm(aim_session_t *sess, aim_conn_t *conn); -faim_export int aim_admin_getinfo(aim_session_t *sess, aim_conn_t *conn, guint16 info); -faim_export int aim_admin_setemail(aim_session_t *sess, aim_conn_t *conn, const char *newemail); -faim_export int aim_admin_setnick(aim_session_t *sess, aim_conn_t *conn, const char *newnick); +/* 0x0017 - family_auth.c */ +faim_export int aim_sendcookie(OscarSession *, OscarConnection *, const guint16 length, const guint8 *); +faim_export int aim_admin_changepasswd(OscarSession *, OscarConnection *, const char *newpw, const char *curpw); +faim_export int aim_admin_reqconfirm(OscarSession *sess, OscarConnection *conn); +faim_export int aim_admin_getinfo(OscarSession *sess, OscarConnection *conn, guint16 info); +faim_export int aim_admin_setemail(OscarSession *sess, OscarConnection *conn, const char *newemail); +faim_export int aim_admin_setnick(OscarSession *sess, OscarConnection *conn, const char *newnick); -/* 0x0018 - email.c */ -struct aim_emailinfo { +/* 0x0018 - family_alert.c */ +struct aim_emailinfo +{ guint8 *cookie16; guint8 *cookie8; char *url; @@ -1357,22 +1385,24 @@ struct aim_emailinfo *next; }; -faim_export int aim_email_sendcookies(aim_session_t *sess); -faim_export int aim_email_activate(aim_session_t *sess); +faim_export int aim_email_sendcookies(OscarSession *sess); +faim_export int aim_email_activate(OscarSession *sess); /* tlv.c - TLV handling */ /* TLV structure */ -typedef struct aim_tlv_s { +typedef struct aim_tlv_s +{ guint16 type; guint16 length; guint8 *value; } aim_tlv_t; /* TLV List structure */ -typedef struct aim_tlvlist_s { +typedef struct aim_tlvlist_s +{ aim_tlv_t *tlv; struct aim_tlvlist_s *next; } aim_tlvlist_t; @@ -1386,15 +1416,15 @@ faim_internal guint32 aim_tlv_get32(aim_tlvlist_t *list, const guint16 type, const int nth); /* TLV list handling functions */ -faim_internal aim_tlvlist_t *aim_tlvlist_read(aim_bstream_t *bs); -faim_internal aim_tlvlist_t *aim_tlvlist_readnum(aim_bstream_t *bs, guint16 num); -faim_internal aim_tlvlist_t *aim_tlvlist_readlen(aim_bstream_t *bs, guint16 len); +faim_internal aim_tlvlist_t *aim_tlvlist_read(ByteStream *bs); +faim_internal aim_tlvlist_t *aim_tlvlist_readnum(ByteStream *bs, guint16 num); +faim_internal aim_tlvlist_t *aim_tlvlist_readlen(ByteStream *bs, guint16 len); faim_internal aim_tlvlist_t *aim_tlvlist_copy(aim_tlvlist_t *orig); faim_internal int aim_tlvlist_count(aim_tlvlist_t **list); faim_internal int aim_tlvlist_size(aim_tlvlist_t **list); faim_internal int aim_tlvlist_cmp(aim_tlvlist_t *one, aim_tlvlist_t *two); -faim_internal int aim_tlvlist_write(aim_bstream_t *bs, aim_tlvlist_t **list); +faim_internal int aim_tlvlist_write(ByteStream *bs, aim_tlvlist_t **list); faim_internal void aim_tlvlist_free(aim_tlvlist_t **list); faim_internal int aim_tlvlist_add_raw(aim_tlvlist_t **list, const guint16 type, const guint16 length, const guint8 *value); @@ -1472,8 +1502,6 @@ (((*((buf)+2)) << 16) & 0x00ff0000) + \ (((*((buf)+3)) << 24) & 0xff000000)) - -faim_export int aimutil_putstr(char *, const char *, int); faim_export guint16 aimutil_iconsum(const guint8 *buf, int buflen); faim_export int aimutil_tokslen(char *toSearch, int theindex, char dl); faim_export int aimutil_itemcnt(char *toSearch, char dl);