33e0c1b8a4d3e5e43720766ac1a5ed137e199dfd
[runtime.git] / apps / irssi / src / perl / perl-signals.h
1 #ifndef __PERL_SIGNALS_H
2 #define __PERL_SIGNALS_H
3
4 void perl_signal_add_to(const char *signal, SV *func, int priority);
5 #define perl_signal_add_first(signal, func) \
6         perl_signal_add_to(signal, func, 0)
7 #define perl_signal_add(signal, func) \
8         perl_signal_add_to(signal, func, 1)
9 #define perl_signal_add_last(signal, func) \
10         perl_signal_add_to(signal, func, 2)
11
12 void perl_signal_remove(const char *signal, SV *func);
13 /* remove all signals used by script */
14 void perl_signal_remove_script(PERL_SCRIPT_REC *script);
15
16 void perl_command_bind_to(const char *cmd, const char *category,
17                           SV *func, int priority);
18 #define perl_command_bind_first(cmd, category, func) \
19         perl_command_bind_to(cmd, category, func, 0)
20 #define perl_command_bind(cmd, category, func) \
21         perl_command_bind_to(cmd, category, func, 1)
22 #define perl_command_bind_last(cmd, category, func) \
23         perl_command_bind_to(cmd, category, func, 2)
24
25 void perl_command_unbind(const char *cmd, SV *func);
26
27 void perl_signals_start(void);
28 void perl_signals_stop(void);
29
30 void perl_signals_init(void);
31 void perl_signals_deinit(void);
32
33 #endif