/*
 * vars.h: header for vars.c
 *
 * Generated from vars.h.proto automatically by the Makefile
 *
 * @(#)$Id: vars.h,v 1.1.1.3 1999/10/20 20:33:43 laeos Exp $
 */

#ifndef __vars_h_
#define __vars_h_

/* indexes for the irc_variable array */

enum VAR_TYPES {
	ALWAYS_SPLIT_BIGGEST_VAR ,
	APPEND_LOG_VAR,
	AUTO_NSLOOKUP_VAR ,
	AUTO_RECONNECT_VAR,
	AUTO_REJOIN_VAR ,
	AUTO_UNBAN_VAR,
	AUTO_UNMARK_AWAY_VAR ,
	AUTO_WHOWAS_VAR  ,
	BANTYPE_VAR,
	BEEP_VAR ,
	BEEP_MAX_VAR ,
	BEEP_ON_MSG_VAR ,
	BEEP_WHEN_AWAY_VAR ,
	BOLD_VIDEO_VAR ,
	DCC_FLOOD_AFTER_VAR,
	DCC_FLOOD_RATE_VAR,
	CHANNEL_NAME_WIDTH_VAR ,
	CLIENTINFO_VAR ,
	CLOCK_VAR ,
	CLOCK_24HOUR_VAR ,
	CMDCHARS_VAR ,
	COMMAND_MODE_VAR ,
	COMMENT_BREAKAGE_VAR,
	COMPRESS_MODES_VAR,
	CONNECT_TIMEOUT_VAR,
	CONTINUED_LINE_VAR ,
	CTCP_DELAY_VAR,
	CTCP_FLOOD_PROTECTION_VAR ,
	CTCP_VERBOSE_VAR,
	DCC_AUTORENAME_VAR,
	DCC_BAR_TYPE_VAR,
	DCC_BLOCK_SIZE_VAR,
	DCC_DLDIR_VAR , 
	DEBUG_VAR ,
	DEFAULT_REASON_VAR ,
	DEOPFLOOD_VAR ,
	DEOPFLOOD_TIME_VAR,
	DEOP_ON_DEOPFLOOD_VAR,
	DEOP_ON_KICKFLOOD_VAR,
	DISPLAY_VAR ,
	DISPLAY_ANSI_VAR,
	EIGHT_BIT_CHARACTERS_VAR,
	EXEC_PROTECTION_VAR ,
	FAKE_SPLIT_PATS_VAR,
	FLOOD_AFTER_VAR ,
	FLOOD_KICK_VAR ,
	FLOOD_PROTECTION_VAR ,
	FLOOD_RATE_VAR ,
	FLOOD_TIME_VAR,
	FLOOD_USERS_VAR ,
	FLOOD_WARNING_VAR ,
	HELP_VAR,
	HIDE_PRIVATE_CHANNELS_VAR ,
	HIGHLIGHT_CHAR_VAR ,
	HISTORY_VAR ,
	HOLD_MODE_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_ON_DEOPFLOOD_VAR ,
	KICK_ON_JOINFLOOD_VAR,
	KICK_ON_KICKFLOOD_VAR ,
	KICK_ON_NICKFLOOD_VAR ,
	KICK_ON_PUBFLOOD_VAR ,
	LASTLOG_VAR ,
	LASTLOG_ANSI_VAR ,
	LASTLOG_LEVEL_VAR ,
	LLOOK_VAR ,
	LLOOK_DELAY_VAR ,
	LOAD_PATH_VAR ,
	LOG_VAR ,
	LOGFILE_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_LEVEL_VAR,
	NOTIFY_ON_TERMINATION_VAR,
	NO_CTCP_FLOOD_VAR,
	NUM_BANMODES_VAR,
	NUM_OF_WHOWAS_VAR,
	NUM_OPMODES_VAR,
	OPER_MODES_VAR,
	ORIGNICK_TIME_VAR,
	PAD_CHAR_VAR,
	PUBFLOOD_VAR,
	PUBFLOOD_TIME_VAR,
	REALNAME_VAR,
	REVERSE_STATUS_VAR,
	SAVEFILE_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,
	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,
	SIGNOFF_REASON_VAR,
	STATUS_AWAY_VAR,
	STATUS_CHANNEL_VAR,
	STATUS_CHANOP_VAR,
	STATUS_CLOCK_VAR,
	STATUS_DCCCOUNT_VAR,
	STATUS_FORMAT_VAR,
	STATUS_FORMAT2_VAR,
	STATUS_HOLD_VAR,
	STATUS_HOLD_LINES_VAR,
	STATUS_INSERT_VAR,
	STATUS_LAG_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_VOICE_VAR,
	STATUS_WINDOW_VAR,
	SUPPRESS_SERVER_MOTD_VAR,
	TAB_VAR,
	TAB_MAX_VAR,
	UNDERLINE_VIDEO_VAR,
	USERMODE_VAR,
	USER_INFO_VAR,
#define USERINFO_VAR USER_INFO_VAR
	WINDOW_QUIET_VAR,
NUMBER_OF_VARIABLES
};



	char	*get_string_var(enum VAR_TYPES);
	int	get_int_var(enum VAR_TYPES);
	void	set_string_var(enum VAR_TYPES, char *);
	void	set_int_var(enum VAR_TYPES, unsigned int);
	void	init_variables(void);
	void	set_var_value(int, char *);
	void	save_variables (FILE * fp, int do_all);
	char	*make_string_var(char *);
	int	charset_size(void);
	void	clear_sets(void);
	void	set_highlight_char(Window *, char *, int);


	/* in keys.c */
	void	clear_bindings(void);

/* 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_PENDING	0x08

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

#endif /* __vars_h_ */
