]> jfr.im git - irc/quakenet/newserv.git/blob - noperserv/noperserv_policy.h
Began manual merge.
[irc/quakenet/newserv.git] / noperserv / noperserv_policy.h
1 #ifndef __NOPERSERV_POLICY_H
2 #define __NOPERSERV_POLICY_H
3
4 int noperserv_policy_command_permitted(flag_t level, nick *user);
5 flag_t noperserv_policy_permitted_noticeflags(no_autheduser *target);
6 void noperserv_policy_update_noticeflags(flag_t fwas, no_autheduser *target);
7 flag_t noperserv_policy_permitted_modifications(no_autheduser *au, no_autheduser *target);
8
9 #define NO_DEFAULT_LEVEL 0
10 #define NO_FIRST_USER_LEVEL __NO_DEVELOPER | __NO_OPER | __NO_STAFF | NO_DEFAULT_LEVEL
11 #define NO_DEFAULT_NOTICELEVEL NL_NOTICES
12 #define NO_FIRST_USER_DEFAULT_NOTICELEVEL NL_ALL | NO_DEFAULT_NOTICELEVEL
13
14 #define NOIsStaff(user) (NOGetAuthLevel(user) & __NO_STAFF)
15 #define NOIsTrust(user) (NOGetAuthLevel(user) & __NO_TRUST)
16 #define NOIsSec(user) (NOGetAuthLevel(user) & __NO_SEC)
17 #define NOIsOper(user) (NOGetAuthLevel(user) & __NO_OPER)
18 #define NOIsDeveloper(user) (NOGetAuthLevel(user) & __NO_DEVELOPER)
19
20 #define NOIsLeastStaff(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_OPER | __NO_STAFF))
21 #define NOIsLeastOper(user) (NOGetAuthLevel(user) & (__NO_OPER | __NO_DEVELOPER))
22 #define NOIsLeastTrust(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_TRUST))
23 #define NOIsLeastSec(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_SEC))
24
25 #define NL_PEONIC_FLAGS NL_NOTICES
26 #define NL_ALL NL_MANAGEMENT | NL_TRUSTS | NL_KICKS | NL_KILLS | NL_GLINES | NL_HITS | NL_CLONING | NL_CLEARCHAN | NL_FAKEUSERS | NL_BROADCASTS | NL_OPERATIONS | NL_OPERING | NL_ALL_COMMANDS
27 #define NL_OPER_FLAGS NL_MANAGEMENT | NL_TRUSTS | NL_KICKS | NL_KILLS | NL_GLINES | NL_HITS | NL_CLONING | NL_CLEARCHAN | NL_FAKEUSERS | NL_BROADCASTS | NL_OPERATIONS | NL_OPERING
28 #define NL_SEC_FLAGS NL_CLONING
29 #define NL_TRUST_FLAGS NL_TRUSTS | NL_CLONING
30 #define NL_DEV_FLAGS NL_ALL_COMMANDS
31
32 #endif