X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/212380e3f42f585dc1ea927402252eb943f91f7b..16d8d9fc6d5131eebc8fd10b4a025c0f8eda06f7:/include/hook.h diff --git a/include/hook.h b/include/hook.h index b3d608b..120fe7c 100644 --- a/include/hook.h +++ b/include/hook.h @@ -10,25 +10,26 @@ typedef struct { char *name; - dlink_list hooks; + rb_dlink_list hooks; } hook; typedef void (*hookfn) (void *data); -int h_iosend_id; -int h_iorecv_id; -int h_iorecvctrl_id; +extern int h_iosend_id; +extern int h_iorecv_id; +extern int h_iorecvctrl_id; -int h_burst_client; -int h_burst_channel; -int h_burst_finished; -int h_server_introduced; -int h_server_eob; -int h_client_exit; -int h_umode_changed; -int h_new_local_user; -int h_new_remote_user; -int h_introduce_client; +extern int h_burst_client; +extern int h_burst_channel; +extern int h_burst_finished; +extern int h_server_introduced; +extern int h_server_eob; +extern int h_client_exit; +extern int h_umode_changed; +extern int h_new_local_user; +extern int h_new_remote_user; +extern int h_introduce_client; +extern int h_can_kick; void init_hook(void); int register_hook(const char *name); @@ -70,6 +71,14 @@ typedef struct char *key; } hook_data_channel_activity; +typedef struct +{ + struct Client *client; + struct Channel *chptr; + struct Client *target; + int approved; +} hook_data_channel_approval; + typedef struct { struct Client *client;