Import ezmlm-idx 0.40
[ezmlm] / subscribe.h
1 /*$Id: subscribe.h,v 1.14 1999/10/03 19:23:31 lindberg Exp $*/
2 /*$Name: ezmlm-idx-040 $*/
3 #ifndef SUBSCRIBE_H
4 #define SUBSCRIBE_H
5
6 #include "stralloc.h"
7
8 /* these are the subroutines used for interfacing with the subscriber and */
9 /* moderator address databases. For the put/to address output routines */
10 /* the 'username' if defined is omitted from the output. flagadd = 1 adds */
11 /* a subscriber, flagadd = 0 removes the address. To use e.g. a SQL data- */
12 /* base for addresses, just replace these routines and rebuild ezmlm. */
13
14 #ifdef WITH_PROTO
15
16 extern int subscribe(char *dir,char *username,int flagadd,char *from,
17 char *event, int flagmysql, int forcehash,
18 char *table_override, char *FATAL);
19
20 extern char *issub(char *dir,char *username, char *table_override, char *FATAL);
21
22 extern unsigned long putsubs(char *dir,
23 unsigned long hash_lo, unsigned long hash_hi,
24 int subwrite(), int flagsql, char *fatal);
25
26 /* int subwrite(char *string, unsigned int length); */
27
28 extern void tagmsg(char *dir, unsigned long msgnum,
29 char *seed, char *action, char *hashout,
30 unsigned long bodysize, unsigned long chunk, char *fatal);
31
32 extern char *logmsg(char *dir, unsigned long msgnum, unsigned long,
33 unsigned long subs, int done);
34
35 extern char *checktag(char *dir, unsigned long msgnum, unsigned long listno,
36 char *action, char *seed, char *hash);
37
38 extern void searchlog(char *dir, char *search, int subwrite(), char *fatal);
39
40 extern char *opensql(char *dir, char **table);
41
42 extern void closesql();
43
44 #else
45
46 extern int subscribe();
47 extern char *issub();
48 extern unsigned long putsubs();
49 extern void tagmsg();
50 extern char *logmsg();
51 char *checktag();
52 extern int subreceipt();
53 extern char *getlistno();
54 extern char *opensql();
55 extern void closesql();
56 extern void searchlog();
57
58 #endif
59 extern void *psql; /* contains SQL handle */
60 #endif