]> code.citadel.org Git - citadel.git/blobdiff - citadel/msgbase.h
* Temporary hack to ig_tcp_server() to listen on an arbitrary port if the
[citadel.git] / citadel / msgbase.h
index 9cae5ab297f84d11f62d31960367acecb2661af9..51e104ff99c3e7b80aa2d56faff2452f85cf8b9f 100644 (file)
  */
 #define SM_VERIFY_GOODNESS     1       /* Verify this is a real msg number */
 #define SM_DO_REPL_CHECK       2       /* Perform replication checks */
+#define SM_DONT_BUMP_REF       3       /* Don't bump reference count
+                                          (use with extreme care!!!!!!) */
+
+
+/*
+ * Possible return codes from CtdlOutputMsg()
+ */
+enum {
+       om_ok,
+       om_not_logged_in,
+       om_no_such_msg,
+       om_mime_error
+};
+       
 
 
 struct ma_info {
@@ -36,7 +50,6 @@ void help_subst (char *strbuf, char *source, char *dest);
 void do_help_subst (char *buffer);
 void memfmout (int width, char *mptr, char subst);
 void output_mime_parts(char *);
-void output_message (char *, int, int);
 void cmd_msg0 (char *cmdbuf);
 void cmd_msg2 (char *cmdbuf);
 void cmd_msg3 (char *cmdbuf);
@@ -44,7 +57,7 @@ void cmd_msg4 (char *cmdbuf);
 void cmd_opna (char *cmdbuf);
 long send_message (struct CtdlMessage *, int, FILE *);
 void loadtroom (void);
-void CtdlSaveMsg(struct CtdlMessage *, char *, char *, int, int);
+long CtdlSaveMsg(struct CtdlMessage *, char *, char *, int, int);
 void quickie_message (char *, char *, char *, char *);
 struct CtdlMessage *make_message (struct usersupp *, char *,
                   char *, int, int, int, char *);
@@ -71,3 +84,12 @@ int is_valid_message(struct CtdlMessage *);
 int ReplicationChecks(struct CtdlMessage *);
 int CtdlSaveMsgPointerInRoom(char *roomname, long msgid, int flags);
 char *CtdlReadMessageBody(char *terminator, size_t maxlen, char *exist);
+char *CtdlGetSysConfig(char *sysconfname);
+void CtdlPutSysConfig(char *sysconfname, char *sysconfdata);
+int CtdlOutputMsg(long msg_num,                /* message number (local) to fetch */
+               int mode,               /* how would you like that message? */
+               int headers_only,       /* eschew the message body? */
+               int do_proto,           /* do Citadel protocol responses? */
+               FILE *outfp,
+               int outsock,
+               int crlf);