]> jfr.im git - irc/freenode/syn.git/blob - syn.h
masks.c: add help files
[irc/freenode/syn.git] / syn.h
1 #ifndef syn_h
2 #define syn_h
3
4 service_t *syn;
5
6 void (*syn_report)(char *, ...);
7 void (*syn_report2)(unsigned int, char *, ...);
8 void (*syn_debug)(int, char *, ...);
9
10 static inline void use_syn_main_symbols(module_t *m)
11 {
12 MODULE_TRY_REQUEST_SYMBOL(m, syn_report, "syn/main", "syn_report");
13 MODULE_TRY_REQUEST_SYMBOL(m, syn_report2, "syn/main", "syn_report2");
14 MODULE_TRY_REQUEST_SYMBOL(m, syn_debug, "syn/main", "syn_debug");
15 service_t **syn_tmp;
16 MODULE_TRY_REQUEST_SYMBOL(m, syn_tmp, "syn/main", "syn");
17 syn = *syn_tmp;
18 }
19
20 const char* (*decode_hex_ip)(const char *);
21 const char* (*get_random_host_part)();
22 time_t (*syn_parse_duration)(const char *);
23 const char* (*syn_format_expiry)(time_t);
24
25 static inline void use_syn_util_symbols(module_t *m)
26 {
27 MODULE_TRY_REQUEST_SYMBOL(m, decode_hex_ip, "syn/util", "decode_hex_ip");
28 MODULE_TRY_REQUEST_SYMBOL(m, get_random_host_part, "syn/util", "get_random_host_part");
29 MODULE_TRY_REQUEST_SYMBOL(m, syn_parse_duration, "syn/util", "syn_parse_duration");
30 MODULE_TRY_REQUEST_SYMBOL(m, syn_format_expiry, "syn/util", "syn_format_expiry");
31 }
32
33 kline_t* (*syn_find_kline)(const char *, const char *);
34 void (*syn_kline)(const char *, int, const char *, ...);
35 void (*syn_kill)(user_t *, const char *, ...);
36 void (*syn_kill2)(user_t *, const char *, const char *, ...);
37 void (*syn_kill_or_kline)(user_t *, int, const char *, ...);
38
39 static inline void use_syn_kline_symbols(module_t *m)
40 {
41 MODULE_TRY_REQUEST_SYMBOL(m, syn_find_kline, "syn/kline", "_syn_find_kline");
42 MODULE_TRY_REQUEST_SYMBOL(m, syn_kline, "syn/kline", "_syn_kline");
43 MODULE_TRY_REQUEST_SYMBOL(m, syn_kill, "syn/kline", "_syn_kill");
44 MODULE_TRY_REQUEST_SYMBOL(m, syn_kill2, "syn/kline", "_syn_kill2");
45 MODULE_TRY_REQUEST_SYMBOL(m, syn_kill_or_kline, "syn/kline", "_syn_kill_or_kline");
46 }
47
48 typedef struct
49 {
50 const char *ip;
51 user_t *u;
52 int added;
53 } syn_kline_check_data_t;
54
55 // This in user_t.flags means the user connected through a facility of some sort,
56 // so our gateway-cloak-enforcement needs to take effect.
57 #define SYN_UF_FACILITY_USER 0x80000000
58 #define SYN_UF_NO_GATEWAY_IP 0x40000000
59
60 #include "syn_hooktypes.h"
61
62 #endif