X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmsgbase.h;h=6d5f726baafd6fe68cd73aa999829c6b3631cbb1;hb=5a307b0a88035de98ff16efc347994c82bdab8a9;hp=7780d69fc54b3784e209d5d602c6ea31d618ebee;hpb=c50beab703e2be530864c7b2dd861a9f84dbbc88;p=citadel.git diff --git a/citadel/msgbase.h b/citadel/msgbase.h index 7780d69fc..6d5f726ba 100644 --- a/citadel/msgbase.h +++ b/citadel/msgbase.h @@ -77,7 +77,7 @@ void memfmout (char *mptr, const char *nl); void output_mime_parts(char *); long send_message (struct CtdlMessage *); void loadtroom (void); -long CtdlSubmitMsg(struct CtdlMessage *, struct recptypes *, const char *, int); +long CtdlSubmitMsg(struct CtdlMessage *, recptypes *, const char *, int); void quickie_message(const char *from, const char *fromaddr, @@ -96,7 +96,7 @@ void flood_protect_quickie_message(const char *from, const char *subject, int nCriterions, const char **CritStr, - long *CritStrLen, + const long *CritStrLen, long ccid, long ioid, time_t NOW); @@ -145,6 +145,10 @@ void CM_Free (struct CtdlMessage *msg); void CM_FreeContents (struct CtdlMessage *msg); int CM_IsValidMsg (struct CtdlMessage *msg); +#define CM_KEY(Message, Which) Message->cm_fields[Which], Message->cm_lengths[Which] +#define CM_RANGE(Message, Which) Message->cm_fields[Which], \ + Message->cm_fields[Which] + Message->cm_lengths[Which] + void CtdlSerializeMessage(struct ser_ret *, struct CtdlMessage *); void ReplicationChecks(struct CtdlMessage *); int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newmsgs, @@ -161,14 +165,15 @@ StrBuf *CtdlReadMessageBodyBuf(char *terminator, /* token signalling EOT */ ); 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? */ - int crlf, /* 0=LF, 1=CRLF */ - char *section, /* output a message/rfc822 section */ - int flags, /* should the bessage be exported clean? */ - char **Author, /* if you want to know the author of the message... */ - char **Address /* if you want to know the sender address of the message... */ + int mode, /* how would you like that message? */ + int headers_only, /* eschew the message body? */ + int do_proto, /* do Citadel protocol responses? */ + int crlf, /* 0=LF, 1=CRLF */ + char *section, /* output a message/rfc822 section */ + int flags, /* should the bessage be exported clean? */ + char **Author, /* if you want to know the author of the message... */ + char **Address, /* if you want to know the sender address of the message... */ + char **MessageID /* if you want to know the Message-ID of the message... */ ); /* Flags which may be passed to CtdlOutputMsg() and CtdlOutputPreLoadedMsg() */ @@ -211,7 +216,29 @@ struct CtdlMessage *CtdlMakeMessage( char *preformatted_text, /* ...or NULL to read text from client */ char *references /* Thread references */ ); -int CtdlIsMe(char *addr, int addr_buf_len); + +struct CtdlMessage *CtdlMakeMessageLen( + struct ctdluser *author, /* author's user structure */ + char *recipient, /* NULL if it's not mail */ + long rcplen, + char *recp_cc, /* NULL if it's not mail */ + long cclen, + char *room, /* room where it's going */ + long roomlen, + int type, /* see MES_ types in header file */ + int format_type, /* variformat, plain text, MIME... */ + char *fake_name, /* who we're masquerading as */ + long fnlen, + char *my_email, /* which of my email addresses to use (empty is ok) */ + long myelen, + char *subject, /* Subject (optional) */ + long subjlen, + char *supplied_euid, /* ...or NULL if this is irrelevant */ + long euidlen, + char *preformatted_text, /* ...or NULL to read text from client */ + long textlen, + char *references, /* Thread references */ + long reflen); /* * loading messages async via an FD: