1 /*
2  * vars.h: header for vars.c
3  *
4  * Generated from vars.h.proto automatically by the Makefile
5  *
6  * @(#)$Id: vars.h 3 2008-02-25 09:49:14Z keaston $
7  */
8 
9 #ifndef __vars_h_
10 #define __vars_h_
11 
12 /* indexes for the irc_variable array */
13 
14 enum VAR_TYPES {
15 	AINV_VAR,
16 	ALTNICK_VAR,
17 	ALT_CHARSET_VAR,
18 	ALWAYS_SPLIT_BIGGEST_VAR ,
19 	ANNOY_KICK_VAR ,
20 	AOP_VAR ,
21 	APPEND_LOG_VAR,
22 	AUTOKICK_ON_VERSION_VAR,
23 	AUTO_AWAY_VAR,
24 	AUTO_AWAY_TIME_VAR,
25 	AUTO_JOIN_ON_INVITE_VAR,
26 	AUTO_LIMIT_VAR,
27 	AUTO_NSLOOKUP_VAR ,
28 	AUTO_RECONNECT_VAR,
29 	AUTO_REJOIN_VAR ,
30 	AUTO_RESPONSE_VAR,
31 	AUTO_RESPONSE_STR_VAR,
32 	AUTO_UNBAN_VAR,
33 	AUTO_UNMARK_AWAY_VAR ,
34 	AUTO_WHOWAS_VAR  ,
35 	BANTIME_VAR,
36 	BEEP_VAR ,
37 	BEEP_ALWAYS_VAR ,
38 	BEEP_MAX_VAR ,
39 	BEEP_ON_MSG_VAR ,
40 	BEEP_WHEN_AWAY_VAR ,
41 	BITCH_VAR,
42 	BITCHX_HELP_VAR,
43 	BLINK_VIDEO_VAR,
44 	BOLD_VIDEO_VAR ,
45 	BOT_LOG_VAR,
46 	BOT_LOGFILE_VAR,
47 	BOT_MODE_VAR ,
48 	BOT_PASSWD_VAR,
49 	BOT_RETURN_VAR,
50 	BOT_TCL_VAR,
51 	CDCC_VAR,
52 	CDCC_FLOOD_AFTER_VAR,
53 	CDCC_FLOOD_RATE_VAR,
54 	CDCC_PROMPT_VAR,
55 	CDCC_SECURITY_VAR,
56 	CD_DEVICE_VAR,
57 	CHANGE_NICK_ON_KILL_VAR,
58 	CHANMODE_VAR,
59 	CHANNEL_NAME_WIDTH_VAR ,
60 	CHECK_BEEP_USERS_VAR ,
61 	CLIENTINFO_VAR ,
62 	CLOAK_VAR ,
63 	CLOCK_VAR ,
64 	CLOCK_24HOUR_VAR ,
65 	CLOCK_FORMAT_VAR,
66 	CLONE_CHECK_VAR,
67 	CLONE_COUNT_VAR,
68 	CMDCHARS_VAR ,
69 	COLOR_VAR,
70 	COMMAND_MODE_VAR ,
71 	COMMENT_BREAKAGE_VAR,
72 	COMPRESS_MODES_VAR,
73 	CONNECT_DELAY_VAR,
74 	CONNECT_TIMEOUT_VAR,
75 	CONTINUED_LINE_VAR ,
76 	CPU_SAVER_AFTER_VAR,
77 	CPU_SAVER_EVERY_VAR,
78 	CTCP_DELAY_VAR,
79 	CTCP_FLOOD_AFTER_VAR,
80 	CTCP_FLOOD_BAN_VAR,
81 	CTCP_FLOOD_PROTECTION_VAR ,
82 	CTCP_FLOOD_RATE_VAR,
83 	CTCP_VERBOSE_VAR,
84 	CTOOLZ_DIR_VAR ,
85 	DCC_AUTOGET_VAR ,
86 	DCC_AUTORENAME_VAR,
87 	DCC_AUTORESUME_VAR,
88 	DCC_BAR_TYPE_VAR,
89 	DCC_BLOCK_SIZE_VAR,
90 	DCC_DLDIR_VAR ,
91 	DCC_FAST_VAR,
92 	DCC_FORCE_PORT_VAR,
93 	DCC_GET_LIMIT_VAR,
94 	DCC_MAX_AUTOGET_SIZE_VAR ,
95 	DCC_QUEUE_LIMIT_VAR,
96 	DCC_SEND_LIMIT_VAR,
97 	DCC_TIMEOUT_VAR,
98 	DCC_ULDIR_VAR,
99 	DCC_USE_GATEWAY_ADDR_VAR,
100 	DEBUG_VAR ,
101 #if defined(__EMXPM__) || defined(WIN32)
102 	DEFAULT_CODEPAGE_VAR,
103 #endif
104 	DEFAULT_FONT_VAR,
105 	DEFAULT_MENU_VAR,
106 	DEFAULT_NICK_VAR,
107 	DEFAULT_REASON_VAR ,
108 	DEOPFLOOD_VAR ,
109 	DEOPFLOOD_TIME_VAR,
110 	DEOP_ON_DEOPFLOOD_VAR,
111 	DEOP_ON_KICKFLOOD_VAR,
112 	DETACH_ON_HUP,
113 	DISPATCH_UNKNOWN_COMMANDS_VAR,
114 	DISPLAY_VAR ,
115 	DISPLAY_ANSI_VAR,
116 	DISPLAY_PC_CHARACTERS_VAR,
117 	DOUBLE_STATUS_LINE_VAR,
118 	EIGHT_BIT_CHARACTERS_VAR,
119 	EXEC_PROTECTION_VAR ,
120 	FAKE_SPLIT_PATS_VAR,
121 	FLOATING_POINT_MATH_VAR,
122 	FLOOD_AFTER_VAR ,
123 	FLOOD_KICK_VAR ,
124 	FLOOD_PROTECTION_VAR ,
125 	FLOOD_RATE_VAR ,
126 	FLOOD_USERS_VAR ,
127 	FLOOD_WARNING_VAR ,
128 	FTP_GRAB_VAR,
129 	FULL_STATUS_LINE_VAR ,
130 	HACKING_VAR ,
131 	HACK_OPS_VAR,
132 	HEBREW_TOGGLE_VAR,
133 	HELP_PAGER_VAR ,
134 	HELP_PATH_VAR ,
135 	HELP_PROMPT_VAR ,
136 	HELP_WINDOW_VAR ,
137 	HIDE_PRIVATE_CHANNELS_VAR ,
138 	HIGHLIGHT_CHAR_VAR ,
139 	HIGH_BIT_ESCAPE_VAR,
140 	HISTORY_VAR ,
141 	HOLD_MODE_VAR ,
142 	HOLD_MODE_MAX_VAR ,
143 	HTTP_GRAB_VAR,
144 	IDENT_HACK_VAR,
145 	IDLE_CHECK_VAR,
146 	IGNORE_TIME_VAR,
147 	INDENT_VAR ,
148 	INPUT_ALIASES_VAR ,
149 	INPUT_GLOB_VAR,
150 	INPUT_PROMPT_VAR ,
151 	INSERT_MODE_VAR ,
152 	INVERSE_VIDEO_VAR ,
153 	JOINFLOOD_VAR,
154 	JOINFLOOD_TIME_VAR,
155 	JOIN_NEW_WINDOW_VAR,
156 	JOIN_NEW_WINDOW_TYPE_VAR,
157 	KICKFLOOD_VAR ,
158 	KICKFLOOD_TIME_VAR ,
159 	KICK_IF_BANNED_VAR ,
160 	KICK_ON_DEOPFLOOD_VAR ,
161 	KICK_ON_JOINFLOOD_VAR,
162 	KICK_ON_KICKFLOOD_VAR ,
163 	KICK_ON_NICKFLOOD_VAR ,
164 	KICK_ON_PUBFLOOD_VAR ,
165 	KICK_OPS_VAR ,
166 	LAMEIDENT_VAR,
167 	LAMELIST_VAR,
168 	LASTLOG_VAR ,
169 	LASTLOG_ANSI_VAR ,
170 	LASTLOG_LEVEL_VAR ,
171 	LLOOK_VAR ,
172 	LLOOK_DELAY_VAR ,
173 	LOAD_PATH_VAR ,
174 	LOG_VAR ,
175 	LOGFILE_VAR ,
176 	MAIL_VAR ,
177 	MANGLE_INBOUND_VAR,
178 	MANGLE_LOGFILES_VAR,
179 	MANGLE_OPERLOG_VAR,
180 	MANGLE_OUTBOUND_VAR,
181 	MAX_DEOPS_VAR ,
182 	MAX_IDLEKICKS_VAR ,
183 	MAX_SERVER_RECONNECT_VAR,
184 	MAX_URLS_VAR,
185 	MDI_VAR,
186 	META_STATES_VAR,
187 	MIRCS_VAR,
188 	MODE_STRIPPER_VAR ,
189 	MSGCOUNT_VAR,
190 	MSGLOG_VAR ,
191 	MSGLOGFILE_VAR ,
192 	MSGLOG_LEVEL_VAR,
193 	NAMES_COLUMNS_VAR,
194 	NAT_ADDRESS_VAR,
195 	ND_SPACE_MAX_VAR,
196 	NEW_SERVER_LASTLOG_LEVEL_VAR,
197 	NEXT_SERVER_ON_LOCAL_KILL_VAR,
198 	NICKFLOOD_VAR,
199 	NICKFLOOD_TIME_VAR,
200 	NICKLIST_VAR,
201 	NICKLIST_SORT_VAR,
202 	NICK_COMPLETION_VAR,
203 	NICK_COMPLETION_CHAR_VAR,
204 	NICK_COMPLETION_LEN_VAR,
205 	NICK_COMPLETION_TYPE_VAR,
206 	NOTIFY_VAR,
207 	NOTIFY_HANDLER_VAR,
208 	NOTIFY_INTERVAL_VAR,
209 	NOTIFY_LEVEL_VAR,
210 	NOTIFY_ON_TERMINATION_VAR,
211 	NO_CTCP_FLOOD_VAR,
212 	NO_FAIL_DISCONNECT_VAR,
213 	NUM_BANMODES_VAR,
214 	NUM_KICKS_VAR,
215 	NUM_KILLS_VAR,
216 	NUM_OF_WHOWAS_VAR,
217 	NUM_OPMODES_VAR,
218 	OPER_MODES_VAR,
219 	ORIGNICK_TIME_VAR,
220 	OV_VAR,
221 	PAD_CHAR_VAR,
222 	PING_TYPE_VAR,
223 	PROTECT_CHANNELS_VAR,
224 	PUBFLOOD_VAR,
225 	PUBFLOOD_TIME_VAR,
226 	QUERY_NEW_WINDOW_VAR,
227 	QUERY_NEW_WINDOW_TYPE_VAR,
228 	QUEUE_SENDS_VAR,
229 	RANDOM_LOCAL_PORTS_VAR,
230 	RANDOM_SOURCE_VAR,
231 	REALNAME_VAR,
232 	REVERSE_STATUS_VAR,
233 	SAVEFILE_VAR,
234 	SCREEN_OPTIONS_VAR,
235 	SCRIPT_HELP_VAR,
236 	SCROLLBACK_VAR,
237 	SCROLLBACK_RATIO_VAR,
238 	SCROLL_LINES_VAR,
239 	SEND_AWAY_MSG_VAR,
240 	SEND_CTCP_MSG_VAR,
241 	SEND_IGNORE_MSG_VAR,
242 	SEND_OP_MSG_VAR,
243 	SERVER_GROUPS_VAR,
244 	SERVER_PROMPT_VAR,
245 	SHELL_VAR,
246 	SHELL_FLAGS_VAR,
247 	SHELL_LIMIT_VAR,
248 	SHITLIST_VAR,
249 	SHITLIST_REASON_VAR,
250 	SHOW_AWAY_ONCE_VAR,
251 	SHOW_CHANNEL_NAMES_VAR,
252 	SHOW_END_OF_MSGS_VAR,
253 	SHOW_NUMERICS_VAR,
254 	SHOW_NUMERICS_STR_VAR,
255 	SHOW_STATUS_ALL_VAR,
256 	SHOW_WHO_HOPCOUNT_VAR,
257 	SOCKS_HOST_VAR,
258 	SOCKS_PORT_VAR,
259 	STATUS_AWAY_VAR,
260 	STATUS_CDCCCOUNT_VAR,
261 	STATUS_CHANNEL_VAR,
262 	STATUS_CHANOP_VAR,
263 	STATUS_CLOCK_VAR,
264 	STATUS_CPU_SAVER_VAR,
265 	STATUS_DCCCOUNT_VAR,
266 	STATUS_DOES_EXPANDOS_VAR,
267 	STATUS_FLAG_VAR,
268 	STATUS_FORMAT_VAR,
269 	STATUS_FORMAT1_VAR,
270 	STATUS_FORMAT2_VAR,
271 	STATUS_FORMAT3_VAR,
272 	STATUS_HALFOP_VAR,
273 	STATUS_HOLD_VAR,
274 	STATUS_HOLD_LINES_VAR,
275 	STATUS_INSERT_VAR,
276 	STATUS_LAG_VAR,
277 	STATUS_MAIL_VAR,
278 	STATUS_MODE_VAR,
279 	STATUS_MSGCOUNT_VAR,
280 	STATUS_NICK_VAR,
281 	STATUS_NOTIFY_VAR,
282 	STATUS_NO_REPEAT_VAR,
283 	STATUS_OPER_VAR,
284 	STATUS_OPER_KILLS_VAR,
285 	STATUS_OVERWRITE_VAR,
286 	STATUS_QUERY_VAR,
287 	STATUS_SCROLLBACK_VAR,
288 	STATUS_SERVER_VAR,
289 	STATUS_TOPIC_VAR,
290 	STATUS_UMODE_VAR,
291 	STATUS_USER0_VAR,
292 	STATUS_USER1_VAR,
293 	STATUS_USER10_VAR,
294 	STATUS_USER11_VAR,
295 	STATUS_USER12_VAR,
296 	STATUS_USER13_VAR,
297 	STATUS_USER14_VAR,
298 	STATUS_USER15_VAR,
299 	STATUS_USER16_VAR,
300 	STATUS_USER17_VAR,
301 	STATUS_USER18_VAR,
302 	STATUS_USER19_VAR,
303 	STATUS_USER2_VAR,
304 	STATUS_USER20_VAR,
305 	STATUS_USER21_VAR,
306 	STATUS_USER22_VAR,
307 	STATUS_USER23_VAR,
308 	STATUS_USER24_VAR,
309 	STATUS_USER25_VAR,
310 	STATUS_USER26_VAR,
311 	STATUS_USER27_VAR,
312 	STATUS_USER28_VAR,
313 	STATUS_USER29_VAR,
314 	STATUS_USER3_VAR,
315 	STATUS_USER30_VAR,
316 	STATUS_USER31_VAR,
317 	STATUS_USER32_VAR,
318 	STATUS_USER33_VAR,
319 	STATUS_USER34_VAR,
320 	STATUS_USER35_VAR,
321 	STATUS_USER36_VAR,
322 	STATUS_USER37_VAR,
323 	STATUS_USER38_VAR,
324 	STATUS_USER39_VAR,
325 	STATUS_USER4_VAR,
326 	STATUS_USER5_VAR,
327 	STATUS_USER6_VAR,
328 	STATUS_USER7_VAR,
329 	STATUS_USER8_VAR,
330 	STATUS_USER9_VAR,
331 	STATUS_USERS_VAR,
332 	STATUS_VOICE_VAR,
333 	STATUS_WINDOW_VAR,
334 	SUPPRESS_SERVER_MOTD_VAR,
335 	SWATCH_VAR,
336 	TAB_VAR,
337 	TAB_MAX_VAR,
338 	TIMESTAMP_VAR,
339 	TIMESTAMP_AWAYLOG_HOURLY_VAR,
340 	TIMESTAMP_STRING_VAR,
341 	TRANSLATION_VAR,
342 	UNDERLINE_VIDEO_VAR,
343 	USERLIST_VAR,
344 	USERMODE_VAR,
345 	USER_FLAG_OPS_VAR,
346 	USER_FLAG_PROT_VAR,
347 	USER_INFO_VAR,
348 #define USERINFO_VAR USER_INFO_VAR
349 	WINDOW_DESTROY_PART_VAR,
350 	WINDOW_QUIET_VAR,
351 	WORD_BREAK_VAR,
352 	XTERM_VAR,
353 	XTERM_OPTIONS_VAR,
354 	XTERM_TITLE_VAR,
355 	_CDCC_CLOSE_IDLE_SENDS_TIME_VAR,
356 	_CDCC_MINSPEED_TIME_VAR,
357 	_CDCC_PACKS_OFFERED_VAR,
358 NUMBER_OF_VARIABLES
359 };
360 
361 	int	do_boolean (char *, int *);
362 	void	setcmd (char *, char *, char *, char *);
363 	int	BX_get_int_var (enum VAR_TYPES);
364 	int	get_dllint_var (char *);
365 
366 	char	*BX_get_string_var (enum VAR_TYPES);
367 	char	*get_dllstring_var (char *);
368 
369 	char	*wget_string_var (Window *, enum VAR_TYPES);
370 	void	wset_string_var (Window *, enum VAR_TYPES, char *);
371 
372 	void	BX_set_int_var (enum VAR_TYPES, unsigned int);
373 	void	BX_set_string_var (enum VAR_TYPES, char *);
374 
375 	void	set_dllint_var (char *, unsigned int);
376 	void	set_dllstring_var (char *, char *);
377 
378 	void	init_variables (void);
379 	char	*make_string_var (const char *);
380 	void	set_highlight_char (Window *, char *, int);
381 	int	charset_size (void);
382 	void	save_variables (FILE *, int);
383 	void	set_var_value (int, char *, IrcVariableDll *);
384 	void    save_set (FILE *);
385 
386 extern	char	*var_settings[];
387 extern	int	loading_global;
388 	void	savebitchx_variables (FILE *);
389 	void	reinit_autoresponse (Window *, char *, int);
390 	void	clear_sets (void);
391 	void	clear_bindings (void);
392 	int	window_set_var (Window *, char *);
393 	void	init_window_variables (Window *);
394 
395 #include "cset.h"
396 
397 /* var_settings indexes  also used in display.c for highlights */
398 #define OFF 0
399 #define ON 1
400 #define TOGGLE 2
401 
402 /* the types of IrcVariables */
403 #define BOOL_TYPE_VAR	0
404 #define CHAR_TYPE_VAR	1
405 #define INT_TYPE_VAR	2
406 #define STR_TYPE_VAR	3
407 #define SET_TYPE_VAR	4
408 
409 #define	VF_NODAEMON	0x0001
410 #define VF_EXPAND_PATH	0x0002
411 
412 #define VIF_CHANGED	0x01
413 #define VIF_GLOBAL	0x02
414 #define VIF_BITCHX	0x04
415 #define VIF_PENDING	0x08
416 
417 #define	DEBUG_COMMANDS		0x0001
418 #define	DEBUG_EXPANSIONS	0x0002
419 #define DEBUG_FUNCTIONS		0x0004
420 #define DEBUG_TCL		0x0008
421 #define DEBUG_CMDALIAS		0x0010
422 #define DEBUG_HOOK		0x0020
423 #define DEBUG_VARIABLE		0x0040
424 #define DEBUG_FUNC		0x0080
425 
426 int	parse_mangle	(char *, int, char **);
427 
428 #endif /* __vars_h_ */
429