diff options
Diffstat (limited to 'FICS/lists.h')
-rw-r--r-- | FICS/lists.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/FICS/lists.h b/FICS/lists.h new file mode 100644 index 0000000..f26fcb9 --- /dev/null +++ b/FICS/lists.h @@ -0,0 +1,76 @@ +/* lists.h + * + * Revised by maxxe 23/12/15 + */ + +#include <stdio.h> + +#ifndef _LISTS_H +#define _LISTS_H + +#include "command.h" /* param_list */ + +enum ListWhich { + L_ADMIN = 0, + L_REMOVEDCOM, + L_FILTER, + L_BAN, + L_ABUSER, + L_MUZZLE, + L_CMUZZLE, + L_FM, + L_IM, + L_GM, + L_BLIND, + L_TEAMS, + L_COMPUTER, + L_TD, + L_CENSOR, + L_GNOTIFY, + L_NOPLAY, + L_NOTIFY, + L_CHANNEL +}; + +enum ListPerm { + P_HEAD = 0, + P_GOD, + P_ADMIN, + P_PUBLIC, + P_PERSONAL +}; + +typedef struct { + enum ListPerm rights; + char *name; +} ListTable; + +/* + * Max names in one list. + */ +#define MAX_GLOBAL_LIST_SIZE 200 + +typedef struct _List List; + +struct _List { + enum ListWhich which; + int numMembers; + char *member[MAX_GLOBAL_LIST_SIZE]; + struct _List *next; +}; + +extern int com_addlist(int, param_list); +extern int com_showlist(int, param_list); +extern int com_sublist(int, param_list); + +extern int in_list(int, enum ListWhich, char *); +extern int list_add(int, enum ListWhich, char *); +extern int list_addsub(int, char *, char *, int); +extern int list_channels(int, int); +extern int list_size(int, enum ListWhich); +extern int list_sub(int, enum ListWhich, char *); +extern int titled_player(int, char *); +extern void list_free(List *); +extern void list_print(FILE *, int, enum ListWhich); + +#endif /* _LISTS_H */ |