* New MSGS subcommand 'EUID' to fetch msgnum of a message by EUID ... similar to...
[citadel.git] / citadel / msgbase.h
index f064dbbddea66741133bf70584a1dfce2253becb..f058527e35d2b67bfa5ade251d17f768a39147ad 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef MSGBASE_H
 #define MSGBASE_H
 
-#define aide_message(text, subject)      quickie_message("Citadel",NULL,NULL,AIDEROOM,text,0,subject)
+#define aide_message(text, subject)      quickie_message("Citadel",NULL,NULL,AIDEROOM,text,FMT_CITADEL,subject)
 
 enum {
        MSGS_ALL,
@@ -13,7 +13,8 @@ enum {
        MSGS_LAST,
        MSGS_GT,
        MSGS_EQ,
-       MSGS_SEARCH
+       MSGS_SEARCH,
+       MSGS_EUID
 };
 
 /*
@@ -66,6 +67,8 @@ struct recptypes {
        char *recp_ignet;
        char *recp_room;
        char *display_recp;
+       char *bounce_to;
+       char *envelope_from;
 };
 
 #define RECPTYPES_MAGIC 0xfeeb
@@ -100,7 +103,7 @@ void cmd_dlat (char *cmdbuf);
 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);
@@ -119,8 +122,15 @@ int CtdlForEachMessage(int mode,
                         void (*CallBack) (long, void *),
                        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 *);
@@ -144,6 +154,8 @@ int CtdlOutputMsg(long msg_num,             /* message number (local) to fetch */
 
 #define QP_EADDR (1<<0)
 #define CRLF (1<<1)
+#define ESC_DOT (1<<2)
+
 int CtdlOutputPreLoadedMsg(struct CtdlMessage *,
                           int mode,            /* how would you like that message? */
                           int headers_only,    /* eschew the message body? */
@@ -151,7 +163,6 @@ int CtdlOutputPreLoadedMsg(struct CtdlMessage *,
                           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);
 
 enum {