blob: 8fe6eb41ff6e1066012bfea2ba191247aba89309 (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# Atheme hooks system
#
# hook_add_event("NAME")
# hook_call_NAME(argument)
# hook_add_NAME(handler)
# hook_add_first_NAME(handler)
# hook_del_NAME(handler)
#
# Hooks that take a direct pointer to an object may not destroy that object.
# If this is necessary it must be done in an event added from the hook.
# Hooks with _can_ or _check_ in the name may fill in a field in the argument
# structure to indicate what should happen. They are not allowed to destroy
# the object.
# channel_join, user_add and user_nickchange may destroy the object, by
# setting the pointer in the argument structure to NULL, deleting the object
# from Atheme's state and sending an appropriate message to ircd. Note that
# channel_join may kick the user but may not clear the channel.
# Most other hooks may not destroy the object or prevent the action.
#
# Current list of hooks
#
# Name Argument type
# (main)
config_purge void
config_ready void
db_write database_handle_t *
# XXX: for groupserv. remove when we have proper dependency resolution in opensex.
db_write_pre_ca database_handle_t *
db_saved void
shutdown void
# (ircd)
channel_add channel_t *
channel_delete channel_t *
channel_tschange channel_t *
channel_join hook_channel_joinpart_t *
channel_part hook_channel_joinpart_t *
channel_topic channel_t *
channel_can_change_topic hook_channel_topic_check_t *
channel_message hook_cmessage_data_t *
server_add server_t *
server_eob server_t *
server_delete hook_server_delete_t *
user_add hook_user_nick_t *
user_delete user_t *
user_nickchange hook_user_nick_t *
user_away user_t *
user_deoper user_t *
user_oper user_t *
# (services)
channel_akick_add chanacs_t *
channel_can_register hook_channel_register_check_t *
channel_drop mychan_t *
channel_info hook_channel_req_t *
channel_register hook_channel_req_t *
channel_check_expire hook_expiry_req_t *
nick_can_register hook_user_register_check_t *
nick_group hook_user_req_t *
nick_check user_t *
nick_enforce hook_nick_enforce_t *
nick_ungroup hook_user_req_t *
nick_check_expire hook_expiry_req_t *
sasl_input sasl_message_t *
service_introduce service_t *
user_can_register hook_user_register_check_t *
user_drop myuser_t *
user_identify user_t *
user_info hook_user_req_t *
user_register myuser_t *
user_verify_register hook_user_req_t *
user_check_expire hook_expiry_req_t *
user_rename hook_user_rename_t *
myuser_delete myuser_t *
metadata_change hook_metadata_change_t *
channel_pick_successor hook_channel_succession_req_t *
grant_channel_access user_t *
|