]>
Commit | Line | Data |
---|---|---|
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 | #define NOIsRelay(user) (NOGetAuthLevel(user) & __NO_RELAY) | |
20 | ||
21 | #define NOIsLeastStaff(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_OPER | __NO_STAFF)) | |
22 | #define NOIsLeastOper(user) (NOGetAuthLevel(user) & (__NO_OPER | __NO_DEVELOPER)) | |
23 | #define NOIsLeastTrust(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_TRUST)) | |
24 | #define NOIsLeastSec(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_SEC)) | |
25 | #define NOIsLeastRelay(user) (NOGetAuthLevel(user) & (__NO_DEVELOPER | __NO_RELAY)) | |
26 | ||
27 | #define NL_PEONIC_FLAGS NL_NOTICES | |
28 | #define NL_ALL NL_MANAGEMENT | NL_TRUSTS | NL_KICKKILLS | NL_MISC | NL_GLINES | NL_GLINES_AUTO | NL_HITS | NL_CLONING | NL_CLEARCHAN | NL_FAKEUSERS | NL_BROADCASTS | NL_OPERATIONS | NL_OPERING | NL_ALL_COMMANDS | |
29 | #define NL_OPER_FLAGS NL_MANAGEMENT | NL_TRUSTS | NL_KICKKILLS | NL_MISC | NL_GLINES | NL_GLINES_AUTO | NL_HITS | NL_CLONING | NL_CLEARCHAN | NL_FAKEUSERS | NL_BROADCASTS | NL_OPERATIONS | NL_OPERING | |
30 | #define NL_SEC_FLAGS NL_CLONING | |
31 | #define NL_TRUST_FLAGS NL_TRUSTS | NL_CLONING | |
32 | #define NL_DEV_FLAGS NL_ALL_COMMANDS | |
33 | ||
34 | #endif |