X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmsgbase.h;h=a9a4eaba47a1ef0848d10b8c7138014d11f074b5;hb=2b80e75820618944e1c75b9c01aeeefc8b6b0c81;hp=7780d69fc54b3784e209d5d602c6ea31d618ebee;hpb=c50beab703e2be530864c7b2dd861a9f84dbbc88;p=citadel.git diff --git a/citadel/msgbase.h b/citadel/msgbase.h index 7780d69fc..a9a4eaba4 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, @@ -145,6 +145,8 @@ 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] + void CtdlSerializeMessage(struct ser_ret *, struct CtdlMessage *); void ReplicationChecks(struct CtdlMessage *); int CtdlSaveMsgPointersInRoom(char *roomname, long newmsgidlist[], int num_newmsgs, @@ -211,7 +213,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: