1 |
/* MemoServ-related structures. |
2 |
* |
3 |
* IRC Services is copyright (c) 1996-2009 Andrew Church. |
4 |
* E-mail: <achurch@achurch.org> |
5 |
* Parts written by Andrew Kempe and others. |
6 |
* This program is free but copyrighted software; see the file GPL.txt for |
7 |
* details. |
8 |
*/ |
9 |
|
10 |
#ifndef MEMOSERV_H |
11 |
#define MEMOSERV_H |
12 |
|
13 |
/*************************************************************************/ |
14 |
|
15 |
/* Memo info structures. */ |
16 |
|
17 |
typedef struct |
18 |
{ |
19 |
uint32 number; /* Index number -- not necessarily array position! */ |
20 |
int16 flags; |
21 |
time_t time; /* When memo was sent */ |
22 |
time_t firstread; /* When memo was first read */ |
23 |
char sender[NICKMAX]; |
24 |
char *channel; /* Channel name if this is a channel memo, else NULL */ |
25 |
char *text; |
26 |
} Memo; |
27 |
|
28 |
#define MF_UNREAD 0x0001 /* Memo has not yet been read */ |
29 |
#define MF_EXPIREOK 0x0002 /* Memo may be expired */ |
30 |
|
31 |
#define MF_ALLFLAGS 0x0003 /* All memo flags */ |
32 |
|
33 |
struct memoinfo_ |
34 |
{ |
35 |
Memo *memos; |
36 |
int16 memos_count; |
37 |
int16 memomax; |
38 |
}; |
39 |
|
40 |
/*************************************************************************/ |
41 |
|
42 |
/* Definitions of special memo limit values: */ |
43 |
|
44 |
#define MEMOMAX_UNLIMITED -1 |
45 |
#define MEMOMAX_DEFAULT -2 |
46 |
|
47 |
#define MEMOMAX_MAX 32767 /* Maximum memo limit */ |
48 |
|
49 |
/*************************************************************************/ |
50 |
|
51 |
/* Priorities for use with receive memo callback: */ |
52 |
|
53 |
#define MS_RECEIVE_PRI_CHECK 10 /* For checking ability to send */ |
54 |
#define MS_RECEIVE_PRI_DELIVER 0 /* For actually sending the memo */ |
55 |
|
56 |
/*************************************************************************/ |
57 |
|
58 |
/* Exports: */ |
59 |
|
60 |
extern char *s_MemoServ; |
61 |
extern int32 MSMaxMemos; |
62 |
|
63 |
/*************************************************************************/ |
64 |
|
65 |
#endif /* MEMOSERV_H */ |
66 |
|
67 |
/* |
68 |
* Local variables: |
69 |
* c-file-style: "stroustrup" |
70 |
* c-file-offsets: ((case-label . *) (statement-case-intro . *)) |
71 |
* indent-tabs-mode: nil |
72 |
* End: |
73 |
* |
74 |
* vim: expandtab shiftwidth=4: |
75 |
*/ |