1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
/* SolidIRCD functions
*
* (C) 2003-2009 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for furhter details.
*
* Based on the original code of Epona by Lara.
* Based on the original code of Services by Andy Church.
*
*
*/
/*************************************************************************/
#define UMODE_a 0x00000001 /* umode +a - Services Admin */
#define UMODE_h 0x00000002 /* umode +h - Helper */
#define UMODE_i 0x00000004 /* umode +i - Invisible */
#define UMODE_o 0x00000008 /* umode +o - Oper */
#define UMODE_r 0x00000010 /* umode +r - registered nick */
#define UMODE_w 0x00000020 /* umode +w - Get wallops */
#define UMODE_A 0x00000040 /* umode +A - Server Admin */
#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */
#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */
#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */
#define UMODE_j 0x00000400 /* umode +j - client rejection notices */
#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */
#define UMODE_O 0x00001000 /* umode +O - Local Oper */
#define UMODE_s 0x00002000 /* umode +s - Server notices */
#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */
#define UMODE_k 0x00008000 /* umode +k - Server kill messages */
#define UMODE_f 0x00010000 /* umode +f - Server flood messages */
#define UMODE_y 0x00020000 /* umode +y - Stats/links */
#define UMODE_d 0x00040000 /* umode +d - Debug info */
#define UMODE_g 0x00080000 /* umode +g - Globops */
#define UMODE_b 0x00100000 /* umode +b - Chatops */
#define UMODE_n 0x00200000 /* umode +n - Routing Notices */
#define UMODE_m 0x00400000 /* umode +m - spambot notices */
#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */
#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */
#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */
#define UMODE_C 0x04000000 /* umode +C - conops */
#define UMODE_v 0x10000000 /* umode +v - hostmasking */
#define UMODE_H 0x20000000 /* umode +H - Oper Hiding */
#define UMODE_z 0x40000000 /* umode +z - SSL */
#define UMODE_R 0x80000000 /* umode +R - No non registered msgs */
#define CMODE_i 0x00000001
#define CMODE_m 0x00000002
#define CMODE_n 0x00000004
#define CMODE_p 0x00000008
#define CMODE_s 0x00000010
#define CMODE_t 0x00000020
#define CMODE_k 0x00000040 /* These two used only by ChanServ */
#define CMODE_l 0x00000080
#define CMODE_R 0x00000100 /* Only identified users can join */
#define CMODE_r 0x00000200 /* Set for all registered channels */
#define CMODE_c 0x00000400 /* Colors can't be used */
#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
#define CMODE_j 0x00001000 /* join throttle */
#define CMODE_S 0x00002000 /* SSL only */
#define CMODE_N 0x00004000 /* No Nickname change */
#define CMODE_O 0x00008000 /* Only opers can join */
#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
void solidircd_ProcessUsermodes(User * user, int ac, const char **av);
void solidircd_cmd_topic(const char *whosets, const char *chan, const char *whosetit, const char *topic, time_t when);
void solidircd_SendVhostDel(User * u);
void solidircd_SendAkill(const char *user, const char *host, const char *who, time_t when,time_t expires, const char *reason);
void solidircd_SendSVSKill(const char *source, const char *user, const char *buf);
void solidircd_SendSVSMode(User * u, int ac, const char **av);
void solidircd_cmd_372(const char *source, const char *msg);
void solidircd_cmd_372_error(const char *source);
void solidircd_cmd_375(const char *source);
void solidircd_cmd_376(const char *source);
void solidircd_cmd_nick(const char *nick, const char *name, const char *modes);
void solidircd_SendGuestNick(const char *nick, const char *user, const char *host, const char *real, const char *modes);
void solidircd_SendMode(const char *source, const char *dest, const char *buf);
void solidircd_SendClientIntroduction(const char *nick, const char *user, const char *host, const char *real, const char *modes);
void solidircd_SendKick(const char *source, const char *chan, const char *user, const char *buf);
void solidircd_SendNoticeChanops(const char *source, const char *dest, const char *buf);
void solidircd_cmd_notice(const char *source, const char *dest, const char *buf);
void solidircd_cmd_notice2(const char *source, const char *dest, const char *msg);
void solidircd_cmd_privmsg(const char *source, const char *dest, const char *buf);
void solidircd_cmd_privmsg2(const char *source, const char *dest, const char *msg);
void solidircd_SendGlobalNotice(const char *source, const char *dest, const char *msg);
void solidircd_SendGlobalPrivmsg(const char *source, const char *dest, const char *msg);
void solidircd_SendBotOp(const char *nick, const char *chan);
void solidircd_cmd_351(const char *source);
void solidircd_SendQuit(const char *source, const char *buf);
void solidircd_SendPong(const char *servname, const char *who);
void solidircd_SendJoin(const char *user, const char *channel, time_t chantime);
void solidircd_SendSQLineDel(const char *user);
void solidircd_SendInvite(const char *source, const char *chan, const char *nick);
void solidircd_SendPart(const char *nick, const char *chan, const char *buf);
void solidircd_cmd_391(const char *source, const char *timestr);
void solidircd_cmd_250(const char *buf);
void solidircd_cmd_307(const char *buf);
void solidircd_cmd_311(const char *buf);
void solidircd_cmd_312(const char *buf);
void solidircd_cmd_317(const char *buf);
void solidircd_cmd_219(const char *source, const char *letter);
void solidircd_cmd_401(const char *source, const char *who);
void solidircd_cmd_318(const char *source, const char *who);
void solidircd_cmd_242(const char *buf);
void solidircd_cmd_243(const char *buf);
void solidircd_cmd_211(const char *buf);
void solidircd_SendGlobops(const char *source, const char *buf);
void solidircd_SendGlobops_legacy(const char *source, const char *fmt);
void solidircd_SendSQLine(const char *mask, const char *reason);
void solidircd_SendSquit(const char *servname, const char *message);
void solidircd_SendSVSO(const char *source, const char *nick, const char *flag);
void solidircd_SendChangeBotNick(const char *oldnick, const char *newnick);
void solidircd_SendForceNickChange(const char *source, const char *guest, time_t when);
void solidircd_SendVhost(const char *nick, const char *vIdent, const char *vhost);
void solidircd_SendConnect(int servernum);
void solidircd_SendSVSHOLD(const char *nick);
void solidircd_SendSVSHOLDDel(const char *nick);
void solidircd_SendSGLineDel(const char *mask);
void solidircd_SendSZLineDel(const char *mask);
void solidircd_SendSZLine(const char *mask, const char *reason, const char *whom);
void solidircd_SendSGLine(const char *mask, const char *reason);
void solidircd_SendBanDel(const char *name, const char *nick);
void solidircd_SendSVSMode_chan(const char *name, const char *mode, const char *nick);
void solidircd_SendSVID(const char *nick, time_t ts);
void solidircd_SendUnregisteredNick(User * u);
void solidircd_SendSVID2(User * u, const char *ts);
void solidircd_SendSVID3(User * u, const char *ts);
void solidircd_SendEOB();
int solidircd_IsFloodModeParamValid(const char *value);
void solidircd_SendJupe(const char *jserver, const char *who, const char *reason);
int solidircd_IsNickValid(const char *nick);
void solidircd_SendCTCP(const char *source, const char *dest, const char *buf);
class SolidIRCdProto : public IRCDProtoNew {
public:
void SendSVSNOOP(const char *, int);
void SendAkillDel(const char *, const char *);
} ircd_proto;
|