]> jfr.im git - irc/freenode/syn.git/blob - syn.h
add licence info
[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)(user_t *);
22 const char* (*encode_ident_for_host)(const char *);
23 time_t (*syn_parse_duration)(const char *);
24 const char* (*syn_format_expiry)(time_t);
25
26 static inline void use_syn_util_symbols(module_t *m)
27 {
28 MODULE_TRY_REQUEST_SYMBOL(m, decode_hex_ip, "syn/util", "_decode_hex_ip");
29 MODULE_TRY_REQUEST_SYMBOL(m, get_random_host_part, "syn/util", "_get_random_host_part");
30 MODULE_TRY_REQUEST_SYMBOL(m, encode_ident_for_host, "syn/util", "_encode_ident_for_host");
31 MODULE_TRY_REQUEST_SYMBOL(m, syn_parse_duration, "syn/util", "_syn_parse_duration");
32 MODULE_TRY_REQUEST_SYMBOL(m, syn_format_expiry, "syn/util", "_syn_format_expiry");
33 }
34
35 kline_t* (*syn_find_kline)(const char *, const char *);
36 void (*syn_kline)(const char *, int, const char *, ...);
37 void (*syn_kill)(user_t *, const char *, ...);
38 void (*syn_kill2)(user_t *, const char *, const char *, ...);
39 void (*syn_kill_or_kline)(user_t *, int, const char *, ...);
40
41 static inline void use_syn_kline_symbols(module_t *m)
42 {
43 MODULE_TRY_REQUEST_SYMBOL(m, syn_find_kline, "syn/kline", "_syn_find_kline");
44 MODULE_TRY_REQUEST_SYMBOL(m, syn_kline, "syn/kline", "_syn_kline");
45 MODULE_TRY_REQUEST_SYMBOL(m, syn_kill, "syn/kline", "_syn_kill");
46 MODULE_TRY_REQUEST_SYMBOL(m, syn_kill2, "syn/kline", "_syn_kill2");
47 MODULE_TRY_REQUEST_SYMBOL(m, syn_kill_or_kline, "syn/kline", "_syn_kill_or_kline");
48 }
49
50 typedef struct
51 {
52 const char *ip;
53 user_t *u;
54 int added;
55 } syn_kline_check_data_t;
56
57 // This in user_t.flags means the user connected through a facility of some sort,
58 // so our gateway-cloak-enforcement needs to take effect.
59 #define SYN_UF_FACILITY_USER 0x80000000
60 #define SYN_UF_NO_GATEWAY_IP 0x40000000
61
62 #include "syn_hooktypes.h"
63
64 #endif