/*
 * vars.h: header for vars.c
 *
 * Generated from vars.h.proto automatically by the Makefile
 *
 * @(#)$Id: vars.h.proto,v 1.14.2.2 1995/11/01 12:16:45 mrg Exp $
 */

#ifndef __vars_h_
#define __vars_h_

/* indexes for the irc_variable array */

enum VAR_TYPES {
	AINV_VAR,
	ALWAYS_SPLIT_BIGGEST_VAR ,
	ANNOY_KICK_VAR ,
	AOP_VAR ,
	APPEND_LOG_VAR,
	AUTOCK_VAR ,
	AUTOKICK_ON_VERSION_VAR,
	AUTO_AWAY_VAR,
	AUTO_AWAY_TIME_VAR,
	AUTO_NSLOOKUP_VAR ,
	AUTO_RECONNECT_VAR,
	AUTO_REJOIN_VAR ,
	AUTO_RESPONSE_VAR,
	AUTO_UNBAN_VAR,
	AUTO_UNMARK_AWAY_VAR ,
	AUTO_WHOWAS_VAR  ,
	BEEP_VAR ,
	BEEP_ALWAYS_VAR ,
	BEEP_MAX_VAR ,
	BEEP_ON_MSG_VAR ,
	BEEP_WHEN_AWAY_VAR ,
	BITCH_VAR,
	BITCHX_HELP_VAR,
	BOLD_VIDEO_VAR ,
	BOT_LOG_VAR,
	BOT_LOGFILE_VAR,
	BOT_MODE_VAR ,
	BOT_PASSWD_VAR,
	BOT_RETURN_VAR,
	BOT_TCL_VAR,
	CDCC_FLOOD_AFTER_VAR,
	CDCC_FLOOD_RATE_VAR,
	CDCC_PROMPT_VAR,
	CDCC_SECURITY_VAR,
	CD_DEVICE_VAR,
	CHANNEL_NAME_WIDTH_VAR ,
	CHECK_BEEP_USERS_VAR ,
	CLIENTINFO_VAR ,
	CLOAK_VAR ,
	CLOCK_VAR ,
	CLOCK_24HOUR_VAR ,
	CLOCK_FORMAT_VAR,
	CMDCHARS_VAR ,
	COMMAND_MODE_VAR ,
	COMMENT_BREAKAGE_VAR,
	COMPRESS_MODES_VAR,
	CONNECT_TIMEOUT_VAR,
	CONTINUED_LINE_VAR ,
	CPU_SAVER_AFTER_VAR,
	CPU_SAVER_EVERY_VAR,
	CTCP_DELAY_VAR,
	CTCP_FLOOD_PROTECTION_VAR ,
	CTCP_VERBOSE_VAR,
	CTOOLZ_DIR_VAR ,
	DCC_AUTOGET_VAR ,
	DCC_AUTORENAME_VAR,
	DCC_BAR_TYPE_VAR,
	DCC_BLOCK_SIZE_VAR,
	DCC_DLDIR_VAR , 
	DCC_FAST_VAR, 
	DCC_GET_LIMIT_VAR,
	DCC_MAX_AUTOGET_SIZE_VAR ,
	DCC_QUEUE_LIMIT_VAR,
	DCC_SEND_LIMIT_VAR,
	DCC_ULDIR_VAR,
	DEBUG_VAR ,
	DEFAULT_REASON_VAR ,
	DEOPFLOOD_VAR ,
	DEOPFLOOD_TIME_VAR,
	DEOP_ON_DEOPFLOOD_VAR,
	DEOP_ON_KICKFLOOD_VAR,
	DISPATCH_UNKNOWN_COMMANDS_VAR,
	DISPLAY_VAR ,
	DISPLAY_ANSI_VAR,
	DOUBLE_STATUS_LINE_VAR,
	EIGHT_BIT_CHARACTERS_VAR,
	EXEC_PROTECTION_VAR ,
	FAKE_SPLIT_PATS_VAR,
	FLOATING_POINT_MATH_VAR,
	FLOOD_AFTER_VAR ,
	FLOOD_KICK_VAR ,
	FLOOD_PROTECTION_VAR ,
	FLOOD_RATE_VAR ,
	FLOOD_USERS_VAR ,
	FLOOD_WARNING_VAR ,
	FTP_GRAB_VAR,
	FULL_STATUS_LINE_VAR ,
	HACKING_VAR ,
	HACK_OPS_VAR,
	HARD_UH_NOTIFY_VAR ,
	HEBREW_TOGGLE_VAR,
	HELP_PAGER_VAR ,
	HELP_PATH_VAR ,
	HELP_PROMPT_VAR ,
	HELP_WINDOW_VAR ,
	HIDE_PRIVATE_CHANNELS_VAR ,
	HIGHLIGHT_CHAR_VAR ,
	HISTORY_VAR ,
	HOLD_MODE_VAR ,
	HOLD_MODE_MAX_VAR ,
	HTTP_GRAB_VAR,
	IDENT_HACK_VAR,
	IDLE_CHECK_VAR,
	IGNORE_TIME_VAR,
	INDENT_VAR ,
	INPUT_ALIASES_VAR ,
	INPUT_PROMPT_VAR ,
	INPUT_PROTECTION_VAR ,
	INSERT_MODE_VAR ,
	INVERSE_VIDEO_VAR ,
	JOINFLOOD_VAR,
	JOINFLOOD_TIME_VAR,
	KICKFLOOD_VAR ,
	KICKFLOOD_TIME_VAR ,
	KICK_IF_BANNED_VAR ,
	KICK_ON_DEOPFLOOD_VAR ,
	KICK_ON_JOINFLOOD_VAR,
	KICK_ON_KICKFLOOD_VAR ,
	KICK_ON_NICKFLOOD_VAR ,
	KICK_ON_PUBFLOOD_VAR ,
	KICK_OPS_VAR ,
	LAMELIST_VAR,
	LASTLOG_VAR ,
	LASTLOG_ANSI_VAR ,
	LASTLOG_LEVEL_VAR ,
	LLOOK_VAR ,
	LLOOK_DELAY_VAR ,
	LOAD_PATH_VAR ,
	LOG_VAR ,
	LOGFILE_VAR ,
	MAIL_VAR ,
	MAX_DEOPS_VAR ,
	MAX_IDLEKICKS_VAR ,
	MAX_RECURSIONS_VAR ,
	MIRCS_VAR,
	MODE_STRIPPER_VAR ,
	MSGCOUNT_VAR, 
	MSGLOG_VAR ,
	MSGLOGFILE_VAR ,
	MSGLOG_LEVEL_VAR,
	NEXT_SERVER_ON_LOCAL_KILL_VAR,
	NICKFLOOD_VAR,
	NICKFLOOD_TIME_VAR,
	NICK_COMPLETION_VAR,
	NICK_COMPLETION_CHAR_VAR,
	NICK_COMPLETION_TYPE_VAR,
	NOTIFY_HANDLER_VAR,
	NOTIFY_LEVEL_VAR,
	NOTIFY_ON_TERMINATION_VAR,
	NO_CTCP_FLOOD_VAR,
	NUM_BANMODES_VAR,
	NUM_OF_WHOWAS_VAR,
	NUM_OPMODES_VAR,
	OPER_MODES_VAR,
	OV_VAR,
	PAD_CHAR_VAR,
	PING_TYPE_VAR,
	PROTECT_CHANNELS_VAR,
	PUBFLOOD_VAR,
	PUBFLOOD_TIME_VAR,
	REALNAME_VAR,
	REASON_TYPE_VAR,
	REVERSE_STATUS_VAR,
	SAME_WINDOW_ONLY_VAR,
	SAVEFILE_VAR,
	SCREEN_OPTIONS_VAR,
	SCRIPT_HELP_VAR,
	SCROLL_VAR,
	SCROLL_LINES_VAR,
	SEND_AWAY_MSG_VAR,
	SEND_IGNORE_MSG_VAR,
	SERVER_PROMPT_VAR,
	SHELL_VAR,
	SHELL_FLAGS_VAR,
	SHELL_LIMIT_VAR,
	SHITLIST_VAR,
	SHITLIST_REASON_VAR,
	SHOW_AWAY_ONCE_VAR,
	SHOW_CHANNEL_NAMES_VAR,
	SHOW_CTCP_IDLE_VAR,
	SHOW_END_OF_MSGS_VAR,
	SHOW_NUMERICS_VAR,
	SHOW_NUMERICS_STR_VAR,
	SHOW_STATUS_ALL_VAR,
	SHOW_WHO_HOPCOUNT_VAR,
	STATUS_AWAY_VAR,
	STATUS_CDCCCOUNT_VAR,
	STATUS_CHANNEL_VAR,
	STATUS_CHANOP_VAR,
	STATUS_CLOCK_VAR,
	STATUS_CPU_SAVER_VAR,
	STATUS_DCCCOUNT_VAR,
	STATUS_FORMAT_VAR,
	STATUS_FORMAT1_VAR,
	STATUS_FORMAT2_VAR,
	STATUS_FORMAT3_VAR,
	STATUS_HOLD_VAR,
	STATUS_HOLD_LINES_VAR,
	STATUS_INSERT_VAR,
	STATUS_LAG_VAR,
	STATUS_MAIL_VAR,
	STATUS_MODE_VAR,
	STATUS_MSGCOUNT_VAR,
	STATUS_NOTIFY_VAR,
	STATUS_NO_REPEAT_VAR,
	STATUS_OPER_VAR,
	STATUS_OPER_KILLS_VAR,
	STATUS_OVERWRITE_VAR,
	STATUS_QUERY_VAR,
	STATUS_SERVER_VAR,
	STATUS_TOPIC_VAR,
	STATUS_UMODE_VAR,
	STATUS_USER_VAR,
	STATUS_USER1_VAR,
	STATUS_USER10_VAR,
	STATUS_USER11_VAR,
	STATUS_USER12_VAR,
	STATUS_USER13_VAR,
	STATUS_USER14_VAR,
	STATUS_USER15_VAR,
	STATUS_USER16_VAR,
	STATUS_USER17_VAR,
	STATUS_USER18_VAR,
	STATUS_USER19_VAR,
	STATUS_USER2_VAR,
	STATUS_USER3_VAR,
	STATUS_USER4_VAR,
	STATUS_USER5_VAR,
	STATUS_USER6_VAR,
	STATUS_USER7_VAR,
	STATUS_USER8_VAR,
	STATUS_USER9_VAR,
	STATUS_USERS_VAR,
	STATUS_VOICE_VAR,
	STATUS_WINDOW_VAR,
	SUPPRESS_SERVER_MOTD_VAR,
	TAB_VAR,
	TAB_MAX_VAR,
	TRANSLATION_VAR,
	UNDERLINE_VIDEO_VAR,
	USERLIST_VAR,
	USERMODE_VAR,
	USER_INFO_VAR,
#define USERINFO_VAR USER_INFO_VAR
	WINDOW_QUIET_VAR,
	XTERM_VAR,
	XTERM_OPTIONS_VAR,
	_CDCC_CLOSE_IDLE_SENDS_TIME_VAR,
	_CDCC_MINSPEED_TIME_VAR,
	_CDCC_PACKS_OFFERED_VAR,
NUMBER_OF_VARIABLES
};

	int	do_boolean _((char *, int *));
	void	setcmd _((char *, char *, char *, char *));
	int	get_int_var _((enum VAR_TYPES));
	int	get_dllint_var _((char *));

	char	*get_string_var _((enum VAR_TYPES));
	char	*get_dllstring_var _((char *));

	char	*wget_string_var _((Window *, enum VAR_TYPES));
	void	wset_string_var _((Window *, enum VAR_TYPES, char *));

	void	set_int_var _((enum VAR_TYPES, unsigned int));
	void	set_string_var _((enum VAR_TYPES, char *));

	void	set_dllint_var _((char *, unsigned int));
	void	set_dllstring_var _((char *, char *));

	void	init_variables _((void));
	char	*make_string_var _((char *));
	void	set_highlight_char _((Window *, char *, int));
	int	charset_size _((void));
	void	save_variables _((FILE *, int));
#if WANT_DLL
	void	set_var_value _((int, char *, IrcVariableDll *));
#else
	void	set_var_value _((int, char *));
#endif
	void    save_set _((FILE *));

extern	char	*var_settings[];
extern	int	loading_global;
	void	savebitchx_variables _((FILE *));
	void	reinit_autoresponse _((Window *, char *, int));
	void	clear_sets _((void));
	void	clear_bindings _((void));
	int	window_set_var _((Window *, char *));
	void	init_window_variables _((Window *));

#include "cset.h"
	
/* var_settings indexes  also used in display.c for highlights */
#define OFF 0
#define ON 1
#define TOGGLE 2

/* the types of IrcVariables */
#define BOOL_TYPE_VAR	0
#define CHAR_TYPE_VAR	1
#define INT_TYPE_VAR	2
#define STR_TYPE_VAR	3
#define SET_TYPE_VAR	4

#define	VF_NODAEMON	0x0001
#define VF_EXPAND_PATH	0x0002

#define VIF_CHANGED	0x01
#define VIF_GLOBAL	0x02
#define VIF_BITCHX	0x04
#define VIF_PENDING	0x08

#define	DEBUG_COMMANDS		0x0001
#define	DEBUG_EXPANSIONS	0x0002
#define DEBUG_FUNCTIONS		0x0004

#endif /* __vars_h_ */
