1 /* $Id$ */
2 
3 #ifndef _AREALIST_H
4 #define _AREALIST_H
5 
6 #include "fidoconf.h"
7 
8 typedef struct arealisttiem {
9 	int active;
10         int rescanable;
11         int readonly;
12         int writeonly;
13         int fullaccess;
14         int mandatory;
15 	char *tag;
16         char *grp;
17 	char *desc;
18 } s_arealistitem, *ps_arealistitem;
19 
20 typedef struct arealist {
21 	int count;
22 	int maxcount;
23 	ps_arealistitem areas;
24 } s_arealist, *ps_arealist;
25 
26 HUSKYEXT ps_arealist newAreaList(s_fidoconfig *cfg);
27 HUSKYEXT void        freeAreaList(ps_arealist al);
28 HUSKYEXT int         addAreaListItem(ps_arealist al, int active, int rescanable, int import, int aexport, int mandatory, char *tag, char *desc, char *grp);
29 HUSKYEXT void        sortAreaList(ps_arealist al);
30 HUSKYEXT void        sortAreaListNoDupes(unsigned int halcnt, ps_arealist *hal, int nodupes);
31 HUSKYEXT char        *formatAreaList(ps_arealist al, int maxlen, char *activechars, int grps);
32 
33 #endif
34