*/
enum {
SYM_DESIRED_SECTION, /* Used by the MIME parser */
+ SYM_MA_INFO, /* Handles multipart/alternative */
SYM_MAX
};
int cs_clienttyp; /* client type code */
int cs_clientver; /* client version number */
char cs_clientname[32]; /* name of client software */
- char cs_host[25]; /* host logged in from */
+ char cs_host[26]; /* host logged in from */
FILE *download_fp; /* Fields relating to file transfer */
FILE *upload_fp;
};
+
/* Structures and declarations for function hooks of various types */
struct LogFunctionHook {
extern struct CleanupFunctionHook *CleanupHookTable;
+
+
/*
* SessionFunctionHook extensions are used for any type of hook for which
* the context in which it's being called (which is determined by the event
#define EVT_LOGOUT 4 /* A user is logging out */
#define EVT_SETPASS 5 /* Setting or changing password */
#define EVT_CMD 6 /* Called after each server command */
+#define EVT_RWHO 7 /* An RWHO command is being executed */
+
+
+
/*
#define EVT_OUTPUTMSG 101 /* Outputting a message */
+
+
+/*
+ * ExpressMessageFunctionHook extensions are used for hooks which implement
+ * the sending of an express message through various channels. Any function
+ * registered should return the number of recipients to whom the message was
+ * successfully transmitted.
+ */
+struct XmsgFunctionHook {
+ struct XmsgFunctionHook *next;
+ int (*h_function_pointer) (char *, char *, char *);
+ int order;
+};
+extern struct XmsgFunctionHook *XmsgHookTable;
+
+/* Priority levels for paging functions (lower is better) */
+enum {
+ XMSG_PRI_LOCAL, /* Other users on -this- server */
+ XMSG_PRI_REMOTE, /* Other users on a Citadel network (future) */
+ XMSG_PRI_FOREIGN, /* Contacts on foreign instant message hosts */
+ MAX_XMSG_PRI
+};
+
+
+
+
+
/* Defines the relationship of a user to a particular room */
struct visit {
long v_roomnum;
char cm_format_type; /* Format type */
char *cm_fields[256]; /* Data fields */
};
+
+/* Preferred field order */
+/* ********* Important fields */
+/* **************** Semi-important fields */
+/* * Message text (MUST be last) */
+#define FORDER "IPTAONHRDBCEFGJKLQSUVWXYZM"