Move user privileges functions to user_ops.c, room access check functions to room_ops.c
[citadel.git] / citadel / msgbase.h
index 45a7f765cac64776a0122c4cb1ba1e8c4754439d..11a46d6ea544afab8b3432ee00b78e953ad37c8c 100644 (file)
@@ -97,8 +97,7 @@ extern struct addresses_to_be_filed *atbf;
 int alias (char *name);
 void cmd_msgs (char *cmdbuf);
 void cmd_isme (char *cmdbuf);
-void help_subst (char *strbuf, char *source, char *dest);
-void do_help_subst (char *buffer);
+
 void memfmout (char *mptr, const char *nl);
 void output_mime_parts(char *);
 void cmd_msg0 (char *cmdbuf);
@@ -129,7 +128,10 @@ void flood_protect_quickie_message(const char *from,
                                   const char *subject,
                                   int nCriterions,
                                   const char **CritStr,
-                                  long *CritStrLen);
+                                  long *CritStrLen,
+                                  long ccid,
+                                  long ioid,
+                                  time_t NOW);
 
 void cmd_ent0 (char *entargs);
 void cmd_dele (char *delstr);
@@ -160,11 +162,24 @@ void CtdlWriteObject(char *req_room,                      /* Room to stuff it in */
                        unsigned int flags              /* Internal save flags */
 );
 struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body);
-struct CtdlMessage * CtdlDuplicateMessage(struct CtdlMessage *OrgMsg);
-void CtdlFreeMessage(struct CtdlMessage *msg);
-void CtdlFreeMessageContents(struct CtdlMessage *msg);
+struct CtdlMessage * CM_Duplicate
+                       (struct CtdlMessage *OrgMsg);
+int  CM_IsEmpty        (struct CtdlMessage *Msg, eMsgField which);
+void CM_SetField       (struct CtdlMessage *Msg, eMsgField which, const char *buf, long length);
+void CM_SetFieldLONG   (struct CtdlMessage *Msg, eMsgField which, long lvalue);
+void CM_CopyField      (struct CtdlMessage *Msg, eMsgField WhichToPutTo, eMsgField WhichtToCopy);
+void CM_CutFieldAt     (struct CtdlMessage *Msg, eMsgField WhichToCut, long maxlen);
+void CM_FlushField     (struct CtdlMessage *Msg, eMsgField which);
+void CM_SetAsField     (struct CtdlMessage *Msg, eMsgField which, char **buf, long length);
+void CM_SetAsFieldSB   (struct CtdlMessage *Msg, eMsgField which, StrBuf **buf);
+void CM_GetAsField     (struct CtdlMessage *Msg, eMsgField which, char **ret, long *retlen);
+void CM_PrependToField (struct CtdlMessage *Msg, eMsgField which, const char *buf, long length);
+
+void CM_Free           (struct CtdlMessage *msg);
+void CM_FreeContents   (struct CtdlMessage *msg);
+int  CM_IsValidMsg     (struct CtdlMessage *msg);
+
 void serialize_message(struct ser_ret *, struct CtdlMessage *);
-int is_valid_message(struct CtdlMessage *);
 void ReplicationChecks(struct CtdlMessage *);
 int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newmsgs,
                        int do_repl_check, struct CtdlMessage *supplied_msg, int suppress_refcount_adj);
@@ -203,22 +218,6 @@ int CtdlOutputPreLoadedMsg(struct CtdlMessage *,
                           int crlf,            /* 0=LF, 1=CRLF */
                           int flags            /* should the bessage be exported clean? */
 );
-int CtdlDoIHavePermissionToDeleteMessagesFromThisRoom(void);
-int CtdlDoIHavePermissionToReadMessagesInThisRoom(void);
-
-enum {
-       POST_LOGGED_IN,
-       POST_EXTERNAL,
-       CHECK_EXISTANCE,
-       POST_LMTP
-};
-
-int CtdlDoIHavePermissionToPostInThisRoom(char *errmsgbuf, 
-       size_t n, 
-       const char* RemoteIdentifier,
-       int PostPublic,
-       int is_reply
-);
 
 
 /* values for which_set */
@@ -251,7 +250,6 @@ struct CtdlMessage *CtdlMakeMessage(
         char *preformatted_text,        /* ...or NULL to read text from client */
        char *references                /* Thread references */
 );
-int CtdlCheckInternetMailPermission(struct ctdluser *who);
 int CtdlIsMe(char *addr, int addr_buf_len);
 
 /*