/*
 * edit.h: header for edit.c 
 *
 */

#ifndef __edit_h_
#define __edit_h_

#include "irc_std.h"

extern	char	*sent_nick;
extern	char	*sent_body;
extern	char	*recv_nick;

	void	send_text _((char *, char *, char *, int, int));
	void	eval_inputlist _((char *, char *));
	int	parse_command _((char *, int, char *));
	void	parse_line _((char *, char *, char *, int, int));
	void	edit_char _((unsigned char));
	void	execute_timer _((void));
	void	ison_now _((char *, char *));
	void	quote_char _((char, char *));
	void	type_text _((char, char *));
	void	parse_text _((char, char *));
	void	irc_clear_screen _((char, char *));
	int	check_wait_command _((char *));
	void	ExecuteTimers _((void));
	int	check_mode_lock _((char *, char *, int));
	void	destroy_call_stack _((void));
	void	unwind_stack _((void));
	void	wind_stack _((char *));
extern	void	really_save		_((char *, char *));
		


/* a few advance declarations */
extern	void	my_clear 		_((char *, char *, char *, char *));
extern	void	reconnect_cmd		_((char *, char *, char *, char *));			
extern	void	e_hostname		_((char *, char *, char *, char *));
extern	void	load			_((char *, char *, char *, char *));
extern	void	query			_((char *, char *, char *, char *));
extern	void	away			_((char *, char *, char *, char *));
extern	void	e_quit			_((char *, char *, char *, char *));
extern	void	repeatcmd		_((char *, char *, char *, char *));
extern	void	do_unkey		_((char *, char *, char *, char *));
extern	void	do_unscrew		_((char *, char *, char *, char *));
extern	void	do_getout		_((char *, char *, char *, char *));
extern	void	do_mynames		_((char *, char *, char *, char *));
extern	void	my_whois		_((char *, char *, char *, char *));
extern	void	do_4op			_((char *, char *, char *, char *));
extern	void	do_umode		_((char *, char *, char *, char *));
extern	void	do_invite		_((char *, char *, char *, char *));
extern	void	do_forward		_((char *, char *, char *, char *));
extern	void	do_oops			_((char *, char *, char *, char *));
extern	void	sendlinecmd		_((char *, char *, char *, char *));
extern	void	do_send_text		_((char *, char *, char *, char *));
extern	void	funny_stuff		_((char *, char *, char *, char *));
extern	void	cd			_((char *, char *, char *, char *));
extern	void	e_wall			_((char *, char *, char *, char *));
extern	void	send_2comm		_((char *, char *, char *, char *));
extern	void	send_comm		_((char *, char *, char *, char *));
extern	void	e_topic			_((char *, char *, char *, char *));
extern	void	send_kick		_((char *, char *, char *, char *));
extern	void	send_channel_com	_((char *, char *, char *, char *));
extern	void	quote			_((char *, char *, char *, char *));
extern	void	e_privmsg		_((char *, char *, char *, char *));
extern	void	flush			_((char *, char *, char *, char *));
extern	void	oper			_((char *, char *, char *, char *));
extern	void	e_channel		_((char *, char *, char *, char *));
extern	void	who			_((char *, char *, char *, char *));
extern	void	whois			_((char *, char *, char *, char *));
extern	void	ison			_((char *, char *, char *, char *));
extern	void	userhost		_((char *, char *, char *, char *));
extern	void	info			_((char *, char *, char *, char *));
extern	void	e_nick			_((char *, char *, char *, char *));
extern	void	comment			_((char *, char *, char *, char *));
extern	void	sleepcmd		_((char *, char *, char *, char *));
extern	void	version1		_((char *, char *, char *, char *));
extern	void	ctcp			_((char *, char *, char *, char *));
extern	void	dcc			_((char *, char *, char *, char *));
extern	void	deop			_((char *, char *, char *, char *));
extern	void	my_echo			_((char *, char *, char *, char *));
extern	void	save_settings		_((char *, char *, char *, char *));
extern	void	redirect		_((char *, char *, char *, char *));
extern	void	waitcmd			_((char *, char *, char *, char *));
extern	void	describe		_((char *, char *, char *, char *));
extern	void	me			_((char *, char *, char *, char *));
extern	void	evalcmd			_((char *, char *, char *, char *));
extern	void	hookcmd			_((char *, char *, char *, char *));
extern	void	inputcmd		_((char *, char *, char *, char *));
extern	void	pingcmd			_((char *, char *, char *, char *));
extern	void	xtypecmd		_((char *, char *, char *, char *));
extern	void	beepcmd			_((char *, char *, char *, char *));
extern	void	abortcmd		_((char *, char *, char *, char *));
extern	void	e_debug			_((char *, char *, char *, char *));
extern	void	do_scan			_((char *, char *, char *, char *));
extern	void	push_cmd		_((char *, char *, char *, char *));
extern	void	pop_cmd			_((char *, char *, char *, char *));
extern	void	unshift_cmd		_((char *, char *, char *, char *));
extern	void	shift_cmd		_((char *, char *, char *, char *));
extern	void	exec_cmd		_((char *, char *, char *, char *));
extern	void	auto_join		_((char *, char *, char *, char *));
extern	void	dcc_crash		_((char *, char *, char *, char *));
extern	void	do_msay			_((char *, char *, char *, char *));
extern	void	send_mode		_((char *, char *, char *, char *));
extern	void	do_offers		_((char *, char *, char *, char *));
extern	void	ctcp_version		_((char *, char *, char *, char *));
extern	void	about			_((char *, char *, char *, char *));
extern	void	dcc_stat_comm		_((char *, char *, char *, char *));
extern	void	sping			_((char *, char *, char *, char *));
extern  void    realname_cmd		_((char *, char *, char *, char *));
extern  void    set_username		_((char *, char *, char *, char *));
extern  void    e_call			_((char *, char *, char *, char *));
extern	void	do_toggle 		_((char *, char *, char *, char *));
extern	void	e_quit 			_((char *, char *, char *, char *));
extern	void	do_ig 			_((char *, char *, char *, char *));
extern	void	do_listshit		_((char *, char *, char *, char *));
extern	void	savelists		_((char *, char *, char *, char *));
extern	void	mknu			_((char *, char *, char *, char *));
extern	void	reconnect_cmd		_((char *, char *, char *, char *));
extern  void    LameKick		_((char *, char *, char *, char *));
extern  void    ChanWallOp		_((char *, char *, char *, char *));
extern  void    NewUser			_((char *, char *, char *, char *));
extern  void    ReconnectServer		_((char *, char *, char *, char *));
extern  void    MegaDeop		_((char *, char *, char *, char *));
extern  void    do_flood		_((char *, char *, char *, char *));
extern  void    cycle			_((char *, char *, char *, char *));
extern  void    bomb			_((char *, char *, char *, char *));
extern  void    finger			_((char *, char *, char *, char *));
extern  void    multkick		_((char *, char *, char *, char *));
extern  void    massdeop		_((char *, char *, char *, char *));
extern  void    doop			_((char *, char *, char *, char *));
extern  void    dodeop			_((char *, char *, char *, char *));
extern  void    massop			_((char *, char *, char *, char *));
extern  void    whokill			_((char *, char *, char *, char *));
extern  void 	ban			_((char *, char *, char *, char *));
extern  void 	kickban			_((char *, char *, char *, char *));
extern  void 	massban			_((char *, char *, char *, char *));
extern  void 	dokick			_((char *, char *, char *, char *));
extern  void 	nslookup		_((char *, char *, char *, char *));
extern  void 	masskick		_((char *, char *, char *, char *));
extern  void 	do_flood		_((char *, char *, char *, char *));
extern  void 	reset			_((char *, char *, char *, char *));
extern  void 	users			_((char *, char *, char *, char *));
extern	void	my_ignorehost		_((char *, char *, char *, char *));
extern	void	my_ignore		_((char *, char *, char *, char *));
extern	void	unban			_((char *, char *, char *, char *));
extern	void	masskickban		_((char *, char *, char *, char *));
extern  void    linklook		_((char *, char *, char *, char *));
extern  void	do_dump			_((char *, char *, char *, char *));
extern  void	do_dirlasttype		_((char *, char *, char *, char *));
extern	void	do_dirlistmsg		_((char *, char *, char *, char *));
extern  void	do_dirlastmsg		_((char *, char *, char *, char *));
extern  void	do_dirlastctcp		_((char *, char *, char *, char *));
extern  void	do_dirlastctcpreply	_((char *, char *, char *, char *));
extern  void	do_dirlastinvite	_((char *, char *, char *, char *));
extern	void 	readlog			_((char *, char *, char *, char *));
extern	void 	remove_log		_((char *, char *, char *, char *));
extern	void 	add_user		_((char *, char *, char *, char *));
extern	void	bot			_((char *, char *, char *, char *));
extern	void	do_uptime		_((char *, char *, char *, char *));
extern	void	cdcc			_((char *, char *, char *, char *));
extern	void	extern_write		_((char *, char *, char *, char *));
extern	void	showuserlist		_((char *, char *, char *, char *));
extern	void	init_dcc_chat		_((char *, char *, char *, char *));
extern	void	add_shit		_((char *, char *, char *, char *));
extern	void	showshitlist		_((char *, char *, char *, char *));
extern	void	channel_stats		_((char *, char *, char *, char *));
extern	void	my_clear		_((char *, char *, char *, char *));
extern	void	stubcmd			_((char *, char *, char *, char *));
extern	void	addidle			_((char *, char *, char *, char *));
extern	void	showidle		_((char *, char *, char *, char *));
extern	void	kickidle		_((char *, char *, char *, char *));
extern	void	usage			_((char *, char *, char *, char *));
extern	void	reload_save		_((char *, char *, char *, char *));
extern	void	cset_variable		_((char *, char *, char *, char *));
extern	void	banstat			_((char *, char *, char *, char *));
extern	void	nwhois			_((char *, char *, char *, char *));
extern	void	statkgrep		_((char *, char *, char *, char *));
extern	void	tban			_((char *, char *, char *, char *));
extern	void	bantype			_((char *, char *, char *, char *));
extern	void	whowas			_((char *, char *, char *, char *));
extern	void	findports		_((char *, char *, char *, char *));
extern	void	add_ban_word		_((char *, char *, char *, char *));
extern	void	show_word_kick		_((char *, char *, char *, char *));
extern	void	clear_tab		_((char *, char *, char *, char *));
extern	void	topic_lock		_((char *, char *, char *, char *));
extern	void	mode_lock		_((char *, char *, char *, char *));
extern	void	randomnick		_((char *, char *, char *, char *));
extern	void	topic_lock		_((char *, char *, char *, char *));
extern	void	show_version		_((char *, char *, char *, char *));
extern	void	chat			_((char *, char *, char *, char *));
extern	void	back			_((char *, char *, char *, char *));
extern	void	tog_fprot		_((char *, char *, char *, char *));
extern	void	ftp			_((char *, char *, char *, char *));
extern	void	do_dirsentlastnotice	_((char *, char *, char *, char *));
extern	void	do_dirsentlastmsg	_((char *, char *, char *, char *));
extern	void	do_dirlastwall		_((char *, char *, char *, char *));
extern	void	do_dirlasttopic		_((char *, char *, char *, char *));
extern	void	do_dirsentlastwall	_((char *, char *, char *, char *));
extern	void	do_dirsentlasttopic	_((char *, char *, char *, char *));
extern	void	do_dirlastserver	_((char *, char *, char *, char *));
extern	void	botlink			_((char *, char *, char *, char *));
extern	void	jnw			_((char *, char *, char *, char *));
extern	void	lkw			_((char *, char *, char *, char *));
extern	void	whokill			_((char *, char *, char *, char *));
extern	void	csay			_((char *, char *, char *, char *));
extern	void	clink			_((char *, char *, char *, char *));
extern	void	cwho			_((char *, char *, char *, char *));
extern	void	cboot			_((char *, char *, char *, char *));
extern	void	cmsg			_((char *, char *, char *, char *));
extern	void	toggle_xlink		_((char *, char *, char *, char *));
extern	void	dcx			_((char *, char *, char *, char *));
extern	void	orig_nick		_((char *, char *, char *, char *));
extern	void	print_structs		_((char *, char *, char *, char *));
extern	void	pretend_cmd		_((char *, char *, char *, char *));
extern	void	e_pause			_((char *, char *, char *, char *));
extern	void	add_bad_nick		_((char *, char *, char *, char *));
extern	void	serv_stat		_((char *, char *, char *, char *));
extern	void	fuckem			_((char *, char *, char *, char *));
extern	void	tracekill		_((char *, char *, char *, char *));
extern	void	traceserv		_((char *, char *, char *, char *));
extern	void	dll_load		_((char *, char *, char *, char *));
extern	void	tignore			_((char *, char *, char *, char *));
extern	void	dumpcmd			_((char *, char *, char *, char *));
extern	void	aliascmd		_((char *, char *, char *, char *));
extern	void	set_autoreply		_((char *, char *, char *, char *));
extern	void	init_ftp		_((char *, char *, char *, char *));
extern	void	xdebugcmd		_((char *, char *, char *, char *));
extern	void	blesscmd		_((char *, char *, char *, char *));
extern	void	do_trace		_((char *, char *, char *, char *));
extern	void	do_stats		_((char *, char *, char *, char *));
extern	void	setenvcmd		_((char *, char *, char *, char *));
extern	void	send_kill		_((char *, char *, char *, char *));
extern	void	set_user_info		_((char *, char *, char *, char *));
extern	void	init_vars		_((char *, char *, char *, char *));
extern	void	init_window_vars	_((char *, char *, char *, char *));
extern	void	show_hash		_((char *, char *, char *, char *));
extern	void	unload			_((char *, char *, char *, char *));
extern	void	do_map			_((char *, char *, char *, char *));
extern	void	add_no_flood		_((char *, char *, char *, char *));
extern	void	s_watch			_((char *, char *, char *, char *));
extern	void	awaylog			_((char *, char *, char *, char *));
extern	void	newnick			_((char *, char *, char *, char *));
extern	void	newuser			_((char *, char *, char *, char *));

#ifdef WANT_DLL
extern	void	unload_dll		_((char *, char *, char *, char *));
#endif

		
#define AWAY_ONE 0
#define AWAY_ALL 1

#define STACK_POP 0
#define STACK_PUSH 1
#define STACK_SWAP 2

#define TRACE_OPER	0x01
#define TRACE_SERVER	0x02
#define TRACE_USER	0x04

#define STATS_LINK	0x001
#define STATS_CLASS	0x002
#define STATS_ILINE	0x004
#define STATS_KLINE	0x008
#define STATS_YLINE	0x010
#define STATS_OLINE	0x020
#define STATS_HLINE	0x040
#define STATS_UPTIME	0x080
#define STATS_MLINE	0x100


extern IrcCommandDll *dll_commands;

#endif /* __edit_h_ */
