1 /*
2  * edit.h: header for edit.c
3  *
4  */
5 #ifndef __edit_h_
6 #define __edit_h_
7 
8 #include "irc_std.h"
9 
10 extern	char	*sent_nick;
11 extern	char	*sent_body;
12 extern	char	*recv_nick;
13 
14 	void	BX_send_text (const char *, const char *, char *, int, int);
15 	void	eval_inputlist (char *, char *);
16 	int	BX_parse_command (char *, int, char *);
17 	void	BX_parse_line (const char *, char *, const char *, int, int, int);
18 	void	edit_char (unsigned char);
19 	void	execute_timer (void);
20 	void	ison_now (char *, char *);
21 	void	quote_char (char, char *);
22 	void	type_text (char, char *);
23 	void	parse_text (char, char *);
24 	void	irc_clear_screen (char, char *);
25 	int	check_wait_command (char *);
26 	void	ExecuteTimers (void);
27 	int	check_mode_lock (char *, char *, int);
28 	void	destroy_call_stack (void);
29 	void	unwind_stack (void);
30 	void	wind_stack (char *);
31 	void	redirect_text (int, const char *, const char *, char *, int, int);
32 	int	command_exist (char *);
33 
34 
35 
36 /* a few advance declarations */
37 extern	void	my_clear 		(char *, char *, char *, char *);
38 extern	void	reconnect_cmd		(char *, char *, char *, char *);
39 extern	void	e_hostname		(char *, char *, char *, char *);
40 extern	void	BX_load			(char *, char *, char *, char *);
41 extern	void	query			(char *, char *, char *, char *);
42 extern	void	unquery			(char *, char *, char *, char *);
43 extern	void	away			(char *, char *, char *, char *);
44 extern	void	e_quit			(char *, char *, char *, char *);
45 extern	void	repeatcmd		(char *, char *, char *, char *);
46 extern	void	do_unkey		(char *, char *, char *, char *);
47 extern	void	do_unscrew		(char *, char *, char *, char *);
48 extern	void	do_getout		(char *, char *, char *, char *);
49 extern	void	do_mynames		(char *, char *, char *, char *);
50 extern	void	my_whois		(char *, char *, char *, char *);
51 extern	void	do_4op			(char *, char *, char *, char *);
52 extern	void	umodecmd		(char *, char *, char *, char *);
53 extern	void	do_invite		(char *, char *, char *, char *);
54 extern	void	do_forward		(char *, char *, char *, char *);
55 extern	void	do_oops			(char *, char *, char *, char *);
56 extern	void	sendlinecmd		(char *, char *, char *, char *);
57 extern	void	do_send_text		(char *, char *, char *, char *);
58 extern	void	funny_stuff		(char *, char *, char *, char *);
59 extern	void	cd			(char *, char *, char *, char *);
60 extern	void	e_wall			(char *, char *, char *, char *);
61 extern	void	send_2comm		(char *, char *, char *, char *);
62 extern	void	send_comm		(char *, char *, char *, char *);
63 extern	void	untopic			(char *, char *, char *, char *);
64 extern	void	e_topic			(char *, char *, char *, char *);
65 extern	void	send_kick		(char *, char *, char *, char *);
66 extern	void	send_channel_com	(char *, char *, char *, char *);
67 extern	void	quotecmd		(char *, char *, char *, char *);
68 extern	void	e_privmsg		(char *, char *, char *, char *);
69 extern	void	flush			(char *, char *, char *, char *);
70 extern	void	oper			(char *, char *, char *, char *);
71 extern	void	e_channel		(char *, char *, char *, char *);
72 extern	void	who			(char *, char *, char *, char *);
73 extern	void	whois			(char *, char *, char *, char *);
74 extern	void	ison			(char *, char *, char *, char *);
75 extern	void	userhostcmd		(char *, char *, char *, char *);
76 extern	void	info			(char *, char *, char *, char *);
77 extern	void	e_nick			(char *, char *, char *, char *);
78 extern	void	comment			(char *, char *, char *, char *);
79 extern	void	sleepcmd		(char *, char *, char *, char *);
80 extern	void	version1		(char *, char *, char *, char *);
81 extern	void	ctcp			(char *, char *, char *, char *);
82 extern	void	rctcp			(char *, char *, char *, char *);
83 extern	void	dcc			(char *, char *, char *, char *);
84 extern	void	deop			(char *, char *, char *, char *);
85 extern	void	echocmd			(char *, char *, char *, char *);
86 extern	void	save_settings		(char *, char *, char *, char *);
87 extern	void	redirect		(char *, char *, char *, char *);
88 extern	void	waitcmd			(char *, char *, char *, char *);
89 extern	void	describe		(char *, char *, char *, char *);
90 extern	void	me			(char *, char *, char *, char *);
91 extern	void	evalcmd			(char *, char *, char *, char *);
92 extern	void	hookcmd			(char *, char *, char *, char *);
93 extern	void	inputcmd		(char *, char *, char *, char *);
94 extern	void	pingcmd			(char *, char *, char *, char *);
95 extern	void	xtypecmd		(char *, char *, char *, char *);
96 extern	void	beepcmd			(char *, char *, char *, char *);
97 extern	void	abortcmd		(char *, char *, char *, char *);
98 extern	void	e_debug			(char *, char *, char *, char *);
99 extern	void	do_scan			(char *, char *, char *, char *);
100 extern	void	push_cmd		(char *, char *, char *, char *);
101 extern	void	pop_cmd			(char *, char *, char *, char *);
102 extern	void	unshift_cmd		(char *, char *, char *, char *);
103 extern	void	shift_cmd		(char *, char *, char *, char *);
104 extern	void	exec_cmd		(char *, char *, char *, char *);
105 extern	void	auto_join		(char *, char *, char *, char *);
106 extern	void	dcc_crash		(char *, char *, char *, char *);
107 extern	void	do_msay			(char *, char *, char *, char *);
108 extern	void	send_mode		(char *, char *, char *, char *);
109 extern	void	do_offers		(char *, char *, char *, char *);
110 extern	void	ctcp_version		(char *, char *, char *, char *);
111 extern	void	about			(char *, char *, char *, char *);
112 extern	void	dcc_stat_comm		(char *, char *, char *, char *);
113 extern	void	sping			(char *, char *, char *, char *);
114 extern  void    realname_cmd		(char *, char *, char *, char *);
115 extern  void    set_username		(char *, char *, char *, char *);
116 extern  void    e_call			(char *, char *, char *, char *);
117 extern	void	do_toggle 		(char *, char *, char *, char *);
118 extern	void	e_quit 			(char *, char *, char *, char *);
119 extern	void	do_ig 			(char *, char *, char *, char *);
120 extern	void	do_listshit		(char *, char *, char *, char *);
121 extern	void	savelists		(char *, char *, char *, char *);
122 extern	void	mknu			(char *, char *, char *, char *);
123 extern	void	reconnect_cmd		(char *, char *, char *, char *);
124 extern  void    LameKick		(char *, char *, char *, char *);
125 extern  void    ChanWallOp		(char *, char *, char *, char *);
126 extern  void    NewUser			(char *, char *, char *, char *);
127 extern  void    ReconnectServer		(char *, char *, char *, char *);
128 extern  void    MegaDeop		(char *, char *, char *, char *);
129 extern  void    do_flood		(char *, char *, char *, char *);
130 extern  void    cycle			(char *, char *, char *, char *);
131 extern  void    bomb			(char *, char *, char *, char *);
132 extern  void    finger			(char *, char *, char *, char *);
133 extern  void    multkick		(char *, char *, char *, char *);
134 extern  void    massdeop		(char *, char *, char *, char *);
135 extern  void    doop			(char *, char *, char *, char *);
136 extern  void    dodeop			(char *, char *, char *, char *);
137 extern  void    massop			(char *, char *, char *, char *);
138 extern  void    whokill			(char *, char *, char *, char *);
139 extern  void 	ban			(char *, char *, char *, char *);
140 extern  void 	kickban			(char *, char *, char *, char *);
141 extern  void 	massban			(char *, char *, char *, char *);
142 extern  void 	dokick			(char *, char *, char *, char *);
143 extern  void 	nslookup		(char *, char *, char *, char *);
144 extern  void 	masskick		(char *, char *, char *, char *);
145 extern  void 	do_flood		(char *, char *, char *, char *);
146 extern  void 	reset			(char *, char *, char *, char *);
147 extern  void 	users			(char *, char *, char *, char *);
148 extern	void	my_ignorehost		(char *, char *, char *, char *);
149 extern	void	my_ignore		(char *, char *, char *, char *);
150 extern	void	unban			(char *, char *, char *, char *);
151 extern	void	masskickban		(char *, char *, char *, char *);
152 extern  void    linklook		(char *, char *, char *, char *);
153 extern  void	do_dump			(char *, char *, char *, char *);
154 extern  void	do_dirlasttype		(char *, char *, char *, char *);
155 extern	void	do_dirlistmsg		(char *, char *, char *, char *);
156 extern  void	do_dirlastmsg		(char *, char *, char *, char *);
157 extern  void	do_dirlastctcp		(char *, char *, char *, char *);
158 extern  void	do_dirlastctcpreply	(char *, char *, char *, char *);
159 extern  void	do_dirlastinvite	(char *, char *, char *, char *);
160 extern	void 	readlog			(char *, char *, char *, char *);
161 extern	void 	remove_log		(char *, char *, char *, char *);
162 extern	void 	add_user		(char *, char *, char *, char *);
163 extern	void	bot			(char *, char *, char *, char *);
164 extern	void	do_uptime		(char *, char *, char *, char *);
165 extern	void	cdcc			(char *, char *, char *, char *);
166 extern	void	extern_write		(char *, char *, char *, char *);
167 extern	void	showuserlist		(char *, char *, char *, char *);
168 extern	void	init_dcc_chat		(char *, char *, char *, char *);
169 extern	void	add_shit		(char *, char *, char *, char *);
170 extern	void	showshitlist		(char *, char *, char *, char *);
171 extern	void	channel_stats		(char *, char *, char *, char *);
172 extern	void	my_clear		(char *, char *, char *, char *);
173 extern	void	stubcmd			(char *, char *, char *, char *);
174 extern	void	addidle			(char *, char *, char *, char *);
175 extern	void	showidle		(char *, char *, char *, char *);
176 extern	void	kickidle		(char *, char *, char *, char *);
177 extern	void	usage			(char *, char *, char *, char *);
178 extern	void	reload_save		(char *, char *, char *, char *);
179 extern	void	cset_variable		(char *, char *, char *, char *);
180 extern	void	banstat			(char *, char *, char *, char *);
181 extern	void	nwhois			(char *, char *, char *, char *);
182 extern	void	statkgrep		(char *, char *, char *, char *);
183 extern	void	tban			(char *, char *, char *, char *);
184 extern	void	bantype			(char *, char *, char *, char *);
185 extern	void	whowas			(char *, char *, char *, char *);
186 extern	void	findports		(char *, char *, char *, char *);
187 extern	void	add_ban_word		(char *, char *, char *, char *);
188 extern	void	show_word_kick		(char *, char *, char *, char *);
189 extern	void	clear_tab		(char *, char *, char *, char *);
190 extern	void	topic_lock		(char *, char *, char *, char *);
191 extern	void	mode_lock		(char *, char *, char *, char *);
192 extern	void	randomnick		(char *, char *, char *, char *);
193 extern	void	topic_lock		(char *, char *, char *, char *);
194 extern	void	show_version		(char *, char *, char *, char *);
195 extern	void	chat			(char *, char *, char *, char *);
196 extern	void	back			(char *, char *, char *, char *);
197 extern	void	tog_fprot		(char *, char *, char *, char *);
198 extern	void	ftp			(char *, char *, char *, char *);
199 extern	void	do_dirsentlastnotice	(char *, char *, char *, char *);
200 extern	void	do_dirsentlastmsg	(char *, char *, char *, char *);
201 extern	void	do_dirlastwall		(char *, char *, char *, char *);
202 extern	void	do_dirlasttopic		(char *, char *, char *, char *);
203 extern	void	do_dirsentlastwall	(char *, char *, char *, char *);
204 extern	void	do_dirsentlasttopic	(char *, char *, char *, char *);
205 extern	void	do_dirlastserver	(char *, char *, char *, char *);
206 extern	void	botlink			(char *, char *, char *, char *);
207 extern	void	jnw			(char *, char *, char *, char *);
208 extern	void	lkw			(char *, char *, char *, char *);
209 extern	void	whokill			(char *, char *, char *, char *);
210 extern	void	csay			(char *, char *, char *, char *);
211 extern	void	clink			(char *, char *, char *, char *);
212 extern	void	cwho			(char *, char *, char *, char *);
213 extern	void	cboot			(char *, char *, char *, char *);
214 extern	void	cmsg			(char *, char *, char *, char *);
215 extern	void	toggle_xlink		(char *, char *, char *, char *);
216 extern	void	dcx			(char *, char *, char *, char *);
217 extern	void	orig_nick		(char *, char *, char *, char *);
218 extern	void	print_structs		(char *, char *, char *, char *);
219 extern	void	pretend_cmd		(char *, char *, char *, char *);
220 extern	void	e_pause			(char *, char *, char *, char *);
221 extern	void	add_bad_nick		(char *, char *, char *, char *);
222 extern	void	serv_stat		(char *, char *, char *, char *);
223 extern	void	fuckem			(char *, char *, char *, char *);
224 extern	void	tracekill		(char *, char *, char *, char *);
225 extern	void	traceserv		(char *, char *, char *, char *);
226 extern	void	dll_load		(char *, char *, char *, char *);
227 extern	void	tignore			(char *, char *, char *, char *);
228 extern	void	dumpcmd			(char *, char *, char *, char *);
229 extern	void	aliascmd		(char *, char *, char *, char *);
230 extern	void	set_autoreply		(char *, char *, char *, char *);
231 extern	void	init_ftp		(char *, char *, char *, char *);
232 extern	void	xdebugcmd		(char *, char *, char *, char *);
233 extern	void	blesscmd		(char *, char *, char *, char *);
234 extern	void	do_trace		(char *, char *, char *, char *);
235 extern	void	do_stats		(char *, char *, char *, char *);
236 extern	void	setenvcmd		(char *, char *, char *, char *);
237 extern	void	send_kill		(char *, char *, char *, char *);
238 extern	void	set_user_info		(char *, char *, char *, char *);
239 extern	void	init_vars		(char *, char *, char *, char *);
240 extern	void	init_window_vars	(char *, char *, char *, char *);
241 extern	void	show_hash		(char *, char *, char *, char *);
242 extern	void	unload			(char *, char *, char *, char *);
243 extern	void	do_map			(char *, char *, char *, char *);
244 extern	void	add_no_flood		(char *, char *, char *, char *);
245 extern	void	s_watch			(char *, char *, char *, char *);
246 extern	void	awaylog			(char *, char *, char *, char *);
247 extern	void	newnick			(char *, char *, char *, char *);
248 extern	void	newuser			(char *, char *, char *, char *);
249 
250 extern	void	os2menu			(char *, char *, char *, char *);
251 extern	void	os2menuitem             (char *, char *, char *, char *);
252 extern	void	os2submenu       	(char *, char *, char *, char *);
253 extern	void	fontdialog         	(char *, char *, char *, char *);
254 extern	void	filedialog         	(char *, char *, char *, char *);
255 
256 extern	void	ame			(char *, char *, char *, char *);
257 
258 #ifdef WANT_DLL
259 extern	void	unload_dll		(char *, char *, char *, char *);
260 #endif
261 
262 	IrcCommand *BX_find_command (char *, int *);
263 	char	*glob_commands(char *, int *, int);
264 
265 #define AWAY_ONE 0
266 #define AWAY_ALL 1
267 
268 #define STACK_POP 0
269 #define STACK_PUSH 1
270 #define STACK_SWAP 2
271 
272 #define TRACE_OPER	0x01
273 #define TRACE_SERVER	0x02
274 #define TRACE_USER	0x04
275 
276 #define STATS_LINK	0x001
277 #define STATS_CLASS	0x002
278 #define STATS_ILINE	0x004
279 #define STATS_TKLINE	0x008
280 #define STATS_YLINE	0x010
281 #define STATS_OLINE	0x020
282 #define STATS_HLINE	0x040
283 #define STATS_UPTIME	0x080
284 #define STATS_MLINE	0x100
285 #define STATS_KLINE	0x200
286 
287 #define NONOVICEABBREV	0x0001
288 #define NOINTERACTIVE	0x0002
289 #define NOSIMPLESCRIPT	0x0004
290 #define NOCOMPLEXSCRIPT	0x0008
291 #define SERVERREQ	0x0010
292 
293 #ifdef WANT_DLL
294 extern IrcCommandDll *dll_commands;
295 #endif
296 
297 extern        int     will_catch_break_exceptions;
298 extern        int     will_catch_continue_exceptions;
299 extern        int     will_catch_return_exceptions;
300 extern        int     break_exception;
301 extern        int     continue_exception;
302 extern        int     return_exception;
303 
304 
305 #endif /* __edit_h_ */
306