Anope IRC Services  Version 1.8
hybrid.h
Go to the documentation of this file.
1 /* Hybrid IRCD functions
2  *
3  * (C) 2003-2014 Anope Team
4  * (C) 2012-2013 by the Hybrid Development Team
5  *
6  * Please read COPYING and README for further details.
7  *
8  * Based on the original code of Epona by Lara.
9  * Based on the original code of Services by Andy Church.
10  *
11  *
12  */
13 
14 #define UMODE_a 0x00000001 /* Admin status */
15 #define UMODE_b 0x00000080 /* See bot and drone flooding notices */
16 #define UMODE_c 0x00000100 /* Client connection/quit notices */
17 #define UMODE_d 0x00000200 /* See debugging notices */
18 #define UMODE_f 0x00000400 /* See I: line full notices */
19 #define UMODE_g 0x00000800 /* Server Side Ignore */
20 #define UMODE_i 0x00000004 /* Not shown in NAMES or WHO unless you share a channel */
21 #define UMODE_k 0x00001000 /* See server generated KILL messages */
22 #define UMODE_l 0x00002000 /* See LOCOPS messages */
23 #define UMODE_n 0x00004000 /* See client nick changes */
24 #define UMODE_o 0x00000008 /* Operator status */
25 #define UMODE_r 0x00000010 /* registered nick */
26 #define UMODE_s 0x00008000 /* See general server notices */
27 #define UMODE_u 0x00010000 /* See unauthorized client notices */
28 #define UMODE_w 0x00000020 /* See server generated WALLOPS */
29 #define UMODE_x 0x00020000 /* Host name is hidden */
30 #define UMODE_y 0x00040000 /* See LINKS, STATS (if configured), TRACE notices */
31 #define UMODE_z 0x00080000 /* See oper generated WALLOPS */
32 #define UMODE_R 0x80000000 /* unmode +R - No non registered msgs */
33 
34 #define CMODE_i 0x00000001 /* Invite only */
35 #define CMODE_m 0x00000002 /* Users without +v/h/o cannot send text to the channel */
36 #define CMODE_n 0x00000004 /* Users must be in the channel to send text to it */
37 #define CMODE_p 0x00000008 /* Private is obsolete, this now restricts KNOCK */
38 #define CMODE_s 0x00000010 /* The channel does not show up on NAMES or LIST */
39 #define CMODE_t 0x00000020 /* Only chanops can change the topic */
40 #define CMODE_k 0x00000040 /* Key/password for the channel. */
41 #define CMODE_l 0x00000080 /* Limit the number of users in a channel */
42 #define CMODE_R 0x00000100 /* Only identified users can join */
43 #define CMODE_r 0x00000200 /* Set for all registered channels */
44 #define CMODE_c 0x00000400 /* Control codes cannot be sent to a channel */
45 #define CMODE_O 0x00000800 /* Oper only channel, as of hybrid7.3 */
46 #define CMODE_S 0x00001000 /* SSL only channel, as of hybrid7.3 */
47 #define CMODE_M 0x00002000 /* Non-regged nicks can't send messages */
48 
49 
50 #define DEFAULT_MLOCK CMODE_n|CMODE_r|CMODE_t
51 
52 void hybrid_set_umode(User * user, int ac, char **av);
53 void hybrid_cmd_svsnoop(char *server, int set);
54 void hybrid_cmd_remove_akill(char *user, char *host);
55 void hybrid_cmd_topic(char *whosets, char *chan, char *whosetit, char *topic, time_t when);
56 void hybrid_cmd_vhost_off(User * u);
57 void hybrid_cmd_akill(char *user, char *host, char *who, time_t when,time_t expires, char *reason);
58 void hybrid_cmd_svskill(char *source, char *user, char *buf);
59 void hybrid_cmd_svsmode(User * u, int ac, char **av);
60 void hybrid_cmd_372(char *source, char *msg);
61 void hybrid_cmd_372_error(char *source);
62 void hybrid_cmd_375(char *source);
63 void hybrid_cmd_376(char *source);
64 void hybrid_cmd_nick(char *nick, char *name, char *modes);
65 void hybrid_cmd_guest_nick(char *nick, char *user, char *host, char *real, char *modes);
66 void hybrid_cmd_mode(char *source, char *dest, char *buf);
67 void hybrid_cmd_bot_nick(char *nick, char *user, char *host, char *real, char *modes);
68 void hybrid_cmd_kick(char *source, char *chan, char *user, char *buf);
69 void hybrid_cmd_notice_ops(char *source, char *dest, char *buf);
70 void hybrid_cmd_notice(char *source, char *dest, char *buf);
71 void hybrid_cmd_notice2(char *source, char *dest, char *msg);
72 void hybrid_cmd_privmsg(char *source, char *dest, char *buf);
73 void hybrid_cmd_privmsg2(char *source, char *dest, char *msg);
74 void hybrid_cmd_serv_notice(char *source, char *dest, char *msg);
75 void hybrid_cmd_serv_privmsg(char *source, char *dest, char *msg);
76 void hybrid_cmd_bot_chan_mode(char *nick, char *chan);
77 void hybrid_cmd_351(char *source);
78 void hybrid_cmd_quit(char *source, char *buf);
79 void hybrid_cmd_pong(char *servname, char *who);
80 void hybrid_cmd_join(char *user, char *channel, time_t chantime);
81 void hybrid_cmd_unsqline(char *user);
82 void hybrid_cmd_invite(char *source, char *chan, char *nick);
83 void hybrid_cmd_part(char *nick, char *chan, char *buf);
84 void hybrid_cmd_391(char *source, char *timestr);
85 void hybrid_cmd_250(char *buf);
86 void hybrid_cmd_307(char *buf);
87 void hybrid_cmd_311(char *buf);
88 void hybrid_cmd_312(char *buf);
89 void hybrid_cmd_317(char *buf);
90 void hybrid_cmd_219(char *source, char *letter);
91 void hybrid_cmd_401(char *source, char *who);
92 void hybrid_cmd_318(char *source, char *who);
93 void hybrid_cmd_242(char *buf);
94 void hybrid_cmd_243(char *buf);
95 void hybrid_cmd_211(char *buf);
96 void hybrid_cmd_global(char *source, char *buf);
97 void hybrid_cmd_global_legacy(char *source, char *fmt);
98 void hybrid_cmd_sqline(char *mask, char *reason);
99 void hybrid_cmd_squit(char *servname, char *message);
100 void hybrid_cmd_svso(char *source, char *nick, char *flag);
101 void hybrid_cmd_chg_nick(char *oldnick, char *newnick);
102 void hybrid_cmd_svsnick(char *source, char *guest, time_t when);
103 void hybrid_cmd_vhost_on(char *nick, char *vIdent, char *vhost);
104 void hybrid_cmd_connect(int servernum);
105 void hybrid_cmd_bob();
106 void hybrid_cmd_svshold(char *nick);
107 void hybrid_cmd_release_svshold(char *nick);
108 void hybrid_cmd_unsgline(char *mask);
109 void hybrid_cmd_unszline(char *mask);
110 void hybrid_cmd_szline(char *mask, char *reason, char *whom);
111 void hybrid_cmd_sgline(char *mask, char *reason);
112 void hybrid_cmd_unban(char *name, char *nick);
113 void hybrid_cmd_svsmode_chan(char *name, char *mode, char *nick);
114 void hybrid_cmd_svid_umode(char *nick, time_t ts);
115 void hybrid_cmd_nc_change(User * u);
116 void hybrid_cmd_svid_umode2(User * u, char *ts);
117 void hybrid_cmd_svid_umode3(User * u, char *ts);
118 void hybrid_cmd_eob();
119 int hybrid_flood_mode_check(char *value);
120 void hybrid_cmd_jupe(char *jserver, char *who, char *reason);
121 int hybrid_valid_nick(char *nick);
122 void hybrid_cmd_ctcp(char *source, char *dest, char *buf);
123 int hybrid_event_notice(char *source, int argc, char **argv);
void hybrid_cmd_unsqline(char *user)
Definition: hybrid.c:649
void hybrid_cmd_307(char *buf)
Definition: hybrid.c:1022
int hybrid_valid_nick(char *nick)
Definition: hybrid.c:1408
void hybrid_cmd_chg_nick(char *oldnick, char *newnick)
Definition: hybrid.c:1318
void hybrid_cmd_notice_ops(char *source, char *dest, char *buf)
Definition: hybrid.c:1139
void hybrid_cmd_akill(char *user, char *host, char *who, time_t when, time_t expires, char *reason)
Definition: hybrid.c:698
void hybrid_cmd_211(char *buf)
Definition: hybrid.c:1107
int hybrid_flood_mode_check(char *value)
Definition: hybrid.c:1376
void hybrid_cmd_svskill(char *source, char *user, char *buf)
Definition: hybrid.c:748
void hybrid_cmd_unszline(char *mask)
Definition: hybrid.c:681
void hybrid_cmd_372(char *source, char *msg)
Definition: hybrid.c:981
void hybrid_cmd_jupe(char *jserver, char *who, char *reason)
Definition: hybrid.c:1390
void hybrid_cmd_invite(char *source, char *chan, char *nick)
Definition: hybrid.c:1168
void hybrid_cmd_global(char *source, char *buf)
Definition: hybrid.c:523
void hybrid_cmd_318(char *source, char *who)
Definition: hybrid.c:1080
void hybrid_cmd_svid_umode2(User *u, char *ts)
Definition: hybrid.c:1304
void hybrid_cmd_notice(char *source, char *dest, char *buf)
Definition: hybrid.c:484
void hybrid_cmd_remove_akill(char *user, char *host)
Definition: hybrid.c:705
void hybrid_cmd_eob()
Definition: hybrid.c:904
void hybrid_cmd_unban(char *name, char *nick)
Definition: hybrid.c:1276
void hybrid_cmd_svso(char *source, char *nick, char *flag)
Definition: hybrid.c:1271
void hybrid_cmd_svsmode_chan(char *name, char *mode, char *nick)
Definition: hybrid.c:1283
void hybrid_cmd_join(char *user, char *channel, time_t chantime)
Definition: hybrid.c:742
void hybrid_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
Definition: hybrid.c:732
void hybrid_cmd_mode(char *source, char *dest, char *buf)
Definition: hybrid.c:1115
void hybrid_cmd_svsmode(User *u, int ac, char **av)
Definition: hybrid.c:756
void hybrid_cmd_svid_umode3(User *u, char *ts)
Definition: hybrid.c:1309
void hybrid_cmd_nick(char *nick, char *name, char *modes)
Definition: hybrid.c:1123
void hybrid_cmd_svid_umode(char *nick, time_t ts)
Definition: hybrid.c:1290
void hybrid_cmd_311(char *buf)
Definition: hybrid.c:1031
void hybrid_cmd_ctcp(char *source, char *dest, char *buf)
Definition: hybrid.c:1425
void hybrid_cmd_219(char *source, char *letter)
Definition: hybrid.c:1058
void hybrid_cmd_sqline(char *mask, char *reason)
Definition: hybrid.c:641
void hybrid_cmd_nc_change(User *u)
Definition: hybrid.c:1298
void hybrid_cmd_sgline(char *mask, char *reason)
Definition: hybrid.c:657
void hybrid_cmd_privmsg2(char *source, char *dest, char *msg)
Definition: hybrid.c:508
void hybrid_cmd_global_legacy(char *source, char *fmt)
Definition: hybrid.c:532
int hybrid_event_notice(char *source, int argc, char **argv)
Definition: hybrid.c:1438
void hybrid_set_umode(User *user, int ac, char **av)
Definition: hybrid.c:153
void hybrid_cmd_guest_nick(char *nick, char *user, char *host, char *real, char *modes)
Definition: hybrid.c:1264
void hybrid_cmd_401(char *source, char *who)
Definition: hybrid.c:1071
E int servernum
Definition: extern.h:615
void hybrid_cmd_375(char *source)
Definition: hybrid.c:992
void hybrid_cmd_squit(char *servname, char *message)
Definition: hybrid.c:1177
void hybrid_cmd_part(char *nick, char *chan, char *buf)
Definition: hybrid.c:845
void hybrid_cmd_release_svshold(char *nick)
Definition: hybrid.c:1248
void hybrid_cmd_391(char *source, char *timestr)
Definition: hybrid.c:1004
void hybrid_cmd_pong(char *servname, char *who)
Definition: hybrid.c:1162
void hybrid_cmd_243(char *buf)
Definition: hybrid.c:1098
void hybrid_cmd_351(char *source)
Definition: hybrid.c:1198
void hybrid_cmd_bob()
Definition: hybrid.c:826
void hybrid_cmd_317(char *buf)
Definition: hybrid.c:1049
void hybrid_cmd_connect(int servernum)
Definition: hybrid.c:809
void hybrid_cmd_unsgline(char *mask)
Definition: hybrid.c:665
void hybrid_cmd_bot_nick(char *nick, char *user, char *host, char *real, char *modes)
Definition: hybrid.c:836
void hybrid_cmd_privmsg(char *source, char *dest, char *buf)
Definition: hybrid.c:500
void hybrid_cmd_quit(char *source, char *buf)
Definition: hybrid.c:1153
void hybrid_cmd_serv_notice(char *source, char *dest, char *msg)
Definition: hybrid.c:513
void hybrid_cmd_svsnoop(char *server, int set)
Definition: hybrid.c:710
void hybrid_cmd_topic(char *whosets, char *chan, char *whosetit, char *topic, time_t when)
Definition: hybrid.c:720
void hybrid_cmd_bot_chan_mode(char *nick, char *chan)
Definition: hybrid.c:1147
void hybrid_cmd_250(char *buf)
Definition: hybrid.c:1013
void hybrid_cmd_svsnick(char *source, char *guest, time_t when)
Definition: hybrid.c:1259
void hybrid_cmd_notice2(char *source, char *dest, char *msg)
Definition: hybrid.c:495
void hybrid_cmd_372_error(char *source)
Definition: hybrid.c:986
void hybrid_cmd_svshold(char *nick)
Definition: hybrid.c:1242
void hybrid_cmd_vhost_off(User *u)
Definition: hybrid.c:726
void hybrid_cmd_serv_privmsg(char *source, char *dest, char *msg)
Definition: hybrid.c:518
void hybrid_cmd_242(char *buf)
Definition: hybrid.c:1089
void hybrid_cmd_szline(char *mask, char *reason, char *whom)
Definition: hybrid.c:673
void hybrid_cmd_312(char *buf)
Definition: hybrid.c:1040
void hybrid_cmd_376(char *source)
Definition: hybrid.c:998
void hybrid_cmd_kick(char *source, char *chan, char *user, char *buf)
Definition: hybrid.c:1131