};
struct aim_filetransfer_priv {
- char sn[MAXSNLEN];
- char cookie[8];
- char ip[30];
- int state;
- struct aim_fileheader_t fh;
+ char sn[MAXSNLEN];
+ char cookie[8];
+ char ip[30];
+ int state;
+ struct aim_fileheader_t fh;
};
struct aim_chat_roominfo {
- u_short exchange;
- char *name;
- u_short instance;
+ unsigned short exchange;
+ char *name;
+ unsigned short instance;
};
#define AIM_IMFLAGS_AWAY 0x01 /* mark as an autoreply */
#define AIM_IMFLAGS_ISO_8859_1 0x08
#define AIM_IMFLAGS_BUDDYREQ 0x10 /* buddy icon requested */
#define AIM_IMFLAGS_HASICON 0x20 /* already has icon (timestamp included) */
+#define AIM_IMFLAGS_SUBENC_MACINTOSH 0x40 /* damn that Steve Jobs! */
struct aim_sendimext_args {
- const char *destsn;
- unsigned short flags;
- const char *msg;
- int msglen;
- int iconlen;
- time_t iconstamp;
- unsigned short iconsum;
+ const char *destsn;
+ unsigned short flags;
+ const char *msg;
+ int msglen;
+ int iconlen;
+ time_t iconstamp;
+ unsigned short iconsum;
};
struct aim_incomingim_ch1_args {
- char *msg;
- int msglen;
- unsigned long icbmflags;
- unsigned short flag1;
- unsigned short flag2;
- int finlen;
- unsigned char fingerprint[10];
- time_t iconstamp;
+ char *msg;
+ int msglen;
+ unsigned long icbmflags;
+ unsigned short flag1;
+ unsigned short flag2;
+ int finlen;
+ unsigned char fingerprint[10];
+ time_t iconstamp;
+ int extdatalen;
+ unsigned char *extdata;
};
struct aim_incomingim_ch2_args {
- unsigned short reqclass;
- unsigned short status;
- union {
- struct {
- unsigned int length;
- time_t timestamp;
- unsigned char *icon;
- } icon;
- struct {
- } voice;
- struct aim_directim_priv *directim;
- struct {
- char *msg;
- char *encoding;
- char *lang;
- struct aim_chat_roominfo roominfo;
- } chat;
- struct {
- char *ip;
- unsigned char *cookie;
- } getfile;
- struct {
- } sendfile;
- } info;
+ unsigned short reqclass;
+ unsigned short status;
+ union {
+ struct {
+ unsigned int length;
+ time_t timestamp;
+ unsigned char *icon;
+ } icon;
+ struct {
+ } voice;
+ struct aim_directim_priv *directim;
+ struct {
+ char *msg;
+ char *encoding;
+ char *lang;
+ struct aim_chat_roominfo roominfo;
+ } chat;
+ struct {
+ char *ip;
+ unsigned char *cookie;
+ } getfile;
+ struct {
+ } sendfile;
+ } info;
};
faim_export int aim_send_im_ext(struct aim_session_t *sess, struct aim_conn_t *conn, struct aim_sendimext_args *args);