| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
#ifndef _EXTMAIL_H |
|---|
| 4 |
#define _EXTMAIL_H |
|---|
| 5 |
|
|---|
| 6 |
#define M_MSGREAD 0x0001U |
|---|
| 7 |
#define M_UNREAD 0x0FFEU |
|---|
| 8 |
#define M_CLEARED 0x0002U |
|---|
| 9 |
#define M_URGENT 0x0004U |
|---|
| 10 |
#define M_MASS 0x0008U |
|---|
| 11 |
#define M_EXPIRE 0x0010U |
|---|
| 12 |
#define M_RECEIPT 0x0020U |
|---|
| 13 |
#define M_TAG 0x0040U |
|---|
| 14 |
#define M_FORWARD 0x0080U |
|---|
| 15 |
|
|---|
| 16 |
#define M_FMASK 0xF0FFU |
|---|
| 17 |
#define M_ALL 0x1000U |
|---|
| 18 |
#define M_MSUNREAD 0x2000U |
|---|
| 19 |
#define M_REPLY 0x4000U |
|---|
| 20 |
#define M_FOLDER 0x8000U |
|---|
| 21 |
|
|---|
| 22 |
#define MAX_FOLDERS 15 |
|---|
| 23 |
#define FOLDER_NAME_LEN (BUFFER_LEN / 30) |
|---|
| 24 |
#define FolderBit(f) (256 * (f)) |
|---|
| 25 |
#define Urgent(m) (m->read & M_URGENT) |
|---|
| 26 |
#define Mass(m) (m->read & M_MASS) |
|---|
| 27 |
#define Expire(m) (m->read & M_EXPIRE) |
|---|
| 28 |
#define Receipt(m) (m->read & M_RECEIPT) |
|---|
| 29 |
#define Forward(m) (m->read & M_FORWARD) |
|---|
| 30 |
#define Reply(m) (m->read & M_REPLY) |
|---|
| 31 |
#define Tagged(m) (m->read & M_TAG) |
|---|
| 32 |
#define Folder(m) ((m->read & ~M_FMASK) >> 8U) |
|---|
| 33 |
#define Read(m) (m->read & M_MSGREAD) |
|---|
| 34 |
#define Cleared(m) (m->read & M_CLEARED) |
|---|
| 35 |
#define Unread(m) (!Read(m)) |
|---|
| 36 |
#define All(ms) (ms.flags & M_ALL) |
|---|
| 37 |
#define AllInFolder(ms) (ms.flags & M_FOLDER) |
|---|
| 38 |
#define MSFolder(ms) ((int)((ms.flags & ~M_FMASK) >> 8U)) |
|---|
| 39 |
|
|---|
| 40 |
|
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 |
|
|---|
| 44 |
struct mail_selector { |
|---|
| 45 |
int low; |
|---|
| 46 |
int high; |
|---|
| 47 |
mail_flag flags; |
|---|
| 48 |
dbref player; |
|---|
| 49 |
int days; |
|---|
| 50 |
int day_comp; |
|---|
| 51 |
}; |
|---|
| 52 |
|
|---|
| 53 |
typedef int folder_array[MAX_FOLDERS + 1]; |
|---|
| 54 |
#define FA_Init(fa,x) \ |
|---|
| 55 |
for (x = 0; x <= MAX_FOLDERS; x++) \ |
|---|
| 56 |
fa[x] = 0 |
|---|
| 57 |
|
|---|
| 58 |
#define SUBJECT_COOKIE '/' |
|---|
| 59 |
#define SUBJECT_LEN 60 |
|---|
| 60 |
|
|---|
| 61 |
#define MDBF_SUBJECT 0x1 |
|---|
| 62 |
#define MDBF_ALIASES 0x2 |
|---|
| 63 |
|
|---|
| 64 |
|
|---|
| 65 |
#define MDBF_NEW_EOD 0x4 |
|---|
| 66 |
|
|---|
| 67 |
|
|---|
| 68 |
#define MDBF_SENDERCTIME 0x8 |
|---|
| 69 |
|
|---|
| 70 |
|
|---|
| 71 |
extern struct mail *maildb; |
|---|
| 72 |
extern void set_player_folder(dbref player, int fnum); |
|---|
| 73 |
extern void add_folder_name(dbref player, int fld, const char *name); |
|---|
| 74 |
extern struct mail *find_exact_starting_point(dbref player); |
|---|
| 75 |
extern void check_mail(dbref player, int folder, int silent); |
|---|
| 76 |
extern void check_all_mail(dbref player); |
|---|
| 77 |
extern int dump_mail(FILE * fp); |
|---|
| 78 |
extern int load_mail(FILE * fp); |
|---|
| 79 |
extern void mail_init(void); |
|---|
| 80 |
extern int mdb_top; |
|---|
| 81 |
extern void do_mail(dbref player, char *arg1, char *arg2); |
|---|
| 82 |
enum mail_stats_type { MSTATS_COUNT, MSTATS_READ, MSTATS_SIZE }; |
|---|
| 83 |
extern void do_mail_stats(dbref player, char *name, enum mail_stats_type full); |
|---|
| 84 |
extern void do_mail_debug(dbref player, const char *action, const char *victim); |
|---|
| 85 |
extern void do_mail_nuke(dbref player); |
|---|
| 86 |
extern void do_mail_change_folder(dbref player, char *fld, char *newname); |
|---|
| 87 |
extern void do_mail_unfolder(dbref player, char *fld); |
|---|
| 88 |
extern void do_mail_list(dbref player, const char *msglist); |
|---|
| 89 |
extern void do_mail_read(dbref player, char *msglist); |
|---|
| 90 |
extern void do_mail_clear(dbref player, const char *msglist); |
|---|
| 91 |
extern void do_mail_unclear(dbref player, const char *msglist); |
|---|
| 92 |
extern void do_mail_purge(dbref player); |
|---|
| 93 |
extern void do_mail_file(dbref player, char *msglist, char *folder); |
|---|
| 94 |
extern void do_mail_tag(dbref player, const char *msglist); |
|---|
| 95 |
extern void do_mail_untag(dbref player, const char *msglist); |
|---|
| 96 |
extern void do_mail_fwd(dbref player, char *msglist, char *tolist); |
|---|
| 97 |
extern void do_mail_send |
|---|
| 98 |
(dbref player, char *tolist, char *message, mail_flag flags, |
|---|
| 99 |
int silent, int nosig); |
|---|
| 100 |
|
|---|
| 101 |
#endif |
|---|