X-Git-Url: https://git.distorted.org.uk/~mdw/ezmlm/blobdiff_plain/5b62e993b0af39700031c2875d7f6654e6a02850..f8beb284087c279acfb30506f5bb32baa4949b44:/subscribe.h diff --git a/subscribe.h b/subscribe.h index 48a2f1c..ee43887 100644 --- a/subscribe.h +++ b/subscribe.h @@ -1,10 +1,60 @@ +/*$Id: subscribe.h,v 1.14 1999/10/03 19:23:31 lindberg Exp $*/ +/*$Name: ezmlm-idx-040 $*/ #ifndef SUBSCRIBE_H #define SUBSCRIBE_H -#include "strerr.h" +#include "stralloc.h" -extern struct strerr subscribe_err; +/* these are the subroutines used for interfacing with the subscriber and */ +/* moderator address databases. For the put/to address output routines */ +/* the 'username' if defined is omitted from the output. flagadd = 1 adds */ +/* a subscriber, flagadd = 0 removes the address. To use e.g. a SQL data- */ +/* base for addresses, just replace these routines and rebuild ezmlm. */ + +#ifdef WITH_PROTO + +extern int subscribe(char *dir,char *username,int flagadd,char *from, + char *event, int flagmysql, int forcehash, + char *table_override, char *FATAL); + +extern char *issub(char *dir,char *username, char *table_override, char *FATAL); + +extern unsigned long putsubs(char *dir, + unsigned long hash_lo, unsigned long hash_hi, + int subwrite(), int flagsql, char *fatal); + +/* int subwrite(char *string, unsigned int length); */ + +extern void tagmsg(char *dir, unsigned long msgnum, + char *seed, char *action, char *hashout, + unsigned long bodysize, unsigned long chunk, char *fatal); + +extern char *logmsg(char *dir, unsigned long msgnum, unsigned long, + unsigned long subs, int done); + +extern char *checktag(char *dir, unsigned long msgnum, unsigned long listno, + char *action, char *seed, char *hash); + +extern void searchlog(char *dir, char *search, int subwrite(), char *fatal); + +extern char *opensql(char *dir, char **table); + +extern void closesql(); + +#else extern int subscribe(); +extern char *issub(); +extern unsigned long putsubs(); +extern void tagmsg(); +extern char *logmsg(); +char *checktag(); +extern int subreceipt(); +extern char *getlistno(); +extern char *opensql(); +extern void closesql(); +extern void searchlog(); #endif +extern void *psql; /* contains SQL handle */ +#endif