]> jfr.im git - irc/quakenet/newserv.git/blame - noperserv/noperserv_policy.h
Add jupe support
[irc/quakenet/newserv.git] / noperserv / noperserv_policy.h
CommitLineData
3e3692bf
CP
1#ifndef __NOPERSERV_POLICY_H
2#define __NOPERSERV_POLICY_H
3
4int noperserv_policy_command_permitted(flag_t level, nick *user);
5flag_t noperserv_policy_permitted_noticeflags(no_autheduser *target);
6void noperserv_policy_update_noticeflags(flag_t fwas, no_autheduser *target);
7flag_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
a50e1bf1
CP
26#define NL_ALL NL_MANAGEMENT | NL_TRUSTS | NL_KICKKILLS | NL_MISC | 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_KICKKILLS | NL_MISC | NL_GLINES | NL_HITS | NL_CLONING | NL_CLEARCHAN | NL_FAKEUSERS | NL_BROADCASTS | NL_OPERATIONS | NL_OPERING
3e3692bf
CP
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