#ifndef MSGBASE_H
#define MSGBASE_H
-#define aide_message(text, subject) quickie_message("Citadel",NULL,NULL,AIDEROOM,text,0,subject)
enum {
MSGS_ALL,
MSGS_SEARCH
};
+enum {
+ MSG_HDRS_BRIEF = 0,
+ MSG_HDRS_ALL = 1,
+ MSG_HDRS_EUID = 4
+};
+
/*
* Possible return codes from CtdlOutputMsg()
*/
char *recp_ignet;
char *recp_room;
char *display_recp;
+ char *bounce_to;
+ char *envelope_from;
};
#define RECPTYPES_MAGIC 0xfeeb
long send_message (struct CtdlMessage *);
void loadtroom (void);
long CtdlSubmitMsg(struct CtdlMessage *, struct recptypes *, char *, int);
-void quickie_message (char *, char *, char *, char *, char *, int, char *);
+void quickie_message (const char *, const char *, char *, char *, const char *, int, const char *);
void cmd_ent0 (char *entargs);
void cmd_dele (char *delstr);
void cmd_move (char *args);
int TDAP_ProcessAdjRefCountQueue(void);
void simple_listing(long, void *);
int CtdlMsgCmp(struct CtdlMessage *msg, struct CtdlMessage *template);
+typedef void (*ForEachMsgCallback)(long MsgNumber, void *UserData);
int CtdlForEachMessage(int mode,
long ref,
char *searchstring,
char *content_type,
struct CtdlMessage *compare,
- void (*CallBack) (long, void *),
+ ForEachMsgCallback CallBack,
void *userdata);
int CtdlDeleteMessages(char *, long *, int, char *);
-void CtdlWriteObject(char *, char *, char *, struct ctdluser *,
- int, int, unsigned int);
+void CtdlWriteObject(char *req_room, /* Room to stuff it in */
+ char *content_type, /* MIME type of this object */
+ char *raw_message, /* Data to be written */
+ off_t raw_length, /* Size of raw_message */
+ struct ctdluser *is_mailbox, /* Mailbox room? */
+ int is_binary, /* Is encoding necessary? */
+ int is_unique, /* Del others of this type? */
+ unsigned int flags /* Internal save flags */
+);
struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body);
void CtdlFreeMessage(struct CtdlMessage *msg);
void serialize_message(struct ser_ret *, struct CtdlMessage *);
int flags /* should the bessage be exported clean? */
);
-#define QP_EADDR (1<<0)
-#define CRLF (1<<1)
-#define ESC_DOT (1<<2)
+/* Flags which may be passed to CtdlOutputMsg() and CtdlOutputPreLoadedMsg() */
+#define QP_EADDR (1<<0) /* quoted-printable encode email addresses */
+#define CRLF (1<<1)
+#define ESC_DOT (1<<2) /* output a line containing only "." as ".." instead */
+#define SUPPRESS_ENV_TO (1<<3) /* suppress Envelope-to: header (warning: destructive!) */
int CtdlOutputPreLoadedMsg(struct CtdlMessage *,
int mode, /* how would you like that message? */
int headers_only, /* eschew the message body? */
- int do_proto, /* do Citadel protocol responses? */
+ int do_proto, /* do Citadel protocol responses? */
int crlf, /* 0=LF, 1=CRLF */
int flags /* should the bessage be exported clean? */
);
-int CtdlCopyMsgsToRoom(long *msgnum, int num_msgs, char *dest);
int CtdlDoIHavePermissionToDeleteMessagesFromThisRoom(void);
+int CtdlDoIHavePermissionToReadMessagesInThisRoom(void);
enum {
POST_LOGGED_IN,
int CtdlCheckInternetMailPermission(struct ctdluser *who);
int CtdlIsMe(char *addr, int addr_buf_len);
+/*
+ * Use of aide_message is deprecated.
+ * It has been replaced with CtdlAideMessage.
+ * All parameters remain the same.
+*/
+void aide_message(char *text, char *subject) __attribute__ ((deprecated));
+
+
+
#endif /* MSGBASE_H */