]> jfr.im git - irc/freenode/syn.git/blame - syn.h
add licence info
[irc/freenode/syn.git] / syn.h
CommitLineData
3e65cfbd
SB
1#ifndef syn_h
2#define syn_h
3
1686d5bf 4service_t *syn;
3e65cfbd
SB
5
6void (*syn_report)(char *, ...);
92d07997 7void (*syn_report2)(unsigned int, char *, ...);
b56c9b7a 8void (*syn_debug)(int, char *, ...);
3e65cfbd 9
bc7288fb 10static inline void use_syn_main_symbols(module_t *m)
3e65cfbd 11{
b918d5d9
SB
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");
4f46b336 15 service_t **syn_tmp;
b918d5d9 16 MODULE_TRY_REQUEST_SYMBOL(m, syn_tmp, "syn/main", "syn");
4f46b336 17 syn = *syn_tmp;
3e65cfbd
SB
18}
19
345beb92 20const char* (*decode_hex_ip)(const char *);
dc11be33 21const char* (*get_random_host_part)(user_t *);
d0f72f63 22const char* (*encode_ident_for_host)(const char *);
b45a5ca4
SB
23time_t (*syn_parse_duration)(const char *);
24const char* (*syn_format_expiry)(time_t);
345beb92 25
bc7288fb 26static inline void use_syn_util_symbols(module_t *m)
345beb92 27{
2497348d
JK
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");
345beb92
SB
33}
34
854959a5 35kline_t* (*syn_find_kline)(const char *, const char *);
33ca2ed9
SB
36void (*syn_kline)(const char *, int, const char *, ...);
37void (*syn_kill)(user_t *, const char *, ...);
345beb92 38void (*syn_kill2)(user_t *, const char *, const char *, ...);
33ca2ed9 39void (*syn_kill_or_kline)(user_t *, int, const char *, ...);
854959a5 40
bc7288fb 41static inline void use_syn_kline_symbols(module_t *m)
854959a5 42{
b918d5d9
SB
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");
854959a5
SB
48}
49
41bf8d8d
SB
50typedef struct
51{
52 const char *ip;
53 user_t *u;
e27c00bd 54 int added;
41bf8d8d
SB
55} syn_kline_check_data_t;
56
9d4dc4ef
SB
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
d2b5e766 60#define SYN_UF_NO_GATEWAY_IP 0x40000000
9d4dc4ef 61
6e89586c 62#include "syn_hooktypes.h"
3e65cfbd
SB
63
64#endif