]> andersk Git - libfaim.git/blobdiff - include/aim.h
- Thu Aug 16 06:17:57 PDT 2001
[libfaim.git] / include / aim.h
index 16217d501699147d1516a4121451b167911f7a68..bb3b8d6379489e86fec07b9dbb089a0a6f9233e1 100644 (file)
@@ -260,6 +260,7 @@ struct aim_conn_t {
   struct aim_rxcblist_t *handlerlist;
   faim_mutex_t active; /* lock around read/writes */
   faim_mutex_t seqnum_lock; /* lock around ->seqnum changes */
+  void *sessv;
   struct aim_conn_t *next;
 };
 
@@ -514,6 +515,7 @@ 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, aim_rxcallback_t newhandler, u_short flags);
 faim_export int aim_clearhandlers(struct aim_conn_t *conn);
 
+faim_export struct aim_session_t *aim_conn_getsess(struct aim_conn_t *conn);
 faim_export void aim_conn_close(struct aim_conn_t *deadconn);
 faim_export struct aim_conn_t *aim_newconn(struct aim_session_t *, int type, char *dest);
 faim_export int aim_conngetmaxfd(struct aim_session_t *);
@@ -529,6 +531,8 @@ faim_export void aim_session_init(struct aim_session_t *, unsigned long flags, i
 faim_export void aim_session_kill(struct aim_session_t *);
 faim_export void aim_setupproxy(struct aim_session_t *sess, char *server, char *username, char *password);
 faim_export struct aim_conn_t *aim_getconn_type(struct aim_session_t *, int type);
+faim_export struct aim_conn_t *aim_getconn_type_all(struct aim_session_t *, int type);
+faim_export struct aim_conn_t *aim_getconn_fd(struct aim_session_t *, int fd);
 
 /* aim_misc.c */
 
@@ -542,13 +546,13 @@ faim_export struct aim_conn_t *aim_getconn_type(struct aim_session_t *, int type
 
 #define AIM_WARN_ANON                     0x01
 
-faim_export int aim_send_warning(struct aim_session_t *sess, struct aim_conn_t *conn, char *destsn, int anon);
+faim_export int aim_send_warning(struct aim_session_t *sess, struct aim_conn_t *conn, const char *destsn, unsigned long flags);
 faim_export unsigned long aim_bos_nop(struct aim_session_t *, struct aim_conn_t *);
 faim_export unsigned long aim_flap_nop(struct aim_session_t *sess, struct aim_conn_t *conn);
 faim_export unsigned long aim_bos_setidle(struct aim_session_t *, struct aim_conn_t *, u_long);
 faim_export unsigned long aim_bos_changevisibility(struct aim_session_t *, struct aim_conn_t *, int, char *);
 faim_export unsigned long aim_bos_setbuddylist(struct aim_session_t *, struct aim_conn_t *, char *);
-faim_export unsigned long aim_bos_setprofile(struct aim_session_t *, struct aim_conn_t *, char *, char *, unsigned short);
+faim_export unsigned long aim_bos_setprofile(struct aim_session_t *sess, struct aim_conn_t *conn, const char *profile, const char *awaymsg, unsigned short caps);
 faim_export unsigned long aim_bos_setgroupperm(struct aim_session_t *, struct aim_conn_t *, u_long);
 faim_export unsigned long aim_bos_clientready(struct aim_session_t *, struct aim_conn_t *);
 faim_export unsigned long aim_bos_reqrate(struct aim_session_t *, struct aim_conn_t *);
@@ -632,17 +636,17 @@ struct aim_fileheader_t {
 };
 
 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 */
@@ -651,57 +655,60 @@ struct aim_chat_roominfo {
 #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 unsigned long aim_send_im_ext(struct aim_session_t *sess, struct aim_conn_t *conn, struct aim_sendimext_args *args);
-faim_export unsigned long aim_send_im(struct aim_session_t *, struct aim_conn_t *, const char *destsn, unsigned short flags, const char *msg);
+faim_export int aim_send_im_ext(struct aim_session_t *sess, struct aim_conn_t *conn, struct aim_sendimext_args *args);
+faim_export int aim_send_im(struct aim_session_t *, struct aim_conn_t *, const char *destsn, unsigned short flags, const char *msg);
 faim_export int aim_send_icon(struct aim_session_t *sess, struct aim_conn_t *conn, const char *sn, const unsigned char *icon, int iconlen, time_t stamp, unsigned short iconsum);
 faim_export unsigned short aim_iconsum(const unsigned char *buf, int buflen);
 faim_export int aim_send_im_direct(struct aim_session_t *, struct aim_conn_t *, char *);
This page took 0.038998 seconds and 4 git commands to generate.