1 /*
2  * hook.h.proto: header for hook.c
3  *
4  * Generated from hook.h.proto automatically by the Makefile
5  *
6  * @(#)$Id: hook.h 3 2008-02-25 09:49:14Z keaston $
7  */
8 
9 #ifndef __hook_h_
10 # define __hook_h_
11 
12 enum HOOK_TYPES {
13 	ACTION_LIST,
14 	BANS_LIST,
15 	BANS_FOOTER_LIST,
16 	BANS_HEADER_LIST,
17 	CDCC_NOTE_LIST,
18 	CDCC_PACK_LIST,
19 	CDCC_POSTPACK_LIST,
20 	CDCC_PREPACK_LIST,
21 	CDCC_QUEUE_LIST,
22 	CDCC_QUEUEH_LIST,
23 	CDCC_SEND_NICK_LIST,
24 	CDCC_STATS_LIST,
25 	CHANOP_LIST,
26 	CHANNEL_NICK_LIST,
27 	CHANNEL_SIGNOFF_LIST,
28 	CHANNEL_STATS_LIST,
29 	CHANNEL_SWITCH_LIST,
30 	CHANNEL_SYNCH_LIST,
31 	CLONE_LIST,
32 	CONNECT_LIST,
33 	CTCP_LIST,
34 	CTCP_REPLY_LIST,
35 	DCC_CHAT_LIST,
36 	DCC_CONNECT_LIST,
37 	DCC_ERROR_LIST,
38 	DCC_HEADER_LIST,
39 	DCC_LOST_LIST,
40 	DCC_OFFER_LIST,
41 	DCC_POST_LIST,
42 	DCC_RAW_LIST,
43 	DCC_REQUEST_LIST,
44 	DCC_STAT_LIST,
45 	DCC_STATF_LIST,
46 	DCC_STATF1_LIST,
47 	DCC_TRANSFER_STAT_LIST,
48 	DCC_UPDATE_LIST,
49 	DEBUG_LIST,
50 	DESYNC_MESSAGE_LIST,
51 	DISCONNECT_LIST,
52 	EBANS_LIST,
53 	EBANS_FOOTER_LIST,
54 	EBANS_HEADER_LIST,
55 	ENCRYPTED_NOTICE_LIST,
56 	ENCRYPTED_PRIVMSG_LIST,
57 	EXEC_LIST,
58 	EXEC_ERRORS_LIST,
59 	EXEC_EXIT_LIST,
60 	EXEC_PROMPT_LIST,
61 	EXIT_LIST,
62 	FLOOD_LIST,
63 	FTP_LIST,
64 	HELP_LIST,
65 	HELPSUBJECT_LIST,
66 	HELPTOPIC_LIST,
67 	HOOK_LIST,
68 	IDLE_LIST,
69 	INPUT_LIST,
70 	INVITE_LIST,
71 	JOIN_LIST,
72 	JOIN_ME_LIST,
73 	KICK_LIST,
74 	LEAVE_LIST,
75 	LEAVE_ME_LIST,
76 	LIST_LIST,
77 	LLOOK_ADDED_LIST,
78 	LLOOK_JOIN_LIST,
79 	LLOOK_SPLIT_LIST,
80 	MAIL_LIST,
81 	MODE_LIST,
82 	MODE_STRIPPED_LIST,
83 	MODULE_LIST,
84 	MSG_LIST,
85 	MSG_GROUP_LIST,
86 	MSGLOG_LIST,
87 	NAMES_LIST,
88 	NETSPLIT_LIST,
89 	NICK_COMP_LIST,
90 	NICKNAME_LIST,
91 	NOTE_LIST,
92 	NOTICE_LIST,
93 	NOTIFY_LIST,
94 	NOTIFY_HEADER_LIST,
95 	NOTIFY_SIGNOFF_LIST,
96 	NOTIFY_SIGNON_LIST,
97 	NSLOOKUP_LIST,
98 	ODD_SERVER_STUFF_LIST,
99 	PASTE_LIST,
100 	PUBLIC_LIST,
101 	PUBLIC_AR_LIST,
102 	PUBLIC_MSG_LIST,
103 	PUBLIC_NOTICE_LIST,
104 	PUBLIC_OTHER_LIST,
105 	PUBLIC_OTHER_AR_LIST,
106 	RAW_IRC_LIST,
107 	REDIRECT_LIST,
108 	REPLY_AR_LIST,
109 	SAVEFILE_LIST,
110 	SAVEFILEPOST_LIST,
111 	SAVEFILEPRE_LIST,
112 	SEND_ACTION_LIST,
113 	SEND_CTCP_LIST,
114 	SEND_DCC_CHAT_LIST,
115 	SEND_MSG_LIST,
116 	SEND_NOTICE_LIST,
117 	SEND_PUBLIC_LIST,
118 	SEND_TO_SERVER_LIST,
119 	SERVER_NOTICE_FAKES_LIST,
120 	SERVER_NOTICE_FAKES_MYCHANNEL_LIST,
121 	SERVER_NOTICE_FOREIGN_KILL_LIST,
122 	SERVER_NOTICE_KILL_LIST,
123 	SERVER_NOTICE_LIST,
124 	SERVER_NOTICE_LOCAL_KILL_LIST,
125 	SERVER_NOTICE_SERVER_KILL_LIST,
126 	SET_LIST,
127 	SHITLIST_LIST,
128 	SHITLIST_FOOTER_LIST,
129 	SHITLIST_HEADER_LIST,
130 	SHOWIDLE_FOOTER_LIST,
131 	SHOWIDLE_HEADER_LIST,
132 	SHOWIDLE_LIST,
133 	SIGNOFF_LIST,
134 	SILENCE_LIST,
135 	SOCKET_LIST,
136 	SOCKET_NOTIFY_LIST,
137 	STAT_LIST,
138 	STAT_FOOTER_LIST,
139 	STAT_HEADER_LIST,
140 	STATUS_UPDATE_LIST,
141 	SWITCH_CHANNELS_LIST,
142 	TIMER_LIST,
143 	TIMER_HOUR_LIST,
144 	TOPIC_LIST,
145 	URLGRAB_LIST,
146 	USAGE_LIST,
147 	USERLIST_LIST,
148 	USERLIST_FOOTER_LIST,
149 	USERLIST_HEADER_LIST,
150 	USERS_LIST,
151 	USERS_FOOTER_LIST,
152 	USERS_HEADER_LIST,
153 	USERS_IP_LIST,
154 	USERS_SERVER_LIST,
155 	USERS_SERVER_HEADER_LIST,
156 	WALL_LIST,
157 	WALLOP_LIST,
158 	WATCH_LIST,
159 	WHO_LIST,
160 	WHOLEFT_LIST,
161 	WHOLEFT_FOOTER_LIST,
162 	WHOLEFT_HEADER_LIST,
163 	WIDELIST_LIST,
164 	WINDOW_LIST,
165 	WINDOW_CREATE_LIST,
166 	WINDOW_FOCUS_LIST,
167 	WINDOW_KILL_LIST,
168 	WINDOW_SWAP_LIST,
169 	YELL_LIST,
170 	ZZZ_ALWAYS_COMES_LAST_IN_THIS_LIST
171 };
172 
173 #define NUMBER_OF_LISTS ZZZ_ALWAYS_COMES_LAST_IN_THIS_LIST
174 
175 	int	BX_do_hook 		(int, char *, ...);
176 	void	flush_on_hooks 		(void);
177 	void	unload_on_hooks		(char *);
178 	BUILT_IN_COMMAND(shookcmd);
179 	BUILT_IN_COMMAND(oncmd);
180 	void	save_hooks 		(FILE *, int);
181 	void	do_stack_on		(int, char *);
182 extern	HookFunc hook_functions[];
183 
184 #endif /* __hook_h_ */
185