1 /*
2  * Copyright (C) 1998,1999,2000,2001  Ross Combs (rocombs@cs.nmsu.edu)
3  * Copyright (C) 1999  Rob Crittenden (rcrit@greyoak.com)
4  * Copyright (C) 1999  Mark Baysinger (mbaysing@ucsd.edu)
5  * Copyright (C) 2004,2005 Dizzy
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20  */
21 #define PREFS_INTERNAL_ACCESS
22 #include "common/setup_before.h"
23 #include <stdio.h>
24 #ifdef HAVE_STDDEF_H
25 # include <stddef.h>
26 #else
27 # ifndef NULL
28 #  define NULL ((void *)0)
29 # endif
30 #endif
31 #ifdef STDC_HEADERS
32 # include <stdlib.h>
33 #else
34 # ifdef HAVE_MALLOC_H
35 #  include <malloc.h>
36 # endif
37 #endif
38 #ifdef HAVE_STRING_H
39 # include <string.h>
40 #else
41 # ifdef HAVE_STRINGS_H
42 #  include <strings.h>
43 # endif
44 #endif
45 #include "compat/strdup.h"
46 #include "compat/strcasecmp.h"
47 #include <errno.h>
48 #include "compat/strerror.h"
49 #include <ctype.h>
50 #include "common/util.h"
51 #include "common/eventlog.h"
52 #include "common/xalloc.h"
53 #include "common/conf.h"
54 #include "prefs.h"
55 #include "common/setup_after.h"
56 
57 #define NONE 0
58 
59 static struct {
60     /* files and paths */
61     char const * filedir;
62     char const * storage_path;
63     char const * logfile;
64     char const * loglevels;
65     char const * motdfile;
66     char const * newsfile;
67     char const * channelfile;
68     char const * pidfile;
69     char const * adfile;
70     char const * topicfile;
71     char const * DBlayoutfile;
72 
73     unsigned int usersync;
74     unsigned int userflush;
75     unsigned int userstep;
76 
77     char const * servername;
78     char const * hostname;
79 
80     unsigned int track;
81     char const * location;
82     char const * description;
83     char const * url;
84     char const * contact_name;
85     char const * contact_email;
86     unsigned int latency;
87     unsigned int irc_latency;
88     unsigned int shutdown_delay;
89     unsigned int shutdown_decr;
90     unsigned int new_accounts;
91     unsigned int max_accounts;
92     unsigned int kick_old_login;
93     unsigned int ask_new_channel;
94     unsigned int hide_pass_games;
95     unsigned int hide_started_games;
96     unsigned int hide_temp_channels;
97     unsigned int hide_addr;
98     unsigned int enable_conn_all;
99     unsigned int extra_commands;
100     char const * reportdir;
101     unsigned int report_all_games;
102     unsigned int report_diablo_games;
103     char const * iconfile;
104     char const * war3_iconfile;
105     char const * star_iconfile;
106     char const * tosfile;
107     char const * mpqfile;
108     char const * trackaddrs;
109     char const * servaddrs;
110     char const * w3routeaddr;
111     char const * ircaddrs;
112     unsigned int use_keepalive;
113     unsigned int udptest_port;
114     char const * ipbanfile;
115     unsigned int disc_is_loss;
116     char const * helpfile;
117     char const * fortunecmd;
118     char const * transfile;
119     unsigned int chanlog;
120     char const * chanlogdir;
121     unsigned int quota;
122     unsigned int quota_lines;
123     unsigned int quota_time;
124     unsigned int quota_wrapline;
125     unsigned int quota_maxline;
126     unsigned int ladder_init_rating;
127     unsigned int quota_dobae;
128     char const * realmfile;
129     char const * issuefile;
130     char const * effective_user;
131     char const * effective_group;
132     unsigned int nullmsg;
133     unsigned int mail_support;
134     unsigned int mail_quota;
135     char const * maildir;
136     char const * log_notice;
137     unsigned int savebyname;
138     unsigned int skip_versioncheck;
139     unsigned int allow_bad_version;
140     unsigned int allow_unknown_version;
141     char const * versioncheck_file;
142     unsigned int d2cs_version;
143     unsigned int allow_d2cs_setname;
144     unsigned int hashtable_size;
145     char const * telnetaddrs;
146     unsigned int ipban_check_int;
147     char const * version_exeinfo_match;
148     unsigned int version_exeinfo_maxdiff;
149     unsigned int max_concurrent_logins;
150     char const * server_info;
151     char const * mapsfile;
152     char const * xplevelfile;
153     char const * xpcalcfile;
154     unsigned int initkill_timer;
155     unsigned int war3_ladder_update_secs;
156     unsigned int output_update_secs;
157     char const * ladderdir;
158     char const * statusdir;
159     unsigned int XML_output_ladder;
160     unsigned int XML_status_output;
161     char const * account_allowed_symbols;
162     unsigned int account_force_username;
163     char const * command_groups_file;
164     char const * tournament_file;
165     char const * aliasfile;
166     char const * anongame_infos_file;
167     unsigned int max_conns_per_IP;
168     unsigned int max_friends;
169     unsigned int clan_newer_time;
170     unsigned int clan_max_members;
171     unsigned int clan_channel_default_private;
172     unsigned int passfail_count;
173     unsigned int passfail_bantime;
174     unsigned int maxusers_per_channel;
175     char const * supportfile;
176     char const * allowed_clients;
177     char const * ladder_games;
178     char const * ladder_prefix;
179     unsigned int max_connections;
180     unsigned int sync_on_logoff;
181     char const * irc_network_name;
182 
183     char const * woladdrs;
184     char const * woltimezone;
185     char const * wollongitude;
186     char const * wollatitude;
187 } prefs_runtime_config;
188 
189 static int conf_set_filedir(const char *valstr);
190 static const char *conf_get_filedir(void);
191 static int conf_setdef_filedir(void);
192 
193 static int conf_set_storage_path(const char *valstr);
194 static const char *conf_get_storage_path(void);
195 static int conf_setdef_storage_path(void);
196 
197 static int conf_set_logfile(const char *valstr);
198 static const char *conf_get_logfile(void);
199 static int conf_setdef_logfile(void);
200 
201 static int conf_set_loglevels(const char *valstr);
202 static const char *conf_get_loglevels(void);
203 static int conf_setdef_loglevels(void);
204 
205 static int conf_set_motdfile(const char *valstr);
206 static const char *conf_get_motdfile(void);
207 static int conf_setdef_motdfile(void);
208 
209 static int conf_set_newsfile(const char *valstr);
210 static const char *conf_get_newsfile(void);
211 static int conf_setdef_newsfile(void);
212 
213 static int conf_set_channelfile(const char *valstr);
214 static const char *conf_get_channelfile(void);
215 static int conf_setdef_channelfile(void);
216 
217 static int conf_set_pidfile(const char *valstr);
218 static const char *conf_get_pidfile(void);
219 static int conf_setdef_pidfile(void);
220 
221 static int conf_set_adfile(const char *valstr);
222 static const char *conf_get_adfile(void);
223 static int conf_setdef_adfile(void);
224 
225 static int conf_set_topicfile(const char *valstr);
226 static const char *conf_get_topicfile(void);
227 static int conf_setdef_topicfile(void);
228 
229 static int conf_set_DBlayoutfile(const char *valstr);
230 static const char *conf_get_DBlayoutfile(void);
231 static int conf_setdef_DBlayoutfile(void);
232 
233 static int conf_set_supportfile(const char *valstr);
234 static const char *conf_get_supportfile(void);
235 static int conf_setdef_supportfile(void);
236 
237 static int conf_set_usersync(const char *valstr);
238 static const char *conf_get_usersync(void);
239 static int conf_setdef_usersync(void);
240 
241 static int conf_set_userflush(const char *valstr);
242 static const char *conf_get_userflush(void);
243 static int conf_setdef_userflush(void);
244 
245 static int conf_set_userstep(const char *valstr);
246 static const char *conf_get_userstep(void);
247 static int conf_setdef_userstep(void);
248 
249 static int conf_set_servername(const char *valstr);
250 static const char *conf_get_servername(void);
251 static int conf_setdef_servername(void);
252 
253 static int conf_set_hostname(const char *valstr);
254 static const char *conf_get_hostname(void);
255 static int conf_setdef_hostname(void);
256 
257 static int conf_set_track(const char *valstr);
258 static const char *conf_get_track(void);
259 static int conf_setdef_track(void);
260 
261 static int conf_set_location(const char *valstr);
262 static const char *conf_get_location(void);
263 static int conf_setdef_location(void);
264 
265 static int conf_set_description(const char *valstr);
266 static const char *conf_get_description(void);
267 static int conf_setdef_description(void);
268 
269 static int conf_set_url(const char *valstr);
270 static const char *conf_get_url(void);
271 static int conf_setdef_url(void);
272 
273 static int conf_set_contact_name(const char *valstr);
274 static const char *conf_get_contact_name(void);
275 static int conf_setdef_contact_name(void);
276 
277 static int conf_set_contact_email(const char *valstr);
278 static const char *conf_get_contact_email(void);
279 static int conf_setdef_contact_email(void);
280 
281 static int conf_set_latency(const char *valstr);
282 static const char *conf_get_latency(void);
283 static int conf_setdef_latency(void);
284 
285 static int conf_set_irc_latency(const char *valstr);
286 static const char *conf_get_irc_latency(void);
287 static int conf_setdef_irc_latency(void);
288 
289 static int conf_set_shutdown_delay(const char *valstr);
290 static const char *conf_get_shutdown_delay(void);
291 static int conf_setdef_shutdown_delay(void);
292 
293 static int conf_set_shutdown_decr(const char *valstr);
294 static const char *conf_get_shutdown_decr(void);
295 static int conf_setdef_shutdown_decr(void);
296 
297 static int conf_set_new_accounts(const char *valstr);
298 static const char *conf_get_new_accounts(void);
299 static int conf_setdef_new_accounts(void);
300 
301 static int conf_set_max_accounts(const char *valstr);
302 static const char *conf_get_max_accounts(void);
303 static int conf_setdef_max_accounts(void);
304 
305 static int conf_set_kick_old_login(const char *valstr);
306 static const char *conf_get_kick_old_login(void);
307 static int conf_setdef_kick_old_login(void);
308 
309 static int conf_set_ask_new_channel(const char *valstr);
310 static const char *conf_get_ask_new_channel(void);
311 static int conf_setdef_ask_new_channel(void);
312 
313 static int conf_set_hide_pass_games(const char *valstr);
314 static const char *conf_get_hide_pass_games(void);
315 static int conf_setdef_hide_pass_games(void);
316 
317 static int conf_set_hide_started_games(const char *valstr);
318 static const char *conf_get_hide_started_games(void);
319 static int conf_setdef_hide_started_games(void);
320 
321 static int conf_set_hide_temp_channels(const char *valstr);
322 static const char *conf_get_hide_temp_channels(void);
323 static int conf_setdef_hide_temp_channels(void);
324 
325 static int conf_set_hide_addr(const char *valstr);
326 static const char *conf_get_hide_addr(void);
327 static int conf_setdef_hide_addr(void);
328 
329 static int conf_set_enable_conn_all(const char *valstr);
330 static const char *conf_get_enable_conn_all(void);
331 static int conf_setdef_enable_conn_all(void);
332 
333 static int conf_set_extra_commands(const char *valstr);
334 static const char *conf_get_extra_commands(void);
335 static int conf_setdef_extra_commands(void);
336 
337 static int conf_set_reportdir(const char *valstr);
338 static const char *conf_get_reportdir(void);
339 static int conf_setdef_reportdir(void);
340 
341 static int conf_set_report_all_games(const char *valstr);
342 static const char *conf_get_report_all_games(void);
343 static int conf_setdef_report_all_games(void);
344 
345 static int conf_set_report_diablo_games(const char *valstr);
346 static const char *conf_get_report_diablo_games(void);
347 static int conf_setdef_report_diablo_games(void);
348 
349 static int conf_set_iconfile(const char *valstr);
350 static const char *conf_get_iconfile(void);
351 static int conf_setdef_iconfile(void);
352 
353 static int conf_set_war3_iconfile(const char *valstr);
354 static const char *conf_get_war3_iconfile(void);
355 static int conf_setdef_war3_iconfile(void);
356 
357 static int conf_set_star_iconfile(const char *valstr);
358 static const char *conf_get_star_iconfile(void);
359 static int conf_setdef_star_iconfile(void);
360 
361 static int conf_set_tosfile(const char *valstr);
362 static const char *conf_get_tosfile(void);
363 static int conf_setdef_tosfile(void);
364 
365 static int conf_set_mpqfile(const char *valstr);
366 static const char *conf_get_mpqfile(void);
367 static int conf_setdef_mpqfile(void);
368 
369 static int conf_set_trackaddrs(const char *valstr);
370 static const char *conf_get_trackaddrs(void);
371 static int conf_setdef_trackaddrs(void);
372 
373 static int conf_set_servaddrs(const char *valstr);
374 static const char *conf_get_servaddrs(void);
375 static int conf_setdef_servaddrs(void);
376 
377 static int conf_set_w3routeaddr(const char *valstr);
378 static const char *conf_get_w3routeaddr(void);
379 static int conf_setdef_w3routeaddr(void);
380 
381 static int conf_set_ircaddrs(const char *valstr);
382 static const char *conf_get_ircaddrs(void);
383 static int conf_setdef_ircaddrs(void);
384 
385 static int conf_set_use_keepalive(const char *valstr);
386 static const char *conf_get_use_keepalive(void);
387 static int conf_setdef_use_keepalive(void);
388 
389 static int conf_set_udptest_port(const char *valstr);
390 static const char *conf_get_udptest_port(void);
391 static int conf_setdef_udptest_port(void);
392 
393 static int conf_set_ipbanfile(const char *valstr);
394 static const char *conf_get_ipbanfile(void);
395 static int conf_setdef_ipbanfile(void);
396 
397 static int conf_set_disc_is_loss(const char *valstr);
398 static const char *conf_get_disc_is_loss(void);
399 static int conf_setdef_disc_is_loss(void);
400 
401 static int conf_set_helpfile(const char *valstr);
402 static const char *conf_get_helpfile(void);
403 static int conf_setdef_helpfile(void);
404 
405 static int conf_set_fortunecmd(const char *valstr);
406 static const char *conf_get_fortunecmd(void);
407 static int conf_setdef_fortunecmd(void);
408 
409 static int conf_set_transfile(const char *valstr);
410 static const char *conf_get_transfile(void);
411 static int conf_setdef_transfile(void);
412 
413 static int conf_set_chanlog(const char *valstr);
414 static const char *conf_get_chanlog(void);
415 static int conf_setdef_chanlog(void);
416 
417 static int conf_set_chanlogdir(const char *valstr);
418 static const char *conf_get_chanlogdir(void);
419 static int conf_setdef_chanlogdir(void);
420 
421 static int conf_set_quota(const char *valstr);
422 static const char *conf_get_quota(void);
423 static int conf_setdef_quota(void);
424 
425 static int conf_set_quota_lines(const char *valstr);
426 static const char *conf_get_quota_lines(void);
427 static int conf_setdef_quota_lines(void);
428 
429 static int conf_set_quota_time(const char *valstr);
430 static const char *conf_get_quota_time(void);
431 static int conf_setdef_quota_time(void);
432 
433 static int conf_set_quota_wrapline(const char *valstr);
434 static const char *conf_get_quota_wrapline(void);
435 static int conf_setdef_quota_wrapline(void);
436 
437 static int conf_set_quota_maxline(const char *valstr);
438 static const char *conf_get_quota_maxline(void);
439 static int conf_setdef_quota_maxline(void);
440 
441 static int conf_set_ladder_init_rating(const char *valstr);
442 static const char *conf_get_ladder_init_rating(void);
443 static int conf_setdef_ladder_init_rating(void);
444 
445 static int conf_set_quota_dobae(const char *valstr);
446 static const char *conf_get_quota_dobae(void);
447 static int conf_setdef_quota_dobae(void);
448 
449 static int conf_set_realmfile(const char *valstr);
450 static const char *conf_get_realmfile(void);
451 static int conf_setdef_realmfile(void);
452 
453 static int conf_set_issuefile(const char *valstr);
454 static const char *conf_get_issuefile(void);
455 static int conf_setdef_issuefile(void);
456 
457 static int conf_set_effective_user(const char *valstr);
458 static const char *conf_get_effective_user(void);
459 static int conf_setdef_effective_user(void);
460 
461 static int conf_set_effective_group(const char *valstr);
462 static const char *conf_get_effective_group(void);
463 static int conf_setdef_effective_group(void);
464 
465 static int conf_set_nullmsg(const char *valstr);
466 static const char *conf_get_nullmsg(void);
467 static int conf_setdef_nullmsg(void);
468 
469 static int conf_set_mail_support(const char *valstr);
470 static const char *conf_get_mail_support(void);
471 static int conf_setdef_mail_support(void);
472 
473 static int conf_set_mail_quota(const char *valstr);
474 static const char *conf_get_mail_quota(void);
475 static int conf_setdef_mail_quota(void);
476 
477 static int conf_set_maildir(const char *valstr);
478 static const char *conf_get_maildir(void);
479 static int conf_setdef_maildir(void);
480 
481 static int conf_set_log_notice(const char *valstr);
482 static const char *conf_get_log_notice(void);
483 static int conf_setdef_log_notice(void);
484 
485 static int conf_set_savebyname(const char *valstr);
486 static const char *conf_get_savebyname(void);
487 static int conf_setdef_savebyname(void);
488 
489 static int conf_set_skip_versioncheck(const char *valstr);
490 static const char *conf_get_skip_versioncheck(void);
491 static int conf_setdef_skip_versioncheck(void);
492 
493 static int conf_set_allow_bad_version(const char *valstr);
494 static const char *conf_get_allow_bad_version(void);
495 static int conf_setdef_allow_bad_version(void);
496 
497 static int conf_set_allow_unknown_version(const char *valstr);
498 static const char *conf_get_allow_unknown_version(void);
499 static int conf_setdef_allow_unknown_version(void);
500 
501 static int conf_set_versioncheck_file(const char *valstr);
502 static const char *conf_get_versioncheck_file(void);
503 static int conf_setdef_versioncheck_file(void);
504 
505 static int conf_set_d2cs_version(const char *valstr);
506 static const char *conf_get_d2cs_version(void);
507 static int conf_setdef_d2cs_version(void);
508 
509 static int conf_set_allow_d2cs_setname(const char *valstr);
510 static const char *conf_get_allow_d2cs_setname(void);
511 static int conf_setdef_allow_d2cs_setname(void);
512 
513 static int conf_set_hashtable_size(const char *valstr);
514 static const char *conf_get_hashtable_size(void);
515 static int conf_setdef_hashtable_size(void);
516 
517 static int conf_set_telnetaddrs(const char *valstr);
518 static const char *conf_get_telnetaddrs(void);
519 static int conf_setdef_telnetaddrs(void);
520 
521 static int conf_set_ipban_check_int(const char *valstr);
522 static const char *conf_get_ipban_check_int(void);
523 static int conf_setdef_ipban_check_int(void);
524 
525 static int conf_set_version_exeinfo_match(const char *valstr);
526 static const char *conf_get_version_exeinfo_match(void);
527 static int conf_setdef_version_exeinfo_match(void);
528 
529 static int conf_set_version_exeinfo_maxdiff(const char *valstr);
530 static const char *conf_get_version_exeinfo_maxdiff(void);
531 static int conf_setdef_version_exeinfo_maxdiff(void);
532 
533 static int conf_set_max_concurrent_logins(const char *valstr);
534 static const char *conf_get_max_concurrent_logins(void);
535 static int conf_setdef_max_concurrent_logins(void);
536 
537 static int conf_set_server_info(const char *valstr);
538 static const char *conf_get_server_info(void);
539 static int conf_setdef_server_info(void);
540 
541 static int conf_set_mapsfile(const char *valstr);
542 static const char *conf_get_mapsfile(void);
543 static int conf_setdef_mapsfile(void);
544 
545 static int conf_set_xplevelfile(const char *valstr);
546 static const char *conf_get_xplevelfile(void);
547 static int conf_setdef_xplevelfile(void);
548 
549 static int conf_set_xpcalcfile(const char *valstr);
550 static const char *conf_get_xpcalcfile(void);
551 static int conf_setdef_xpcalcfile(void);
552 
553 static int conf_set_initkill_timer(const char *valstr);
554 static const char *conf_get_initkill_timer(void);
555 static int conf_setdef_initkill_timer(void);
556 
557 static int conf_set_war3_ladder_update_secs(const char *valstr);
558 static const char *conf_get_war3_ladder_update_secs(void);
559 static int conf_setdef_war3_ladder_update_secs(void);
560 
561 static int conf_set_output_update_secs(const char *valstr);
562 static const char *conf_get_output_update_secs(void);
563 static int conf_setdef_output_update_secs(void);
564 
565 static int conf_set_ladderdir(const char *valstr);
566 static const char *conf_get_ladderdir(void);
567 static int conf_setdef_ladderdir(void);
568 
569 static int conf_set_statusdir(const char *valstr);
570 static const char *conf_get_statusdir(void);
571 static int conf_setdef_statusdir(void);
572 
573 static int conf_set_XML_output_ladder(const char *valstr);
574 static const char *conf_get_XML_output_ladder(void);
575 static int conf_setdef_XML_output_ladder(void);
576 
577 static int conf_set_XML_status_output(const char *valstr);
578 static const char *conf_get_XML_status_output(void);
579 static int conf_setdef_XML_status_output(void);
580 
581 static int conf_set_account_allowed_symbols(const char *valstr);
582 static const char *conf_get_account_allowed_symbols(void);
583 static int conf_setdef_account_allowed_symbols(void);
584 
585 static int conf_set_account_force_username(const char *valstr);
586 static const char *conf_get_account_force_username(void);
587 static int conf_setdef_account_force_username(void);
588 
589 static int conf_set_command_groups_file(const char *valstr);
590 static const char *conf_get_command_groups_file(void);
591 static int conf_setdef_command_groups_file(void);
592 
593 static int conf_set_tournament_file(const char *valstr);
594 static const char *conf_get_tournament_file(void);
595 static int conf_setdef_tournament_file(void);
596 
597 static int conf_set_aliasfile(const char *valstr);
598 static const char *conf_get_aliasfile(void);
599 static int conf_setdef_aliasfile(void);
600 
601 static int conf_set_anongame_infos_file(const char *valstr);
602 static const char *conf_get_anongame_infos_file(void);
603 static int conf_setdef_anongame_infos_file(void);
604 
605 static int conf_set_max_conns_per_IP(const char *valstr);
606 static const char *conf_get_max_conns_per_IP(void);
607 static int conf_setdef_max_conns_per_IP(void);
608 
609 static int conf_set_max_friends(const char *valstr);
610 static const char *conf_get_max_friends(void);
611 static int conf_setdef_max_friends(void);
612 
613 static int conf_set_clan_newer_time(const char *valstr);
614 static const char *conf_get_clan_newer_time(void);
615 static int conf_setdef_clan_newer_time(void);
616 
617 static int conf_set_clan_max_members(const char *valstr);
618 static const char *conf_get_clan_max_members(void);
619 static int conf_setdef_clan_max_members(void);
620 
621 static int conf_set_clan_channel_default_private(const char *valstr);
622 static const char *conf_get_clan_channel_default_private(void);
623 static int conf_setdef_clan_channel_default_private(void);
624 
625 static int conf_set_passfail_count(const char *valstr);
626 static const char *conf_get_passfail_count(void);
627 static int conf_setdef_passfail_count(void);
628 
629 static int conf_set_passfail_bantime(const char *valstr);
630 static const char *conf_get_passfail_bantime(void);
631 static int conf_setdef_passfail_bantime(void);
632 
633 static int conf_set_maxusers_per_channel(const char *valstr);
634 static const char *conf_get_maxusers_per_channel(void);
635 static int conf_setdef_maxusers_per_channel(void);
636 
637 static int conf_set_allowed_clients(const char *valstr);
638 static const char *conf_get_allowed_clients(void);
639 static int conf_setdef_allowed_clients(void);
640 
641 static int conf_set_ladder_games(const char *valstr);
642 static const char *conf_get_ladder_games(void);
643 static int conf_setdef_ladder_games(void);
644 
645 static int conf_set_max_connections(const char *valstr);
646 static const char *conf_get_max_connections(void);
647 static int conf_setdef_max_connections(void);
648 
649 static int conf_set_sync_on_logoff(const char *valstr);
650 static const char *conf_get_sync_on_logoff(void);
651 static int conf_setdef_sync_on_logoff(void);
652 
653 static int conf_set_ladder_prefix(const char *valstr);
654 static const char *conf_get_ladder_prefix(void);
655 static int conf_setdef_ladder_prefix(void);
656 
657 static int conf_setdef_irc_network_name(void);
658 static int conf_set_irc_network_name(const char *valstr);
659 static const char *conf_get_irc_network_name(void);
660 
661 
662 static int conf_setdef_wol_addrs(void);
663 static int conf_set_wol_addrs(const char *valstr);
664 static const char *conf_get_wol_addrs(void);
665 
666 static int conf_set_wol_timezone(const char *valstr);
667 static const char *conf_get_wol_timezone(void);
668 static int conf_setdef_wol_timezone(void);
669 
670 static int conf_set_wol_longitude(const char *valstr);
671 static const char *conf_get_wol_longitude(void);
672 static int conf_setdef_wol_longitude(void);
673 
674 static int conf_set_wol_latitude(const char *valstr);
675 static const char *conf_get_wol_latitude(void);
676 static int conf_setdef_wol_latitude(void);
677 
678 /*    directive                 set method                     get method         */
679 static t_conf_entry conf_table[] =
680   {
681     { "filedir",                conf_set_filedir,              conf_get_filedir,      conf_setdef_filedir},
682     { "storage_path",           conf_set_storage_path,         conf_get_storage_path, conf_setdef_storage_path},
683     { "logfile",                conf_set_logfile,              conf_get_logfile,      conf_setdef_logfile},
684     { "loglevels",              conf_set_loglevels,            conf_get_loglevels,    conf_setdef_loglevels},
685     { "motdfile",               conf_set_motdfile,             conf_get_motdfile,     conf_setdef_motdfile},
686     { "newsfile",               conf_set_newsfile,             conf_get_newsfile,     conf_setdef_newsfile},
687     { "channelfile",            conf_set_channelfile,          conf_get_channelfile,  conf_setdef_channelfile},
688     { "pidfile",                conf_set_pidfile,              conf_get_pidfile,      conf_setdef_pidfile},
689     { "adfile",                 conf_set_adfile,               conf_get_adfile,       conf_setdef_adfile},
690     { "topicfile",		conf_set_topicfile,            conf_get_topicfile,    conf_setdef_topicfile},
691     { "DBlayoutfile",		conf_set_DBlayoutfile,         conf_get_DBlayoutfile, conf_setdef_DBlayoutfile},
692     { "supportfile",		conf_set_supportfile,          conf_get_supportfile,  conf_setdef_supportfile},
693     { "usersync",               conf_set_usersync,             conf_get_usersync,     conf_setdef_usersync},
694     { "userflush",              conf_set_userflush,            conf_get_userflush,    conf_setdef_userflush},
695     { "userstep",               conf_set_userstep,             conf_get_userstep,     conf_setdef_userstep},
696     { "servername",             conf_set_servername,           conf_get_servername,   conf_setdef_servername},
697     { "hostname",               conf_set_hostname,             conf_get_hostname,     conf_setdef_hostname},
698     { "track",                  conf_set_track,                conf_get_track,        conf_setdef_track},
699     { "location",               conf_set_location,             conf_get_location,     conf_setdef_location},
700     { "description",            conf_set_description,          conf_get_description,  conf_setdef_description},
701     { "url",                    conf_set_url,                  conf_get_url,          conf_setdef_url},
702     { "contact_name",           conf_set_contact_name,         conf_get_contact_name, conf_setdef_contact_name},
703     { "contact_email",          conf_set_contact_email,        conf_get_contact_email,conf_setdef_contact_email},
704     { "latency",                conf_set_latency,              conf_get_latency,      conf_setdef_latency},
705     { "irc_latency",            conf_set_irc_latency,          conf_get_irc_latency,  conf_setdef_irc_latency},
706     { "shutdown_delay",         conf_set_shutdown_delay,       conf_get_shutdown_delay,conf_setdef_shutdown_delay},
707     { "shutdown_decr",          conf_set_shutdown_decr,        conf_get_shutdown_decr,conf_setdef_shutdown_decr},
708     { "new_accounts",           conf_set_new_accounts,         conf_get_new_accounts, conf_setdef_new_accounts},
709     { "max_accounts",           conf_set_max_accounts,         conf_get_max_accounts, conf_setdef_max_accounts},
710     { "kick_old_login",         conf_set_kick_old_login,       conf_get_kick_old_login,conf_setdef_kick_old_login},
711     { "ask_new_channel",        conf_set_ask_new_channel,      conf_get_ask_new_channel,conf_setdef_ask_new_channel},
712     { "hide_pass_games",        conf_set_hide_pass_games,      conf_get_hide_pass_games,conf_setdef_hide_pass_games},
713     { "hide_started_games",     conf_set_hide_started_games,   conf_get_hide_started_games,conf_setdef_hide_started_games},
714     { "hide_temp_channels",     conf_set_hide_temp_channels,   conf_get_hide_temp_channels,conf_setdef_hide_temp_channels},
715     { "hide_addr",              conf_set_hide_addr,            conf_get_hide_addr,    conf_setdef_hide_addr},
716     { "enable_conn_all",        conf_set_enable_conn_all,      conf_get_enable_conn_all,conf_setdef_enable_conn_all},
717     { "extra_commands",         conf_set_extra_commands,       conf_get_extra_commands,conf_setdef_extra_commands},
718     { "reportdir",              conf_set_reportdir,            conf_get_reportdir,    conf_setdef_reportdir},
719     { "report_all_games",       conf_set_report_all_games,     conf_get_report_all_games,conf_setdef_report_all_games},
720     { "report_diablo_games",    conf_set_report_diablo_games,  conf_get_report_diablo_games,conf_setdef_report_diablo_games},
721     { "iconfile",               conf_set_iconfile,             conf_get_iconfile,     conf_setdef_iconfile},
722     { "war3_iconfile",          conf_set_war3_iconfile,        conf_get_war3_iconfile,conf_setdef_war3_iconfile},
723     { "star_iconfile",          conf_set_star_iconfile,        conf_get_star_iconfile,conf_setdef_star_iconfile},
724     { "tosfile",                conf_set_tosfile,              conf_get_tosfile,      conf_setdef_tosfile},
725     { "mpqfile",                conf_set_mpqfile,              conf_get_mpqfile,      conf_setdef_mpqfile},
726     { "trackaddrs",             conf_set_trackaddrs,           conf_get_trackaddrs,   conf_setdef_trackaddrs},
727     { "servaddrs",              conf_set_servaddrs,            conf_get_servaddrs,    conf_setdef_servaddrs},
728     { "w3routeaddr",            conf_set_w3routeaddr,          conf_get_w3routeaddr,  conf_setdef_w3routeaddr},
729     { "ircaddrs",               conf_set_ircaddrs,             conf_get_ircaddrs,     conf_setdef_ircaddrs},
730     { "use_keepalive",          conf_set_use_keepalive,        conf_get_use_keepalive,conf_setdef_use_keepalive},
731     { "udptest_port",           conf_set_udptest_port,         conf_get_udptest_port, conf_setdef_udptest_port},
732     { "ipbanfile",              conf_set_ipbanfile,            conf_get_ipbanfile,    conf_setdef_ipbanfile},
733     { "disc_is_loss",           conf_set_disc_is_loss,         conf_get_disc_is_loss, conf_setdef_disc_is_loss},
734     { "helpfile",               conf_set_helpfile,             conf_get_helpfile,     conf_setdef_helpfile},
735     { "fortunecmd",             conf_set_fortunecmd,           conf_get_fortunecmd,   conf_setdef_fortunecmd},
736     { "transfile",              conf_set_transfile,            conf_get_transfile,    conf_setdef_transfile},
737     { "chanlog",                conf_set_chanlog,              conf_get_chanlog,      conf_setdef_chanlog},
738     { "chanlogdir",             conf_set_chanlogdir,           conf_get_chanlogdir,   conf_setdef_chanlogdir},
739     { "quota",                  conf_set_quota,                conf_get_quota,        conf_setdef_quota},
740     { "quota_lines",            conf_set_quota_lines,          conf_get_quota_lines,  conf_setdef_quota_lines},
741     { "quota_time",             conf_set_quota_time,           conf_get_quota_time,   conf_setdef_quota_time},
742     { "quota_wrapline",	        conf_set_quota_wrapline,       conf_get_quota_wrapline,conf_setdef_quota_wrapline},
743     { "quota_maxline",	        conf_set_quota_maxline,        conf_get_quota_maxline,conf_setdef_quota_maxline},
744     { "ladder_init_rating",     conf_set_ladder_init_rating,   conf_get_ladder_init_rating,conf_setdef_ladder_init_rating},
745     { "quota_dobae",            conf_set_quota_dobae,          conf_get_quota_dobae,  conf_setdef_quota_dobae},
746     { "realmfile",              conf_set_realmfile,            conf_get_realmfile,    conf_setdef_realmfile},
747     { "issuefile",              conf_set_issuefile,            conf_get_issuefile,    conf_setdef_issuefile},
748     { "effective_user",         conf_set_effective_user,       conf_get_effective_user,conf_setdef_effective_user},
749     { "effective_group",        conf_set_effective_group,      conf_get_effective_group,conf_setdef_effective_group},
750     { "nullmsg",                conf_set_nullmsg,              conf_get_nullmsg,      conf_setdef_nullmsg},
751     { "mail_support",           conf_set_mail_support,         conf_get_mail_support, conf_setdef_mail_support},
752     { "mail_quota",             conf_set_mail_quota,           conf_get_mail_quota,   conf_setdef_mail_quota},
753     { "maildir",                conf_set_maildir,              conf_get_maildir,      conf_setdef_maildir},
754     { "log_notice",             conf_set_log_notice,           conf_get_log_notice,   conf_setdef_log_notice},
755     { "savebyname",             conf_set_savebyname,           conf_get_savebyname,   conf_setdef_savebyname},
756     { "skip_versioncheck",      conf_set_skip_versioncheck,    conf_get_skip_versioncheck,conf_setdef_skip_versioncheck},
757     { "allow_bad_version",      conf_set_allow_bad_version,    conf_get_allow_bad_version,conf_setdef_allow_bad_version},
758     { "allow_unknown_version",  conf_set_allow_unknown_version,conf_get_allow_unknown_version,conf_setdef_allow_unknown_version},
759     { "versioncheck_file",      conf_set_versioncheck_file,    conf_get_versioncheck_file,conf_setdef_versioncheck_file},
760     { "d2cs_version",           conf_set_d2cs_version,         conf_get_d2cs_version, conf_setdef_d2cs_version},
761     { "allow_d2cs_setname",     conf_set_allow_d2cs_setname,   conf_get_allow_d2cs_setname,conf_setdef_allow_d2cs_setname},
762     { "hashtable_size",         conf_set_hashtable_size,       conf_get_hashtable_size,conf_setdef_hashtable_size},
763     { "telnetaddrs",            conf_set_telnetaddrs,          conf_get_telnetaddrs,  conf_setdef_telnetaddrs},
764     { "ipban_check_int",	conf_set_ipban_check_int,      conf_get_ipban_check_int,conf_setdef_ipban_check_int},
765     { "version_exeinfo_match",  conf_set_version_exeinfo_match,conf_get_version_exeinfo_match,conf_setdef_version_exeinfo_match},
766     { "version_exeinfo_maxdiff",conf_set_version_exeinfo_maxdiff,conf_get_version_exeinfo_maxdiff,conf_setdef_version_exeinfo_maxdiff},
767     { "max_concurrent_logins",  conf_set_max_concurrent_logins,conf_get_max_concurrent_logins,conf_setdef_max_concurrent_logins},
768     { "server_info", 		conf_set_server_info,          conf_get_server_info,  conf_setdef_server_info},
769     { "mapsfile",		conf_set_mapsfile,             conf_get_mapsfile,     conf_setdef_mapsfile},
770     { "xplevelfile",    	conf_set_xplevelfile,          conf_get_xplevelfile,  conf_setdef_xplevelfile},
771     { "xpcalcfile",		conf_set_xpcalcfile,           conf_get_xpcalcfile,   conf_setdef_xpcalcfile},
772     { "initkill_timer", 	conf_set_initkill_timer,       conf_get_initkill_timer,conf_setdef_initkill_timer},
773     { "war3_ladder_update_secs",conf_set_war3_ladder_update_secs,conf_get_war3_ladder_update_secs,conf_setdef_war3_ladder_update_secs},
774     { "output_update_secs",	conf_set_output_update_secs,   conf_get_output_update_secs,conf_setdef_output_update_secs},
775     { "ladderdir",              conf_set_ladderdir,            conf_get_ladderdir,    conf_setdef_ladderdir},
776     { "statusdir",              conf_set_statusdir,            conf_get_statusdir,    conf_setdef_statusdir},
777     { "XML_output_ladder",      conf_set_XML_output_ladder,    conf_get_XML_output_ladder,conf_setdef_XML_output_ladder},
778     { "XML_status_output",      conf_set_XML_status_output,    conf_get_XML_status_output,conf_setdef_XML_status_output},
779     { "account_allowed_symbols",conf_set_account_allowed_symbols,conf_get_account_allowed_symbols,conf_setdef_account_allowed_symbols},
780     { "account_force_username", conf_set_account_force_username,conf_get_account_force_username,conf_setdef_account_force_username},
781     { "command_groups_file",	conf_set_command_groups_file,  conf_get_command_groups_file,conf_setdef_command_groups_file},
782     { "tournament_file",	conf_set_tournament_file,      conf_get_tournament_file,conf_setdef_tournament_file},
783     { "aliasfile"          ,    conf_set_aliasfile,            conf_get_aliasfile,    conf_setdef_aliasfile},
784     { "anongame_infos_file",	conf_set_anongame_infos_file,  conf_get_anongame_infos_file,conf_setdef_anongame_infos_file},
785     { "max_conns_per_IP",	conf_set_max_conns_per_IP,     conf_get_max_conns_per_IP,conf_setdef_max_conns_per_IP},
786     { "max_friends",		conf_set_max_friends,          conf_get_max_friends,  conf_setdef_max_friends},
787     { "clan_newer_time",        conf_set_clan_newer_time,      conf_get_clan_newer_time,conf_setdef_clan_newer_time},
788     { "clan_max_members",       conf_set_clan_max_members,     conf_get_clan_max_members,conf_setdef_clan_max_members},
789     { "clan_channel_default_private",conf_set_clan_channel_default_private,conf_get_clan_channel_default_private,conf_setdef_clan_channel_default_private},
790     { "passfail_count",		conf_set_passfail_count,       conf_get_passfail_count,conf_setdef_passfail_count},
791     { "passfail_bantime",	conf_set_passfail_bantime,     conf_get_passfail_bantime,conf_setdef_passfail_bantime},
792     { "maxusers_per_channel",	conf_set_maxusers_per_channel, conf_get_maxusers_per_channel,conf_setdef_maxusers_per_channel},
793     { "allowed_clients",	conf_set_allowed_clients,      conf_get_allowed_clients,conf_setdef_allowed_clients},
794     { "ladder_games",           conf_set_ladder_games,         conf_get_ladder_games, conf_setdef_ladder_games},
795     { "max_connections",      	conf_set_max_connections,      conf_get_max_connections,conf_setdef_max_connections},
796     { "sync_on_logoff",         conf_set_sync_on_logoff,       conf_get_sync_on_logoff,conf_setdef_sync_on_logoff},
797     { "ladder_prefix",		conf_set_ladder_prefix,	       conf_get_ladder_prefix,conf_setdef_ladder_prefix},
798     { "irc_network_name",		conf_set_irc_network_name,	       conf_get_irc_network_name, conf_setdef_irc_network_name},
799 
800     { "woladdrs",		conf_set_wol_addrs,	       conf_get_wol_addrs, conf_setdef_wol_addrs},
801     { "woltimezone",		conf_set_wol_timezone,         conf_get_wol_timezone, conf_setdef_wol_timezone},
802     { "wollongitude",		conf_set_wol_longitude,             conf_get_wol_longitude, conf_setdef_wol_longitude},
803     { "wollatitude",		conf_set_wol_latitude,              conf_get_wol_latitude, conf_setdef_wol_latitude},
804 
805     { NULL,			NULL,				NULL,				NONE},
806   };
807 
prefs_load(char const * filename)808 extern int prefs_load(char const * filename)
809 {
810     FILE *fd;
811 
812     if (!filename) {
813 	eventlog(eventlog_level_error,__FUNCTION__,"got NULL filename");
814 	return -1;
815     }
816 
817     fd = fopen(filename,"rt");
818     if (!fd) {
819 	eventlog(eventlog_level_error,__FUNCTION__,"could not open file '%s'",filename);
820 	return -1;
821     }
822 
823     if (conf_load_file(fd,conf_table)) {
824 	eventlog(eventlog_level_error,__FUNCTION__,"error loading config file '%s'",filename);
825 	fclose(fd);
826 	return -1;
827     }
828 
829     fclose(fd);
830 
831     return 0;
832 }
833 
834 
prefs_unload(void)835 extern void prefs_unload(void)
836 {
837     conf_unload(conf_table);
838 }
839 
prefs_get_storage_path(void)840 extern char const * prefs_get_storage_path(void)
841 {
842     return prefs_runtime_config.storage_path;
843 }
844 
conf_set_storage_path(const char * valstr)845 static int conf_set_storage_path(const char *valstr)
846 {
847     return conf_set_str(&prefs_runtime_config.storage_path,valstr,NULL);
848 }
849 
conf_setdef_storage_path(void)850 static int conf_setdef_storage_path(void)
851 {
852     return conf_set_str(&prefs_runtime_config.storage_path,NULL,BNETD_STORAGE_PATH);
853 }
854 
conf_get_storage_path(void)855 static const char* conf_get_storage_path(void)
856 {
857     return prefs_runtime_config.storage_path;
858 }
859 
860 
prefs_get_filedir(void)861 extern char const * prefs_get_filedir(void)
862 {
863     return prefs_runtime_config.filedir;
864 }
865 
conf_set_filedir(const char * valstr)866 static int conf_set_filedir(const char *valstr)
867 {
868     return conf_set_str(&prefs_runtime_config.filedir,valstr,NULL);
869 }
870 
conf_setdef_filedir(void)871 static int conf_setdef_filedir(void)
872 {
873     return conf_set_str(&prefs_runtime_config.filedir,NULL,BNETD_FILE_DIR);
874 }
875 
conf_get_filedir(void)876 static const char* conf_get_filedir(void)
877 {
878     return prefs_runtime_config.filedir;
879 }
880 
881 
prefs_get_logfile(void)882 extern char const * prefs_get_logfile(void)
883 {
884     return prefs_runtime_config.logfile;
885 }
886 
conf_set_logfile(const char * valstr)887 static int conf_set_logfile(const char *valstr)
888 {
889     return conf_set_str(&prefs_runtime_config.logfile,valstr,NULL);
890 }
891 
conf_setdef_logfile(void)892 static int conf_setdef_logfile(void)
893 {
894     return conf_set_str(&prefs_runtime_config.logfile,NULL,BNETD_LOG_FILE);
895 }
896 
conf_get_logfile(void)897 static const char* conf_get_logfile(void)
898 {
899     return prefs_runtime_config.logfile;
900 }
901 
902 
prefs_get_loglevels(void)903 extern char const * prefs_get_loglevels(void)
904 {
905     return prefs_runtime_config.loglevels;
906 }
907 
conf_set_loglevels(const char * valstr)908 static int conf_set_loglevels(const char *valstr)
909 {
910     return conf_set_str(&prefs_runtime_config.loglevels,valstr,NULL);
911 }
912 
conf_setdef_loglevels(void)913 static int conf_setdef_loglevels(void)
914 {
915     return conf_set_str(&prefs_runtime_config.loglevels,NULL,BNETD_LOG_LEVELS);
916 }
917 
conf_get_loglevels(void)918 static const char* conf_get_loglevels(void)
919 {
920     return prefs_runtime_config.loglevels;
921 }
922 
923 
prefs_get_motdfile(void)924 extern char const * prefs_get_motdfile(void)
925 {
926     return prefs_runtime_config.motdfile;
927 }
928 
conf_set_motdfile(const char * valstr)929 static int conf_set_motdfile(const char *valstr)
930 {
931     return conf_set_str(&prefs_runtime_config.motdfile,valstr,NULL);
932 }
933 
conf_setdef_motdfile(void)934 static int conf_setdef_motdfile(void)
935 {
936     return conf_set_str(&prefs_runtime_config.motdfile,NULL,BNETD_MOTD_FILE);
937 }
938 
conf_get_motdfile(void)939 static const char* conf_get_motdfile(void)
940 {
941     return prefs_runtime_config.motdfile;
942 }
943 
944 
prefs_get_newsfile(void)945 extern char const * prefs_get_newsfile(void)
946 {
947     return prefs_runtime_config.newsfile;
948 }
949 
conf_set_newsfile(const char * valstr)950 static int conf_set_newsfile(const char *valstr)
951 {
952     return conf_set_str(&prefs_runtime_config.newsfile,valstr,NULL);
953 }
954 
conf_setdef_newsfile(void)955 static int conf_setdef_newsfile(void)
956 {
957     return conf_set_str(&prefs_runtime_config.newsfile,NULL,BNETD_NEWS_DIR);
958 }
959 
conf_get_newsfile(void)960 static const char* conf_get_newsfile(void)
961 {
962     return prefs_runtime_config.newsfile;
963 }
964 
965 
prefs_get_adfile(void)966 extern char const * prefs_get_adfile(void)
967 {
968     return prefs_runtime_config.adfile;
969 }
970 
conf_set_adfile(const char * valstr)971 static int conf_set_adfile(const char *valstr)
972 {
973     return conf_set_str(&prefs_runtime_config.adfile,valstr,NULL);
974 }
975 
conf_setdef_adfile(void)976 static int conf_setdef_adfile(void)
977 {
978     return conf_set_str(&prefs_runtime_config.adfile,NULL,BNETD_AD_FILE);
979 }
980 
conf_get_adfile(void)981 static const char* conf_get_adfile(void)
982 {
983     return prefs_runtime_config.adfile;
984 }
985 
986 
prefs_get_topicfile(void)987 extern char const * prefs_get_topicfile(void)
988 {
989     return prefs_runtime_config.topicfile;
990 }
991 
conf_set_topicfile(const char * valstr)992 static int conf_set_topicfile(const char *valstr)
993 {
994     return conf_set_str(&prefs_runtime_config.topicfile,valstr,NULL);
995 }
996 
conf_setdef_topicfile(void)997 static int conf_setdef_topicfile(void)
998 {
999     return conf_set_str(&prefs_runtime_config.topicfile,NULL,BNETD_TOPIC_FILE);
1000 }
1001 
conf_get_topicfile(void)1002 static const char* conf_get_topicfile(void)
1003 {
1004     return prefs_runtime_config.topicfile;
1005 }
1006 
1007 
prefs_get_DBlayoutfile(void)1008 extern char const * prefs_get_DBlayoutfile(void)
1009 {
1010     return prefs_runtime_config.DBlayoutfile;
1011 }
1012 
conf_set_DBlayoutfile(const char * valstr)1013 static int conf_set_DBlayoutfile(const char *valstr)
1014 {
1015     return conf_set_str(&prefs_runtime_config.DBlayoutfile,valstr,NULL);
1016 }
1017 
conf_setdef_DBlayoutfile(void)1018 static int conf_setdef_DBlayoutfile(void)
1019 {
1020     return conf_set_str(&prefs_runtime_config.DBlayoutfile,NULL,BNETD_DBLAYOUT_FILE);
1021 }
1022 
conf_get_DBlayoutfile(void)1023 static const char* conf_get_DBlayoutfile(void)
1024 {
1025     return prefs_runtime_config.DBlayoutfile;
1026 }
1027 
1028 
prefs_get_user_sync_timer(void)1029 extern unsigned int prefs_get_user_sync_timer(void)
1030 {
1031     return prefs_runtime_config.usersync;
1032 }
1033 
conf_set_usersync(const char * valstr)1034 static int conf_set_usersync(const char *valstr)
1035 {
1036     return conf_set_int(&prefs_runtime_config.usersync,valstr,0);
1037 }
1038 
conf_setdef_usersync(void)1039 static int conf_setdef_usersync(void)
1040 {
1041     return conf_set_int(&prefs_runtime_config.usersync,NULL,BNETD_USERSYNC);
1042 }
1043 
conf_get_usersync(void)1044 static const char* conf_get_usersync(void)
1045 {
1046     return conf_get_int(prefs_runtime_config.usersync);
1047 }
1048 
1049 
prefs_get_user_flush_timer(void)1050 extern unsigned int prefs_get_user_flush_timer(void)
1051 {
1052     return prefs_runtime_config.userflush;
1053 }
1054 
conf_set_userflush(const char * valstr)1055 static int conf_set_userflush(const char *valstr)
1056 {
1057     return conf_set_int(&prefs_runtime_config.userflush,valstr,0);
1058 }
1059 
conf_setdef_userflush(void)1060 static int conf_setdef_userflush(void)
1061 {
1062     return conf_set_int(&prefs_runtime_config.userflush,NULL,BNETD_USERFLUSH);
1063 }
1064 
conf_get_userflush(void)1065 static const char* conf_get_userflush(void)
1066 {
1067     return conf_get_int(prefs_runtime_config.userflush);
1068 }
1069 
1070 
prefs_get_user_step(void)1071 extern unsigned int prefs_get_user_step(void)
1072 {
1073     return prefs_runtime_config.userstep;
1074 }
1075 
conf_set_userstep(const char * valstr)1076 static int conf_set_userstep(const char *valstr)
1077 {
1078     return conf_set_int(&prefs_runtime_config.userstep,valstr,0);
1079 }
1080 
conf_setdef_userstep(void)1081 static int conf_setdef_userstep(void)
1082 {
1083     return conf_set_int(&prefs_runtime_config.userstep,NULL,BNETD_USERSTEP);
1084 }
1085 
conf_get_userstep(void)1086 static const char* conf_get_userstep(void)
1087 {
1088     return conf_get_int(prefs_runtime_config.userstep);
1089 }
1090 
1091 
prefs_get_servername(void)1092 extern char const * prefs_get_servername(void)
1093 {
1094     return prefs_runtime_config.servername;
1095 }
1096 
conf_set_servername(const char * valstr)1097 static int conf_set_servername(const char *valstr)
1098 {
1099     return conf_set_str(&prefs_runtime_config.servername,valstr,NULL);
1100 }
1101 
conf_setdef_servername(void)1102 static int conf_setdef_servername(void)
1103 {
1104     return conf_set_str(&prefs_runtime_config.servername,NULL,BNETD_SERVERNAME);
1105 }
1106 
conf_get_servername(void)1107 static const char* conf_get_servername(void)
1108 {
1109     return prefs_runtime_config.servername;
1110 }
1111 
1112 
prefs_get_hostname(void)1113 extern char const * prefs_get_hostname(void)
1114 {
1115     return prefs_runtime_config.hostname;
1116 }
1117 
conf_set_hostname(const char * valstr)1118 static int conf_set_hostname(const char *valstr)
1119 {
1120     return conf_set_str(&prefs_runtime_config.hostname,valstr,NULL);
1121 }
1122 
conf_setdef_hostname(void)1123 static int conf_setdef_hostname(void)
1124 {
1125     return conf_set_str(&prefs_runtime_config.hostname,NULL,"");
1126 }
1127 
conf_get_hostname(void)1128 static const char* conf_get_hostname(void)
1129 {
1130     return prefs_runtime_config.hostname;
1131 }
1132 
1133 
prefs_get_track(void)1134 extern unsigned int prefs_get_track(void)
1135 {
1136     return prefs_runtime_config.track;
1137 }
1138 
conf_set_track(const char * valstr)1139 static int conf_set_track(const char *valstr)
1140 {
1141     unsigned int rez;
1142 
1143     conf_set_int(&prefs_runtime_config.track,valstr,0);
1144     rez = prefs_runtime_config.track;
1145     if (rez>0 && rez<60) rez = 60;
1146     return 0;
1147 }
1148 
conf_setdef_track(void)1149 static int conf_setdef_track(void)
1150 {
1151     return conf_set_int(&prefs_runtime_config.track,NULL,BNETD_TRACK_TIME);
1152 }
1153 
conf_get_track(void)1154 static const char* conf_get_track(void)
1155 {
1156     return conf_get_int(prefs_runtime_config.track);
1157 }
1158 
1159 
prefs_get_location(void)1160 extern char const * prefs_get_location(void)
1161 {
1162     return prefs_runtime_config.location;
1163 }
1164 
conf_set_location(const char * valstr)1165 static int conf_set_location(const char *valstr)
1166 {
1167     return conf_set_str(&prefs_runtime_config.location,valstr,NULL);
1168 }
1169 
conf_setdef_location(void)1170 static int conf_setdef_location(void)
1171 {
1172     return conf_set_str(&prefs_runtime_config.location,NULL,"");
1173 }
1174 
conf_get_location(void)1175 static const char* conf_get_location(void)
1176 {
1177     return prefs_runtime_config.location;
1178 }
1179 
1180 
prefs_get_description(void)1181 extern char const * prefs_get_description(void)
1182 {
1183     return prefs_runtime_config.description;
1184 }
1185 
conf_set_description(const char * valstr)1186 static int conf_set_description(const char *valstr)
1187 {
1188     return conf_set_str(&prefs_runtime_config.description,valstr,NULL);
1189 }
1190 
conf_setdef_description(void)1191 static int conf_setdef_description(void)
1192 {
1193     return conf_set_str(&prefs_runtime_config.description,NULL,"");
1194 }
1195 
conf_get_description(void)1196 static const char* conf_get_description(void)
1197 {
1198     return prefs_runtime_config.description;
1199 }
1200 
1201 
prefs_get_url(void)1202 extern char const * prefs_get_url(void)
1203 {
1204     return prefs_runtime_config.url;
1205 }
1206 
conf_set_url(const char * valstr)1207 static int conf_set_url(const char *valstr)
1208 {
1209     return conf_set_str(&prefs_runtime_config.url,valstr,NULL);
1210 }
1211 
conf_setdef_url(void)1212 static int conf_setdef_url(void)
1213 {
1214     return conf_set_str(&prefs_runtime_config.url,NULL,"");
1215 }
1216 
conf_get_url(void)1217 static const char* conf_get_url(void)
1218 {
1219     return prefs_runtime_config.url;
1220 }
1221 
1222 
prefs_get_contact_name(void)1223 extern char const * prefs_get_contact_name(void)
1224 {
1225     return prefs_runtime_config.contact_name;
1226 }
1227 
conf_set_contact_name(const char * valstr)1228 static int conf_set_contact_name(const char *valstr)
1229 {
1230     return conf_set_str(&prefs_runtime_config.contact_name,valstr,NULL);
1231 }
1232 
conf_setdef_contact_name(void)1233 static int conf_setdef_contact_name(void)
1234 {
1235     return conf_set_str(&prefs_runtime_config.contact_name,NULL,"");
1236 }
1237 
conf_get_contact_name(void)1238 static const char* conf_get_contact_name(void)
1239 {
1240     return prefs_runtime_config.contact_name;
1241 }
1242 
1243 
prefs_get_contact_email(void)1244 extern char const * prefs_get_contact_email(void)
1245 {
1246     return prefs_runtime_config.contact_email;
1247 }
1248 
conf_set_contact_email(const char * valstr)1249 static int conf_set_contact_email(const char *valstr)
1250 {
1251     return conf_set_str(&prefs_runtime_config.contact_email,valstr,NULL);
1252 }
1253 
conf_setdef_contact_email(void)1254 static int conf_setdef_contact_email(void)
1255 {
1256     return conf_set_str(&prefs_runtime_config.contact_email,NULL,"");
1257 }
1258 
conf_get_contact_email(void)1259 static const char* conf_get_contact_email(void)
1260 {
1261     return prefs_runtime_config.contact_email;
1262 }
1263 
1264 
prefs_get_latency(void)1265 extern unsigned int prefs_get_latency(void)
1266 {
1267     return prefs_runtime_config.latency;
1268 }
1269 
conf_set_latency(const char * valstr)1270 static int conf_set_latency(const char *valstr)
1271 {
1272     return conf_set_int(&prefs_runtime_config.latency,valstr,0);
1273 }
1274 
conf_setdef_latency(void)1275 static int conf_setdef_latency(void)
1276 {
1277     return conf_set_int(&prefs_runtime_config.latency,NULL,BNETD_LATENCY);
1278 }
1279 
conf_get_latency(void)1280 static const char* conf_get_latency(void)
1281 {
1282     return conf_get_int(prefs_runtime_config.latency);
1283 }
1284 
1285 
prefs_get_irc_latency(void)1286 extern unsigned int prefs_get_irc_latency(void)
1287 {
1288     return prefs_runtime_config.irc_latency;
1289 }
1290 
conf_set_irc_latency(const char * valstr)1291 static int conf_set_irc_latency(const char *valstr)
1292 {
1293     return conf_set_int(&prefs_runtime_config.irc_latency,valstr,0);
1294 }
1295 
conf_setdef_irc_latency(void)1296 static int conf_setdef_irc_latency(void)
1297 {
1298     return conf_set_int(&prefs_runtime_config.irc_latency,NULL,BNETD_IRC_LATENCY);
1299 }
1300 
conf_get_irc_latency(void)1301 static const char* conf_get_irc_latency(void)
1302 {
1303     return conf_get_int(prefs_runtime_config.irc_latency);
1304 }
1305 
1306 
prefs_get_shutdown_delay(void)1307 extern unsigned int prefs_get_shutdown_delay(void)
1308 {
1309     return prefs_runtime_config.shutdown_delay;
1310 }
1311 
conf_set_shutdown_delay(const char * valstr)1312 static int conf_set_shutdown_delay(const char *valstr)
1313 {
1314     return conf_set_int(&prefs_runtime_config.shutdown_delay,valstr,0);
1315 }
1316 
conf_setdef_shutdown_delay(void)1317 static int conf_setdef_shutdown_delay(void)
1318 {
1319     return conf_set_int(&prefs_runtime_config.shutdown_delay,NULL,BNETD_SHUTDELAY);
1320 }
1321 
conf_get_shutdown_delay(void)1322 static const char* conf_get_shutdown_delay(void)
1323 {
1324     return conf_get_int(prefs_runtime_config.shutdown_delay);
1325 }
1326 
1327 
prefs_get_shutdown_decr(void)1328 extern unsigned int prefs_get_shutdown_decr(void)
1329 {
1330     return prefs_runtime_config.shutdown_decr;
1331 }
1332 
conf_set_shutdown_decr(const char * valstr)1333 static int conf_set_shutdown_decr(const char *valstr)
1334 {
1335     return conf_set_int(&prefs_runtime_config.shutdown_decr,valstr,0);
1336 }
1337 
conf_setdef_shutdown_decr(void)1338 static int conf_setdef_shutdown_decr(void)
1339 {
1340     return conf_set_int(&prefs_runtime_config.shutdown_decr,NULL,BNETD_SHUTDECR);
1341 }
1342 
conf_get_shutdown_decr(void)1343 static const char* conf_get_shutdown_decr(void)
1344 {
1345     return conf_get_int(prefs_runtime_config.shutdown_decr);
1346 }
1347 
1348 
prefs_get_allow_new_accounts(void)1349 extern unsigned int prefs_get_allow_new_accounts(void)
1350 {
1351     return prefs_runtime_config.new_accounts;
1352 }
1353 
conf_set_new_accounts(const char * valstr)1354 static int conf_set_new_accounts(const char *valstr)
1355 {
1356     return conf_set_bool(&prefs_runtime_config.new_accounts,valstr,0);
1357 }
1358 
conf_setdef_new_accounts(void)1359 static int conf_setdef_new_accounts(void)
1360 {
1361     return conf_set_bool(&prefs_runtime_config.new_accounts,NULL,1);
1362 }
1363 
conf_get_new_accounts(void)1364 static const char* conf_get_new_accounts(void)
1365 {
1366     return conf_get_bool(prefs_runtime_config.new_accounts);
1367 }
1368 
1369 
prefs_get_max_accounts(void)1370 extern unsigned int prefs_get_max_accounts(void)
1371 {
1372     return prefs_runtime_config.max_accounts;
1373 }
1374 
conf_set_max_accounts(const char * valstr)1375 static int conf_set_max_accounts(const char *valstr)
1376 {
1377     return conf_set_int(&prefs_runtime_config.max_accounts,valstr,0);
1378 }
1379 
conf_setdef_max_accounts(void)1380 static int conf_setdef_max_accounts(void)
1381 {
1382     return conf_set_int(&prefs_runtime_config.max_accounts,NULL,0);
1383 }
1384 
conf_get_max_accounts(void)1385 static const char* conf_get_max_accounts(void)
1386 {
1387     return conf_get_int(prefs_runtime_config.max_accounts);
1388 }
1389 
1390 
prefs_get_kick_old_login(void)1391 extern unsigned int prefs_get_kick_old_login(void)
1392 {
1393     return prefs_runtime_config.kick_old_login;
1394 }
1395 
conf_set_kick_old_login(const char * valstr)1396 static int conf_set_kick_old_login(const char *valstr)
1397 {
1398     return conf_set_bool(&prefs_runtime_config.kick_old_login,valstr,0);
1399 }
1400 
conf_setdef_kick_old_login(void)1401 static int conf_setdef_kick_old_login(void)
1402 {
1403     return conf_set_bool(&prefs_runtime_config.kick_old_login,NULL,1);
1404 }
1405 
conf_get_kick_old_login(void)1406 static const char* conf_get_kick_old_login(void)
1407 {
1408     return conf_get_bool(prefs_runtime_config.kick_old_login);
1409 }
1410 
1411 
prefs_get_channelfile(void)1412 extern char const * prefs_get_channelfile(void)
1413 {
1414     return prefs_runtime_config.channelfile;
1415 }
1416 
conf_set_channelfile(const char * valstr)1417 static int conf_set_channelfile(const char *valstr)
1418 {
1419     return conf_set_str(&prefs_runtime_config.channelfile,valstr,NULL);
1420 }
1421 
conf_setdef_channelfile(void)1422 static int conf_setdef_channelfile(void)
1423 {
1424     return conf_set_str(&prefs_runtime_config.channelfile,NULL,BNETD_CHANNEL_FILE);
1425 }
1426 
conf_get_channelfile(void)1427 static const char* conf_get_channelfile(void)
1428 {
1429     return prefs_runtime_config.channelfile;
1430 }
1431 
1432 
prefs_get_ask_new_channel(void)1433 extern unsigned int prefs_get_ask_new_channel(void)
1434 {
1435     return prefs_runtime_config.ask_new_channel;
1436 }
1437 
conf_set_ask_new_channel(const char * valstr)1438 static int conf_set_ask_new_channel(const char *valstr)
1439 {
1440     return conf_set_bool(&prefs_runtime_config.ask_new_channel,valstr,0);
1441 }
1442 
conf_setdef_ask_new_channel(void)1443 static int conf_setdef_ask_new_channel(void)
1444 {
1445     return conf_set_bool(&prefs_runtime_config.ask_new_channel,NULL,1);
1446 }
1447 
conf_get_ask_new_channel(void)1448 static const char* conf_get_ask_new_channel(void)
1449 {
1450     return conf_get_bool(prefs_runtime_config.ask_new_channel);
1451 }
1452 
1453 
prefs_get_hide_pass_games(void)1454 extern unsigned int prefs_get_hide_pass_games(void)
1455 {
1456     return prefs_runtime_config.hide_pass_games;
1457 }
1458 
conf_set_hide_pass_games(const char * valstr)1459 static int conf_set_hide_pass_games(const char *valstr)
1460 {
1461     return conf_set_bool(&prefs_runtime_config.hide_pass_games,valstr,0);
1462 }
1463 
conf_setdef_hide_pass_games(void)1464 static int conf_setdef_hide_pass_games(void)
1465 {
1466     return conf_set_bool(&prefs_runtime_config.hide_pass_games,NULL,1);
1467 }
1468 
conf_get_hide_pass_games(void)1469 static const char* conf_get_hide_pass_games(void)
1470 {
1471     return conf_get_bool(prefs_runtime_config.hide_pass_games);
1472 }
1473 
1474 
prefs_get_hide_started_games(void)1475 extern unsigned int prefs_get_hide_started_games(void)
1476 {
1477     return prefs_runtime_config.hide_started_games;
1478 }
1479 
conf_set_hide_started_games(const char * valstr)1480 static int conf_set_hide_started_games(const char *valstr)
1481 {
1482     return conf_set_bool(&prefs_runtime_config.hide_started_games,valstr,0);
1483 }
1484 
conf_setdef_hide_started_games(void)1485 static int conf_setdef_hide_started_games(void)
1486 {
1487     return conf_set_bool(&prefs_runtime_config.hide_started_games,NULL,1);
1488 }
1489 
conf_get_hide_started_games(void)1490 static const char* conf_get_hide_started_games(void)
1491 {
1492     return conf_get_bool(prefs_runtime_config.hide_started_games);
1493 }
1494 
1495 
prefs_get_hide_temp_channels(void)1496 extern unsigned int prefs_get_hide_temp_channels(void)
1497 {
1498     return prefs_runtime_config.hide_temp_channels;
1499 }
1500 
conf_set_hide_temp_channels(const char * valstr)1501 static int conf_set_hide_temp_channels(const char *valstr)
1502 {
1503     return conf_set_bool(&prefs_runtime_config.hide_temp_channels,valstr,0);
1504 }
1505 
conf_setdef_hide_temp_channels(void)1506 static int conf_setdef_hide_temp_channels(void)
1507 {
1508     return conf_set_bool(&prefs_runtime_config.hide_temp_channels,NULL,1);
1509 }
1510 
conf_get_hide_temp_channels(void)1511 static const char* conf_get_hide_temp_channels(void)
1512 {
1513     return conf_get_bool(prefs_runtime_config.hide_temp_channels);
1514 }
1515 
prefs_get_hide_addr(void)1516 extern unsigned prefs_get_hide_addr(void)
1517 {
1518     return prefs_runtime_config.hide_addr;
1519 }
1520 
conf_set_hide_addr(const char * valstr)1521 static int conf_set_hide_addr(const char *valstr)
1522 {
1523     return conf_set_bool(&prefs_runtime_config.hide_addr,valstr,0);
1524 }
1525 
conf_setdef_hide_addr(void)1526 static int conf_setdef_hide_addr(void)
1527 {
1528     return conf_set_bool(&prefs_runtime_config.hide_addr,NULL,1);
1529 }
1530 
conf_get_hide_addr(void)1531 static const char* conf_get_hide_addr(void)
1532 {
1533     return conf_get_bool(prefs_runtime_config.hide_addr);
1534 }
1535 
1536 
prefs_get_enable_conn_all(void)1537 extern unsigned int prefs_get_enable_conn_all(void)
1538 {
1539     return prefs_runtime_config.enable_conn_all;
1540 }
1541 
conf_set_enable_conn_all(const char * valstr)1542 static int conf_set_enable_conn_all(const char *valstr)
1543 {
1544     return conf_set_bool(&prefs_runtime_config.enable_conn_all,valstr,0);
1545 }
1546 
conf_setdef_enable_conn_all(void)1547 static int conf_setdef_enable_conn_all(void)
1548 {
1549     return conf_set_bool(&prefs_runtime_config.enable_conn_all,NULL,0);
1550 }
1551 
conf_get_enable_conn_all(void)1552 static const char* conf_get_enable_conn_all(void)
1553 {
1554     return conf_get_bool(prefs_runtime_config.enable_conn_all);
1555 }
1556 
1557 
prefs_get_extra_commands(void)1558 extern unsigned int prefs_get_extra_commands(void)
1559 {
1560     return prefs_runtime_config.extra_commands;
1561 }
1562 
conf_set_extra_commands(const char * valstr)1563 static int conf_set_extra_commands(const char *valstr)
1564 {
1565     return conf_set_bool(&prefs_runtime_config.extra_commands,valstr,0);
1566 }
1567 
conf_setdef_extra_commands(void)1568 static int conf_setdef_extra_commands(void)
1569 {
1570     return conf_set_bool(&prefs_runtime_config.extra_commands,NULL,0);
1571 }
1572 
conf_get_extra_commands(void)1573 static const char* conf_get_extra_commands(void)
1574 {
1575     return conf_get_bool(prefs_runtime_config.extra_commands);
1576 }
1577 
1578 
prefs_get_reportdir(void)1579 extern char const * prefs_get_reportdir(void)
1580 {
1581     return prefs_runtime_config.reportdir;
1582 }
1583 
conf_set_reportdir(const char * valstr)1584 static int conf_set_reportdir(const char *valstr)
1585 {
1586     return conf_set_str(&prefs_runtime_config.reportdir,valstr,NULL);
1587 }
1588 
conf_setdef_reportdir(void)1589 static int conf_setdef_reportdir(void)
1590 {
1591     return conf_set_str(&prefs_runtime_config.reportdir,NULL,BNETD_REPORT_DIR);
1592 }
1593 
conf_get_reportdir(void)1594 static const char* conf_get_reportdir(void)
1595 {
1596     return prefs_runtime_config.reportdir;
1597 }
1598 
1599 
prefs_get_report_all_games(void)1600 extern unsigned int prefs_get_report_all_games(void)
1601 {
1602     return prefs_runtime_config.report_all_games;
1603 }
1604 
conf_set_report_all_games(const char * valstr)1605 static int conf_set_report_all_games(const char *valstr)
1606 {
1607     return conf_set_bool(&prefs_runtime_config.report_all_games,valstr,0);
1608 }
1609 
conf_setdef_report_all_games(void)1610 static int conf_setdef_report_all_games(void)
1611 {
1612     return conf_set_bool(&prefs_runtime_config.report_all_games,NULL,0);
1613 }
1614 
conf_get_report_all_games(void)1615 static const char* conf_get_report_all_games(void)
1616 {
1617     return conf_get_bool(prefs_runtime_config.report_all_games);
1618 }
1619 
1620 
prefs_get_report_diablo_games(void)1621 extern unsigned int prefs_get_report_diablo_games(void)
1622 {
1623     return prefs_runtime_config.report_diablo_games;
1624 }
1625 
conf_set_report_diablo_games(const char * valstr)1626 static int conf_set_report_diablo_games(const char *valstr)
1627 {
1628     return conf_set_bool(&prefs_runtime_config.report_diablo_games,valstr,0);
1629 }
1630 
conf_setdef_report_diablo_games(void)1631 static int conf_setdef_report_diablo_games(void)
1632 {
1633     return conf_set_bool(&prefs_runtime_config.report_diablo_games,NULL,0);
1634 }
1635 
conf_get_report_diablo_games(void)1636 static const char* conf_get_report_diablo_games(void)
1637 {
1638     return conf_get_bool(prefs_runtime_config.report_diablo_games);
1639 }
1640 
1641 
prefs_get_pidfile(void)1642 extern char const * prefs_get_pidfile(void)
1643 {
1644     return prefs_runtime_config.pidfile;
1645 }
1646 
conf_set_pidfile(const char * valstr)1647 static int conf_set_pidfile(const char *valstr)
1648 {
1649     return conf_set_str(&prefs_runtime_config.pidfile,valstr,NULL);
1650 }
1651 
conf_setdef_pidfile(void)1652 static int conf_setdef_pidfile(void)
1653 {
1654     return conf_set_str(&prefs_runtime_config.pidfile,NULL,BNETD_PID_FILE);
1655 }
1656 
conf_get_pidfile(void)1657 static const char* conf_get_pidfile(void)
1658 {
1659     return prefs_runtime_config.pidfile;
1660 }
1661 
1662 
prefs_get_iconfile(void)1663 extern char const * prefs_get_iconfile(void)
1664 {
1665     return prefs_runtime_config.iconfile;
1666 }
1667 
conf_set_iconfile(const char * valstr)1668 static int conf_set_iconfile(const char *valstr)
1669 {
1670     return conf_set_str(&prefs_runtime_config.iconfile,valstr,NULL);
1671 }
1672 
conf_setdef_iconfile(void)1673 static int conf_setdef_iconfile(void)
1674 {
1675     return conf_set_str(&prefs_runtime_config.iconfile,NULL,BNETD_ICON_FILE);
1676 }
1677 
conf_get_iconfile(void)1678 static const char* conf_get_iconfile(void)
1679 {
1680     return prefs_runtime_config.iconfile;
1681 }
1682 
1683 
prefs_get_war3_iconfile(void)1684 extern char const * prefs_get_war3_iconfile(void)
1685 {
1686     return prefs_runtime_config.war3_iconfile;
1687 }
1688 
conf_set_war3_iconfile(const char * valstr)1689 static int conf_set_war3_iconfile(const char *valstr)
1690 {
1691     return conf_set_str(&prefs_runtime_config.war3_iconfile,valstr,NULL);
1692 }
1693 
conf_setdef_war3_iconfile(void)1694 static int conf_setdef_war3_iconfile(void)
1695 {
1696     return conf_set_str(&prefs_runtime_config.war3_iconfile,NULL,BNETD_WAR3_ICON_FILE);
1697 }
1698 
conf_get_war3_iconfile(void)1699 static const char* conf_get_war3_iconfile(void)
1700 {
1701     return prefs_runtime_config.war3_iconfile;
1702 }
1703 
1704 
prefs_get_star_iconfile(void)1705 extern char const * prefs_get_star_iconfile(void)
1706 {
1707     return prefs_runtime_config.star_iconfile;
1708 }
1709 
conf_set_star_iconfile(const char * valstr)1710 static int conf_set_star_iconfile(const char *valstr)
1711 {
1712     return conf_set_str(&prefs_runtime_config.star_iconfile,valstr,NULL);
1713 }
1714 
conf_setdef_star_iconfile(void)1715 static int conf_setdef_star_iconfile(void)
1716 {
1717     return conf_set_str(&prefs_runtime_config.star_iconfile,NULL,BNETD_STAR_ICON_FILE);
1718 }
1719 
conf_get_star_iconfile(void)1720 static const char* conf_get_star_iconfile(void)
1721 {
1722     return prefs_runtime_config.star_iconfile;
1723 }
1724 
1725 
prefs_get_tosfile(void)1726 extern char const * prefs_get_tosfile(void)
1727 {
1728     return prefs_runtime_config.tosfile;
1729 }
1730 
conf_set_tosfile(const char * valstr)1731 static int conf_set_tosfile(const char *valstr)
1732 {
1733     return conf_set_str(&prefs_runtime_config.tosfile,valstr,NULL);
1734 }
1735 
conf_setdef_tosfile(void)1736 static int conf_setdef_tosfile(void)
1737 {
1738     return conf_set_str(&prefs_runtime_config.tosfile,NULL,BNETD_TOS_FILE);
1739 }
1740 
conf_get_tosfile(void)1741 static const char* conf_get_tosfile(void)
1742 {
1743     return prefs_runtime_config.tosfile;
1744 }
1745 
1746 
prefs_get_mpqfile(void)1747 extern char const * prefs_get_mpqfile(void)
1748 {
1749     return prefs_runtime_config.mpqfile;
1750 }
1751 
conf_set_mpqfile(const char * valstr)1752 static int conf_set_mpqfile(const char *valstr)
1753 {
1754     return conf_set_str(&prefs_runtime_config.mpqfile,valstr,NULL);
1755 }
1756 
conf_setdef_mpqfile(void)1757 static int conf_setdef_mpqfile(void)
1758 {
1759     return conf_set_str(&prefs_runtime_config.mpqfile,NULL,BNETD_MPQ_FILE);
1760 }
1761 
conf_get_mpqfile(void)1762 static const char* conf_get_mpqfile(void)
1763 {
1764     return prefs_runtime_config.mpqfile;
1765 }
1766 
1767 
prefs_get_trackserv_addrs(void)1768 extern char const * prefs_get_trackserv_addrs(void)
1769 {
1770     return prefs_runtime_config.trackaddrs;
1771 }
1772 
conf_set_trackaddrs(const char * valstr)1773 static int conf_set_trackaddrs(const char *valstr)
1774 {
1775     return conf_set_str(&prefs_runtime_config.trackaddrs,valstr,NULL);
1776 }
1777 
conf_setdef_trackaddrs(void)1778 static int conf_setdef_trackaddrs(void)
1779 {
1780     return conf_set_str(&prefs_runtime_config.trackaddrs,NULL,BNETD_TRACK_ADDRS);
1781 }
1782 
conf_get_trackaddrs(void)1783 static const char* conf_get_trackaddrs(void)
1784 {
1785     return prefs_runtime_config.trackaddrs;
1786 }
1787 
1788 
prefs_get_bnetdserv_addrs(void)1789 extern char const * prefs_get_bnetdserv_addrs(void)
1790 {
1791     return prefs_runtime_config.servaddrs;
1792 }
1793 
conf_set_servaddrs(const char * valstr)1794 static int conf_set_servaddrs(const char *valstr)
1795 {
1796     return conf_set_str(&prefs_runtime_config.servaddrs,valstr,NULL);
1797 }
1798 
conf_setdef_servaddrs(void)1799 static int conf_setdef_servaddrs(void)
1800 {
1801     return conf_set_str(&prefs_runtime_config.servaddrs,NULL,BNETD_SERV_ADDRS);
1802 }
1803 
conf_get_servaddrs(void)1804 static const char* conf_get_servaddrs(void)
1805 {
1806     return prefs_runtime_config.servaddrs;
1807 }
1808 
1809 
prefs_get_w3route_addr(void)1810 extern char const * prefs_get_w3route_addr(void)
1811 {
1812     return prefs_runtime_config.w3routeaddr;
1813 }
1814 
conf_set_w3routeaddr(const char * valstr)1815 static int conf_set_w3routeaddr(const char *valstr)
1816 {
1817     return conf_set_str(&prefs_runtime_config.w3routeaddr,valstr,NULL);
1818 }
1819 
conf_setdef_w3routeaddr(void)1820 static int conf_setdef_w3routeaddr(void)
1821 {
1822     return conf_set_str(&prefs_runtime_config.w3routeaddr,NULL,BNETD_W3ROUTE_ADDR);
1823 }
1824 
conf_get_w3routeaddr(void)1825 static const char* conf_get_w3routeaddr(void)
1826 {
1827     return prefs_runtime_config.w3routeaddr;
1828 }
1829 
1830 
prefs_get_irc_addrs(void)1831 extern char const * prefs_get_irc_addrs(void)
1832 {
1833     return prefs_runtime_config.ircaddrs;
1834 }
1835 
conf_set_ircaddrs(const char * valstr)1836 static int conf_set_ircaddrs(const char *valstr)
1837 {
1838     return conf_set_str(&prefs_runtime_config.ircaddrs,valstr,NULL);
1839 }
1840 
conf_setdef_ircaddrs(void)1841 static int conf_setdef_ircaddrs(void)
1842 {
1843     return conf_set_str(&prefs_runtime_config.ircaddrs,NULL,BNETD_IRC_ADDRS);
1844 }
1845 
conf_get_ircaddrs(void)1846 static const char* conf_get_ircaddrs(void)
1847 {
1848     return prefs_runtime_config.ircaddrs;
1849 }
1850 
1851 
prefs_get_use_keepalive(void)1852 extern unsigned int prefs_get_use_keepalive(void)
1853 {
1854     return prefs_runtime_config.use_keepalive;
1855 }
1856 
conf_set_use_keepalive(const char * valstr)1857 static int conf_set_use_keepalive(const char *valstr)
1858 {
1859     return conf_set_bool(&prefs_runtime_config.use_keepalive,valstr,0);
1860 }
1861 
conf_setdef_use_keepalive(void)1862 static int conf_setdef_use_keepalive(void)
1863 {
1864     return conf_set_bool(&prefs_runtime_config.use_keepalive,NULL,0);
1865 }
1866 
conf_get_use_keepalive(void)1867 static const char* conf_get_use_keepalive(void)
1868 {
1869     return conf_get_bool(prefs_runtime_config.use_keepalive);
1870 }
1871 
1872 
prefs_get_udptest_port(void)1873 extern unsigned int prefs_get_udptest_port(void)
1874 {
1875     return prefs_runtime_config.udptest_port;
1876 }
1877 
conf_set_udptest_port(const char * valstr)1878 static int conf_set_udptest_port(const char *valstr)
1879 {
1880     return conf_set_int(&prefs_runtime_config.udptest_port,valstr,0);
1881 }
1882 
conf_setdef_udptest_port(void)1883 static int conf_setdef_udptest_port(void)
1884 {
1885     return conf_set_int(&prefs_runtime_config.udptest_port,NULL,BNETD_DEF_TEST_PORT);
1886 }
1887 
conf_get_udptest_port(void)1888 static const char* conf_get_udptest_port(void)
1889 {
1890     return conf_get_int(prefs_runtime_config.udptest_port);
1891 }
1892 
1893 
prefs_get_ipbanfile(void)1894 extern char const * prefs_get_ipbanfile(void)
1895 {
1896     return prefs_runtime_config.ipbanfile;
1897 }
1898 
conf_set_ipbanfile(const char * valstr)1899 static int conf_set_ipbanfile(const char *valstr)
1900 {
1901     return conf_set_str(&prefs_runtime_config.ipbanfile,valstr,NULL);
1902 }
1903 
conf_setdef_ipbanfile(void)1904 static int conf_setdef_ipbanfile(void)
1905 {
1906     return conf_set_str(&prefs_runtime_config.ipbanfile,NULL,BNETD_IPBAN_FILE);
1907 }
1908 
conf_get_ipbanfile(void)1909 static const char* conf_get_ipbanfile(void)
1910 {
1911     return prefs_runtime_config.ipbanfile;
1912 }
1913 
1914 
prefs_get_discisloss(void)1915 extern unsigned int prefs_get_discisloss(void)
1916 {
1917     return prefs_runtime_config.disc_is_loss;
1918 }
1919 
conf_set_disc_is_loss(const char * valstr)1920 static int conf_set_disc_is_loss(const char *valstr)
1921 {
1922     return conf_set_bool(&prefs_runtime_config.disc_is_loss,valstr,0);
1923 }
1924 
conf_setdef_disc_is_loss(void)1925 static int conf_setdef_disc_is_loss(void)
1926 {
1927     return conf_set_bool(&prefs_runtime_config.disc_is_loss,NULL,0);
1928 }
1929 
conf_get_disc_is_loss(void)1930 static const char* conf_get_disc_is_loss(void)
1931 {
1932     return conf_get_bool(prefs_runtime_config.disc_is_loss);
1933 }
1934 
1935 
prefs_get_helpfile(void)1936 extern char const * prefs_get_helpfile(void)
1937 {
1938     return prefs_runtime_config.helpfile;
1939 }
1940 
conf_set_helpfile(const char * valstr)1941 static int conf_set_helpfile(const char *valstr)
1942 {
1943     return conf_set_str(&prefs_runtime_config.helpfile,valstr,NULL);
1944 }
1945 
conf_setdef_helpfile(void)1946 static int conf_setdef_helpfile(void)
1947 {
1948     return conf_set_str(&prefs_runtime_config.helpfile,NULL,BNETD_HELP_FILE);
1949 }
1950 
conf_get_helpfile(void)1951 static const char* conf_get_helpfile(void)
1952 {
1953     return prefs_runtime_config.helpfile;
1954 }
1955 
1956 
prefs_get_fortunecmd(void)1957 extern char const * prefs_get_fortunecmd(void)
1958 {
1959     return prefs_runtime_config.fortunecmd;
1960 }
1961 
conf_set_fortunecmd(const char * valstr)1962 static int conf_set_fortunecmd(const char *valstr)
1963 {
1964     return conf_set_str(&prefs_runtime_config.fortunecmd,valstr,NULL);
1965 }
1966 
conf_setdef_fortunecmd(void)1967 static int conf_setdef_fortunecmd(void)
1968 {
1969     return conf_set_str(&prefs_runtime_config.fortunecmd,NULL,BNETD_FORTUNECMD);
1970 }
1971 
conf_get_fortunecmd(void)1972 static const char* conf_get_fortunecmd(void)
1973 {
1974     return prefs_runtime_config.fortunecmd;
1975 }
1976 
1977 
prefs_get_transfile(void)1978 extern char const * prefs_get_transfile(void)
1979 {
1980     return prefs_runtime_config.transfile;
1981 }
1982 
conf_set_transfile(const char * valstr)1983 static int conf_set_transfile(const char *valstr)
1984 {
1985     return conf_set_str(&prefs_runtime_config.transfile,valstr,NULL);
1986 }
1987 
conf_setdef_transfile(void)1988 static int conf_setdef_transfile(void)
1989 {
1990     return conf_set_str(&prefs_runtime_config.transfile,NULL,BNETD_TRANS_FILE);
1991 }
1992 
conf_get_transfile(void)1993 static const char* conf_get_transfile(void)
1994 {
1995     return prefs_runtime_config.transfile;
1996 }
1997 
1998 
prefs_get_chanlog(void)1999 extern unsigned int prefs_get_chanlog(void)
2000 {
2001     return prefs_runtime_config.chanlog;
2002 }
2003 
conf_set_chanlog(const char * valstr)2004 static int conf_set_chanlog(const char *valstr)
2005 {
2006     return conf_set_bool(&prefs_runtime_config.chanlog,valstr,0);
2007 }
2008 
conf_setdef_chanlog(void)2009 static int conf_setdef_chanlog(void)
2010 {
2011     return conf_set_bool(&prefs_runtime_config.chanlog,NULL,BNETD_CHANLOG);
2012 }
2013 
conf_get_chanlog(void)2014 static const char* conf_get_chanlog(void)
2015 {
2016     return conf_get_bool(prefs_runtime_config.chanlog);
2017 }
2018 
2019 
prefs_get_chanlogdir(void)2020 extern char const * prefs_get_chanlogdir(void)
2021 {
2022     return prefs_runtime_config.chanlogdir;
2023 }
2024 
conf_set_chanlogdir(const char * valstr)2025 static int conf_set_chanlogdir(const char *valstr)
2026 {
2027     return conf_set_str(&prefs_runtime_config.chanlogdir,valstr,NULL);
2028 }
2029 
conf_setdef_chanlogdir(void)2030 static int conf_setdef_chanlogdir(void)
2031 {
2032     return conf_set_str(&prefs_runtime_config.chanlogdir,NULL,BNETD_CHANLOG_DIR);
2033 }
2034 
conf_get_chanlogdir(void)2035 static const char* conf_get_chanlogdir(void)
2036 {
2037     return prefs_runtime_config.chanlogdir;
2038 }
2039 
2040 
prefs_get_quota(void)2041 extern unsigned int prefs_get_quota(void)
2042 {
2043     return prefs_runtime_config.quota;
2044 }
2045 
conf_set_quota(const char * valstr)2046 static int conf_set_quota(const char *valstr)
2047 {
2048     return conf_set_bool(&prefs_runtime_config.quota,valstr,0);
2049 }
2050 
conf_setdef_quota(void)2051 static int conf_setdef_quota(void)
2052 {
2053     return conf_set_bool(&prefs_runtime_config.quota,NULL,0);
2054 }
2055 
conf_get_quota(void)2056 static const char* conf_get_quota(void)
2057 {
2058     return conf_get_bool(prefs_runtime_config.quota);
2059 }
2060 
2061 
prefs_get_quota_lines(void)2062 extern unsigned int prefs_get_quota_lines(void)
2063 {
2064     unsigned int rez;
2065 
2066     rez=prefs_runtime_config.quota_lines;
2067     if (rez<1) rez = 1;
2068     if (rez>100) rez = 100;
2069     return rez;
2070 }
2071 
conf_set_quota_lines(const char * valstr)2072 static int conf_set_quota_lines(const char *valstr)
2073 {
2074     return conf_set_int(&prefs_runtime_config.quota_lines,valstr,0);
2075 }
2076 
conf_setdef_quota_lines(void)2077 static int conf_setdef_quota_lines(void)
2078 {
2079     return conf_set_int(&prefs_runtime_config.quota_lines,NULL,BNETD_QUOTA_LINES);
2080 }
2081 
conf_get_quota_lines(void)2082 static const char* conf_get_quota_lines(void)
2083 {
2084     return conf_get_int(prefs_runtime_config.quota_lines);
2085 }
2086 
2087 
prefs_get_quota_time(void)2088 extern unsigned int prefs_get_quota_time(void)
2089 {
2090     unsigned int rez;
2091 
2092     rez=prefs_runtime_config.quota_time;
2093     if (rez<1) rez = 1;
2094     if (rez>10) rez = 60;
2095     return rez;
2096 }
2097 
conf_set_quota_time(const char * valstr)2098 static int conf_set_quota_time(const char *valstr)
2099 {
2100     return conf_set_int(&prefs_runtime_config.quota_time,valstr,0);
2101 }
2102 
conf_setdef_quota_time(void)2103 static int conf_setdef_quota_time(void)
2104 {
2105     return conf_set_int(&prefs_runtime_config.quota_time,NULL,BNETD_QUOTA_TIME);
2106 }
2107 
conf_get_quota_time(void)2108 static const char* conf_get_quota_time(void)
2109 {
2110     return conf_get_int(prefs_runtime_config.quota_time);
2111 }
2112 
2113 
prefs_get_quota_wrapline(void)2114 extern unsigned int prefs_get_quota_wrapline(void)
2115 {
2116     unsigned int rez;
2117 
2118     rez=prefs_runtime_config.quota_wrapline;
2119     if (rez<1) rez = 1;
2120     if (rez>256) rez = 256;
2121     return rez;
2122 }
2123 
conf_set_quota_wrapline(const char * valstr)2124 static int conf_set_quota_wrapline(const char *valstr)
2125 {
2126     return conf_set_int(&prefs_runtime_config.quota_wrapline,valstr,0);
2127 }
2128 
conf_setdef_quota_wrapline(void)2129 static int conf_setdef_quota_wrapline(void)
2130 {
2131     return conf_set_int(&prefs_runtime_config.quota_wrapline,NULL,BNETD_QUOTA_WLINE);
2132 }
2133 
conf_get_quota_wrapline(void)2134 static const char* conf_get_quota_wrapline(void)
2135 {
2136     return conf_get_int(prefs_runtime_config.quota_wrapline);
2137 }
2138 
2139 
prefs_get_quota_maxline(void)2140 extern unsigned int prefs_get_quota_maxline(void)
2141 {
2142     unsigned int rez;
2143 
2144     rez=prefs_runtime_config.quota_maxline;
2145     if (rez<1) rez = 1;
2146     if (rez>256) rez = 256;
2147     return rez;
2148 }
2149 
conf_set_quota_maxline(const char * valstr)2150 static int conf_set_quota_maxline(const char *valstr)
2151 {
2152     return conf_set_int(&prefs_runtime_config.quota_maxline,valstr,0);
2153 }
2154 
conf_setdef_quota_maxline(void)2155 static int conf_setdef_quota_maxline(void)
2156 {
2157     return conf_set_int(&prefs_runtime_config.quota_maxline,NULL,BNETD_QUOTA_MLINE);
2158 }
2159 
conf_get_quota_maxline(void)2160 static const char* conf_get_quota_maxline(void)
2161 {
2162     return conf_get_int(prefs_runtime_config.quota_maxline);
2163 }
2164 
2165 
prefs_get_ladder_init_rating(void)2166 extern unsigned int prefs_get_ladder_init_rating(void)
2167 {
2168     return prefs_runtime_config.ladder_init_rating;
2169 }
2170 
conf_set_ladder_init_rating(const char * valstr)2171 static int conf_set_ladder_init_rating(const char *valstr)
2172 {
2173     return conf_set_int(&prefs_runtime_config.ladder_init_rating,valstr,0);
2174 }
2175 
conf_setdef_ladder_init_rating(void)2176 static int conf_setdef_ladder_init_rating(void)
2177 {
2178     return conf_set_int(&prefs_runtime_config.ladder_init_rating,NULL,BNETD_LADDER_INIT_RAT);
2179 }
2180 
conf_get_ladder_init_rating(void)2181 static const char* conf_get_ladder_init_rating(void)
2182 {
2183     return conf_get_int(prefs_runtime_config.ladder_init_rating);
2184 }
2185 
2186 
prefs_get_quota_dobae(void)2187 extern unsigned int prefs_get_quota_dobae(void)
2188 {
2189     unsigned int rez;
2190 
2191     rez=prefs_runtime_config.quota_dobae;
2192     if (rez<1) rez = 1;
2193     if (rez>100) rez = 100;
2194     return rez;
2195 }
2196 
conf_set_quota_dobae(const char * valstr)2197 static int conf_set_quota_dobae(const char *valstr)
2198 {
2199     return conf_set_int(&prefs_runtime_config.quota_dobae,valstr,0);
2200 }
2201 
conf_setdef_quota_dobae(void)2202 static int conf_setdef_quota_dobae(void)
2203 {
2204     return conf_set_int(&prefs_runtime_config.quota_dobae,NULL,BNETD_QUOTA_DOBAE);
2205 }
2206 
conf_get_quota_dobae(void)2207 static const char* conf_get_quota_dobae(void)
2208 {
2209     return conf_get_int(prefs_runtime_config.quota_dobae);
2210 }
2211 
2212 
prefs_get_realmfile(void)2213 extern char const * prefs_get_realmfile(void)
2214 {
2215     return prefs_runtime_config.realmfile;
2216 }
2217 
conf_set_realmfile(const char * valstr)2218 static int conf_set_realmfile(const char *valstr)
2219 {
2220     return conf_set_str(&prefs_runtime_config.realmfile,valstr,NULL);
2221 }
2222 
conf_setdef_realmfile(void)2223 static int conf_setdef_realmfile(void)
2224 {
2225     return conf_set_str(&prefs_runtime_config.realmfile,NULL,BNETD_REALM_FILE);
2226 }
2227 
conf_get_realmfile(void)2228 static const char* conf_get_realmfile(void)
2229 {
2230     return prefs_runtime_config.realmfile;
2231 }
2232 
2233 
prefs_get_issuefile(void)2234 extern char const * prefs_get_issuefile(void)
2235 {
2236     return prefs_runtime_config.issuefile;
2237 }
2238 
conf_set_issuefile(const char * valstr)2239 static int conf_set_issuefile(const char *valstr)
2240 {
2241     return conf_set_str(&prefs_runtime_config.issuefile,valstr,NULL);
2242 }
2243 
conf_setdef_issuefile(void)2244 static int conf_setdef_issuefile(void)
2245 {
2246     return conf_set_str(&prefs_runtime_config.issuefile,NULL,BNETD_ISSUE_FILE);
2247 }
2248 
conf_get_issuefile(void)2249 static const char* conf_get_issuefile(void)
2250 {
2251     return prefs_runtime_config.issuefile;
2252 }
2253 
2254 
prefs_get_effective_user(void)2255 extern char const * prefs_get_effective_user(void)
2256 {
2257     return prefs_runtime_config.effective_user;
2258 }
2259 
conf_set_effective_user(const char * valstr)2260 static int conf_set_effective_user(const char *valstr)
2261 {
2262     return conf_set_str(&prefs_runtime_config.effective_user,valstr,NULL);
2263 }
2264 
conf_setdef_effective_user(void)2265 static int conf_setdef_effective_user(void)
2266 {
2267     return conf_set_str(&prefs_runtime_config.effective_user,NULL,NULL);
2268 }
2269 
conf_get_effective_user(void)2270 static const char* conf_get_effective_user(void)
2271 {
2272     return prefs_runtime_config.effective_user;
2273 }
2274 
2275 
prefs_get_effective_group(void)2276 extern char const * prefs_get_effective_group(void)
2277 {
2278     return prefs_runtime_config.effective_group;
2279 }
2280 
conf_set_effective_group(const char * valstr)2281 static int conf_set_effective_group(const char *valstr)
2282 {
2283     return conf_set_str(&prefs_runtime_config.effective_group,valstr,NULL);
2284 }
2285 
conf_setdef_effective_group(void)2286 static int conf_setdef_effective_group(void)
2287 {
2288     return conf_set_str(&prefs_runtime_config.effective_group,NULL,NULL);
2289 }
2290 
conf_get_effective_group(void)2291 static const char* conf_get_effective_group(void)
2292 {
2293     return prefs_runtime_config.effective_group;
2294 }
2295 
2296 
prefs_get_nullmsg(void)2297 extern unsigned int prefs_get_nullmsg(void)
2298 {
2299     return prefs_runtime_config.nullmsg;
2300 }
2301 
conf_set_nullmsg(const char * valstr)2302 static int conf_set_nullmsg(const char *valstr)
2303 {
2304     return conf_set_int(&prefs_runtime_config.nullmsg,valstr,0);
2305 }
2306 
conf_setdef_nullmsg(void)2307 static int conf_setdef_nullmsg(void)
2308 {
2309     return conf_set_int(&prefs_runtime_config.nullmsg,NULL,BNETD_DEF_NULLMSG);
2310 }
2311 
conf_get_nullmsg(void)2312 static const char* conf_get_nullmsg(void)
2313 {
2314     return conf_get_int(prefs_runtime_config.nullmsg);
2315 }
2316 
2317 
prefs_get_mail_support(void)2318 extern unsigned int prefs_get_mail_support(void)
2319 {
2320     return prefs_runtime_config.mail_support;
2321 }
2322 
conf_set_mail_support(const char * valstr)2323 static int conf_set_mail_support(const char *valstr)
2324 {
2325     return conf_set_bool(&prefs_runtime_config.mail_support,valstr,0);
2326 }
2327 
conf_setdef_mail_support(void)2328 static int conf_setdef_mail_support(void)
2329 {
2330     return conf_set_bool(&prefs_runtime_config.mail_support,NULL,BNETD_MAIL_SUPPORT);
2331 }
2332 
conf_get_mail_support(void)2333 static const char* conf_get_mail_support(void)
2334 {
2335     return conf_get_bool(prefs_runtime_config.mail_support);
2336 }
2337 
2338 
prefs_get_mail_quota(void)2339 extern unsigned int prefs_get_mail_quota(void)
2340 {
2341     unsigned int rez;
2342 
2343     rez=prefs_runtime_config.mail_quota;
2344     if (rez<1) rez = 1;
2345     if (rez>30) rez = 30;
2346     return rez;
2347 }
2348 
conf_set_mail_quota(const char * valstr)2349 static int conf_set_mail_quota(const char *valstr)
2350 {
2351     return conf_set_int(&prefs_runtime_config.mail_quota,valstr,0);
2352 }
2353 
conf_setdef_mail_quota(void)2354 static int conf_setdef_mail_quota(void)
2355 {
2356     return conf_set_int(&prefs_runtime_config.mail_quota,NULL,BNETD_MAIL_QUOTA);
2357 }
2358 
conf_get_mail_quota(void)2359 static const char* conf_get_mail_quota(void)
2360 {
2361     return conf_get_int(prefs_runtime_config.mail_quota);
2362 }
2363 
2364 
prefs_get_maildir(void)2365 extern char const * prefs_get_maildir(void)
2366 {
2367     return prefs_runtime_config.maildir;
2368 }
2369 
conf_set_maildir(const char * valstr)2370 static int conf_set_maildir(const char *valstr)
2371 {
2372     return conf_set_str(&prefs_runtime_config.maildir,valstr,NULL);
2373 }
2374 
conf_setdef_maildir(void)2375 static int conf_setdef_maildir(void)
2376 {
2377     return conf_set_str(&prefs_runtime_config.maildir,NULL,BNETD_MAIL_DIR);
2378 }
2379 
conf_get_maildir(void)2380 static const char* conf_get_maildir(void)
2381 {
2382     return prefs_runtime_config.maildir;
2383 }
2384 
2385 
prefs_get_log_notice(void)2386 extern char const * prefs_get_log_notice(void)
2387 {
2388     return prefs_runtime_config.log_notice;
2389 }
2390 
conf_set_log_notice(const char * valstr)2391 static int conf_set_log_notice(const char *valstr)
2392 {
2393     return conf_set_str(&prefs_runtime_config.log_notice,valstr,NULL);
2394 }
2395 
conf_setdef_log_notice(void)2396 static int conf_setdef_log_notice(void)
2397 {
2398     return conf_set_str(&prefs_runtime_config.log_notice,NULL,BNETD_LOG_NOTICE);
2399 }
2400 
conf_get_log_notice(void)2401 static const char* conf_get_log_notice(void)
2402 {
2403     return prefs_runtime_config.log_notice;
2404 }
2405 
2406 
prefs_get_savebyname(void)2407 extern unsigned int prefs_get_savebyname(void)
2408 {
2409     return prefs_runtime_config.savebyname;
2410 }
2411 
conf_set_savebyname(const char * valstr)2412 static int conf_set_savebyname(const char *valstr)
2413 {
2414     return conf_set_bool(&prefs_runtime_config.savebyname,valstr,0);
2415 }
2416 
conf_setdef_savebyname(void)2417 static int conf_setdef_savebyname(void)
2418 {
2419     return conf_set_bool(&prefs_runtime_config.savebyname,NULL,1);
2420 }
2421 
conf_get_savebyname(void)2422 static const char* conf_get_savebyname(void)
2423 {
2424     return conf_get_bool(prefs_runtime_config.savebyname);
2425 }
2426 
2427 
prefs_get_skip_versioncheck(void)2428 extern unsigned int prefs_get_skip_versioncheck(void)
2429 {
2430     return prefs_runtime_config.skip_versioncheck;
2431 }
2432 
conf_set_skip_versioncheck(const char * valstr)2433 static int conf_set_skip_versioncheck(const char *valstr)
2434 {
2435     return conf_set_bool(&prefs_runtime_config.skip_versioncheck,valstr,0);
2436 }
2437 
conf_setdef_skip_versioncheck(void)2438 static int conf_setdef_skip_versioncheck(void)
2439 {
2440     return conf_set_bool(&prefs_runtime_config.skip_versioncheck,NULL,0);
2441 }
2442 
conf_get_skip_versioncheck(void)2443 static const char* conf_get_skip_versioncheck(void)
2444 {
2445     return conf_get_bool(prefs_runtime_config.skip_versioncheck);
2446 }
2447 
2448 
prefs_get_allow_bad_version(void)2449 extern unsigned int prefs_get_allow_bad_version(void)
2450 {
2451     return prefs_runtime_config.allow_bad_version;
2452 }
2453 
conf_set_allow_bad_version(const char * valstr)2454 static int conf_set_allow_bad_version(const char *valstr)
2455 {
2456     return conf_set_bool(&prefs_runtime_config.allow_bad_version,valstr,0);
2457 }
2458 
conf_setdef_allow_bad_version(void)2459 static int conf_setdef_allow_bad_version(void)
2460 {
2461     return conf_set_bool(&prefs_runtime_config.allow_bad_version,NULL,0);
2462 }
2463 
conf_get_allow_bad_version(void)2464 static const char* conf_get_allow_bad_version(void)
2465 {
2466     return conf_get_bool(prefs_runtime_config.allow_bad_version);
2467 }
2468 
2469 
prefs_get_allow_unknown_version(void)2470 extern unsigned int prefs_get_allow_unknown_version(void)
2471 {
2472     return prefs_runtime_config.allow_unknown_version;
2473 }
2474 
conf_set_allow_unknown_version(const char * valstr)2475 static int conf_set_allow_unknown_version(const char *valstr)
2476 {
2477     return conf_set_bool(&prefs_runtime_config.allow_unknown_version,valstr,0);
2478 }
2479 
conf_setdef_allow_unknown_version(void)2480 static int conf_setdef_allow_unknown_version(void)
2481 {
2482     return conf_set_bool(&prefs_runtime_config.allow_unknown_version,NULL,0);
2483 }
2484 
conf_get_allow_unknown_version(void)2485 static const char* conf_get_allow_unknown_version(void)
2486 {
2487     return conf_get_bool(prefs_runtime_config.allow_unknown_version);
2488 }
2489 
2490 
prefs_get_versioncheck_file(void)2491 extern char const * prefs_get_versioncheck_file(void)
2492 {
2493     return prefs_runtime_config.versioncheck_file;
2494 }
2495 
conf_set_versioncheck_file(const char * valstr)2496 static int conf_set_versioncheck_file(const char *valstr)
2497 {
2498     return conf_set_str(&prefs_runtime_config.versioncheck_file,valstr,NULL);
2499 }
2500 
conf_setdef_versioncheck_file(void)2501 static int conf_setdef_versioncheck_file(void)
2502 {
2503     return conf_set_str(&prefs_runtime_config.versioncheck_file,NULL,PVPGN_VERSIONCHECK);
2504 }
2505 
conf_get_versioncheck_file(void)2506 static const char* conf_get_versioncheck_file(void)
2507 {
2508     return prefs_runtime_config.versioncheck_file;
2509 }
2510 
2511 
prefs_allow_d2cs_setname(void)2512 extern unsigned int prefs_allow_d2cs_setname(void)
2513 {
2514         return prefs_runtime_config.allow_d2cs_setname;
2515 }
2516 
conf_set_allow_d2cs_setname(const char * valstr)2517 static int conf_set_allow_d2cs_setname(const char *valstr)
2518 {
2519         return conf_set_bool(&prefs_runtime_config.allow_d2cs_setname,valstr,0);
2520 }
2521 
conf_setdef_allow_d2cs_setname(void)2522 static int conf_setdef_allow_d2cs_setname(void)
2523 {
2524         return conf_set_bool(&prefs_runtime_config.allow_d2cs_setname,NULL,1);
2525 }
2526 
conf_get_allow_d2cs_setname(void)2527 static const char* conf_get_allow_d2cs_setname(void)
2528 {
2529         return conf_get_bool(prefs_runtime_config.allow_d2cs_setname);
2530 }
2531 
2532 
prefs_get_d2cs_version(void)2533 extern unsigned int prefs_get_d2cs_version(void)
2534 {
2535         return prefs_runtime_config.d2cs_version;
2536 }
2537 
conf_set_d2cs_version(const char * valstr)2538 static int conf_set_d2cs_version(const char *valstr)
2539 {
2540         return conf_set_int(&prefs_runtime_config.d2cs_version,valstr,0);
2541 }
2542 
conf_setdef_d2cs_version(void)2543 static int conf_setdef_d2cs_version(void)
2544 {
2545         return conf_set_int(&prefs_runtime_config.d2cs_version,NULL,0);
2546 }
2547 
conf_get_d2cs_version(void)2548 static const char* conf_get_d2cs_version(void)
2549 {
2550         return conf_get_int(prefs_runtime_config.d2cs_version);
2551 }
2552 
2553 
prefs_get_hashtable_size(void)2554 extern unsigned int prefs_get_hashtable_size(void)
2555 {
2556     return prefs_runtime_config.hashtable_size;
2557 }
2558 
conf_set_hashtable_size(const char * valstr)2559 static int conf_set_hashtable_size(const char *valstr)
2560 {
2561     return conf_set_int(&prefs_runtime_config.hashtable_size,valstr,0);
2562 }
2563 
conf_setdef_hashtable_size(void)2564 static int conf_setdef_hashtable_size(void)
2565 {
2566     return conf_set_int(&prefs_runtime_config.hashtable_size,NULL,BNETD_HASHTABLE_SIZE);
2567 }
2568 
conf_get_hashtable_size(void)2569 static const char* conf_get_hashtable_size(void)
2570 {
2571     return conf_get_int(prefs_runtime_config.hashtable_size);
2572 }
2573 
2574 
prefs_get_telnet_addrs(void)2575 extern char const * prefs_get_telnet_addrs(void)
2576 {
2577     return prefs_runtime_config.telnetaddrs;
2578 }
2579 
conf_set_telnetaddrs(const char * valstr)2580 static int conf_set_telnetaddrs(const char *valstr)
2581 {
2582     return conf_set_str(&prefs_runtime_config.telnetaddrs,valstr,NULL);
2583 }
2584 
conf_setdef_telnetaddrs(void)2585 static int conf_setdef_telnetaddrs(void)
2586 {
2587     return conf_set_str(&prefs_runtime_config.telnetaddrs,NULL,BNETD_TELNET_ADDRS);
2588 }
2589 
conf_get_telnetaddrs(void)2590 static const char* conf_get_telnetaddrs(void)
2591 {
2592     return prefs_runtime_config.telnetaddrs;
2593 }
2594 
2595 
prefs_get_ipban_check_int(void)2596 extern unsigned int prefs_get_ipban_check_int(void)
2597 {
2598     return prefs_runtime_config.ipban_check_int;
2599 }
2600 
conf_set_ipban_check_int(const char * valstr)2601 static int conf_set_ipban_check_int(const char *valstr)
2602 {
2603     return conf_set_int(&prefs_runtime_config.ipban_check_int,valstr,0);
2604 }
2605 
conf_setdef_ipban_check_int(void)2606 static int conf_setdef_ipban_check_int(void)
2607 {
2608     return conf_set_int(&prefs_runtime_config.ipban_check_int,NULL,30);
2609 }
2610 
conf_get_ipban_check_int(void)2611 static const char* conf_get_ipban_check_int(void)
2612 {
2613     return conf_get_int(prefs_runtime_config.ipban_check_int);
2614 }
2615 
2616 
prefs_get_version_exeinfo_match(void)2617 extern char const * prefs_get_version_exeinfo_match(void)
2618 {
2619     return prefs_runtime_config.version_exeinfo_match;
2620 }
2621 
conf_set_version_exeinfo_match(const char * valstr)2622 static int conf_set_version_exeinfo_match(const char *valstr)
2623 {
2624     return conf_set_str(&prefs_runtime_config.version_exeinfo_match,valstr,NULL);
2625 }
2626 
conf_setdef_version_exeinfo_match(void)2627 static int conf_setdef_version_exeinfo_match(void)
2628 {
2629     return conf_set_str(&prefs_runtime_config.version_exeinfo_match,NULL,BNETD_EXEINFO_MATCH);
2630 }
2631 
conf_get_version_exeinfo_match(void)2632 static const char* conf_get_version_exeinfo_match(void)
2633 {
2634     return prefs_runtime_config.version_exeinfo_match;
2635 }
2636 
2637 
prefs_get_version_exeinfo_maxdiff(void)2638 extern unsigned int prefs_get_version_exeinfo_maxdiff(void)
2639 {
2640     return prefs_runtime_config.version_exeinfo_maxdiff;
2641 }
2642 
conf_set_version_exeinfo_maxdiff(const char * valstr)2643 static int conf_set_version_exeinfo_maxdiff(const char *valstr)
2644 {
2645     return conf_set_int(&prefs_runtime_config.version_exeinfo_maxdiff,valstr,0);
2646 }
2647 
conf_setdef_version_exeinfo_maxdiff(void)2648 static int conf_setdef_version_exeinfo_maxdiff(void)
2649 {
2650     return conf_set_int(&prefs_runtime_config.version_exeinfo_maxdiff,NULL,PVPGN_VERSION_TIMEDIV);
2651 }
2652 
conf_get_version_exeinfo_maxdiff(void)2653 static const char* conf_get_version_exeinfo_maxdiff(void)
2654 {
2655     return conf_get_int(prefs_runtime_config.version_exeinfo_maxdiff);
2656 }
2657 
2658 
prefs_get_max_concurrent_logins(void)2659 extern unsigned int prefs_get_max_concurrent_logins(void)
2660 {
2661     return prefs_runtime_config.max_concurrent_logins;
2662 }
2663 
conf_set_max_concurrent_logins(const char * valstr)2664 static int conf_set_max_concurrent_logins(const char *valstr)
2665 {
2666     return conf_set_int(&prefs_runtime_config.max_concurrent_logins,valstr,0);
2667 }
2668 
conf_setdef_max_concurrent_logins(void)2669 static int conf_setdef_max_concurrent_logins(void)
2670 {
2671     return conf_set_int(&prefs_runtime_config.max_concurrent_logins,NULL,0);
2672 }
2673 
conf_get_max_concurrent_logins(void)2674 static const char* conf_get_max_concurrent_logins(void)
2675 {
2676     return conf_get_int(prefs_runtime_config.max_concurrent_logins);
2677 }
2678 
2679 
prefs_get_server_info(void)2680 extern char const * prefs_get_server_info( void )
2681 {
2682     return prefs_runtime_config.server_info;
2683 }
2684 
conf_set_server_info(const char * valstr)2685 static int conf_set_server_info(const char *valstr)
2686 {
2687     return conf_set_str(&prefs_runtime_config.server_info,valstr,NULL);
2688 }
2689 
conf_setdef_server_info(void)2690 static int conf_setdef_server_info(void)
2691 {
2692     return conf_set_str(&prefs_runtime_config.server_info,NULL,"");
2693 }
2694 
conf_get_server_info(void)2695 static const char* conf_get_server_info(void)
2696 {
2697     return prefs_runtime_config.server_info;
2698 }
2699 
2700 
prefs_get_mapsfile(void)2701 extern char const * prefs_get_mapsfile(void)
2702 {
2703     return prefs_runtime_config.mapsfile;
2704 }
2705 
conf_set_mapsfile(const char * valstr)2706 static int conf_set_mapsfile(const char *valstr)
2707 {
2708     return conf_set_str(&prefs_runtime_config.mapsfile,valstr,NULL);
2709 }
2710 
conf_setdef_mapsfile(void)2711 static int conf_setdef_mapsfile(void)
2712 {
2713     return conf_set_str(&prefs_runtime_config.mapsfile,NULL,NULL);
2714 }
2715 
conf_get_mapsfile(void)2716 static const char* conf_get_mapsfile(void)
2717 {
2718     return prefs_runtime_config.mapsfile;
2719 }
2720 
2721 
prefs_get_xplevel_file(void)2722 extern char const * prefs_get_xplevel_file(void)
2723 {
2724     return prefs_runtime_config.xplevelfile;
2725 }
2726 
conf_set_xplevelfile(const char * valstr)2727 static int conf_set_xplevelfile(const char *valstr)
2728 {
2729     return conf_set_str(&prefs_runtime_config.xplevelfile,valstr,NULL);
2730 }
2731 
conf_setdef_xplevelfile(void)2732 static int conf_setdef_xplevelfile(void)
2733 {
2734     return conf_set_str(&prefs_runtime_config.xplevelfile,NULL,NULL);
2735 }
2736 
conf_get_xplevelfile(void)2737 static const char* conf_get_xplevelfile(void)
2738 {
2739     return prefs_runtime_config.xplevelfile;
2740 }
2741 
2742 
prefs_get_xpcalc_file(void)2743 extern char const * prefs_get_xpcalc_file(void)
2744 {
2745     return prefs_runtime_config.xpcalcfile;
2746 }
2747 
conf_set_xpcalcfile(const char * valstr)2748 static int conf_set_xpcalcfile(const char *valstr)
2749 {
2750     return conf_set_str(&prefs_runtime_config.xpcalcfile,valstr,NULL);
2751 }
2752 
conf_setdef_xpcalcfile(void)2753 static int conf_setdef_xpcalcfile(void)
2754 {
2755     return conf_set_str(&prefs_runtime_config.xpcalcfile,NULL,NULL);
2756 }
2757 
conf_get_xpcalcfile(void)2758 static const char* conf_get_xpcalcfile(void)
2759 {
2760     return prefs_runtime_config.xpcalcfile;
2761 }
2762 
2763 
prefs_get_initkill_timer(void)2764 extern int prefs_get_initkill_timer(void)
2765 {
2766 	return prefs_runtime_config.initkill_timer;
2767 }
2768 
conf_set_initkill_timer(const char * valstr)2769 static int conf_set_initkill_timer(const char *valstr)
2770 {
2771 	return conf_set_int(&prefs_runtime_config.initkill_timer,valstr,0);
2772 }
2773 
conf_setdef_initkill_timer(void)2774 static int conf_setdef_initkill_timer(void)
2775 {
2776 	return conf_set_int(&prefs_runtime_config.initkill_timer,NULL,0);
2777 }
2778 
conf_get_initkill_timer(void)2779 static const char* conf_get_initkill_timer(void)
2780 {
2781 	return conf_get_int(prefs_runtime_config.initkill_timer);
2782 }
2783 
2784 
prefs_get_war3_ladder_update_secs(void)2785 extern int prefs_get_war3_ladder_update_secs(void)
2786 {
2787         return prefs_runtime_config.war3_ladder_update_secs;
2788 }
2789 
conf_set_war3_ladder_update_secs(const char * valstr)2790 static int conf_set_war3_ladder_update_secs(const char *valstr)
2791 {
2792         return conf_set_int(&prefs_runtime_config.war3_ladder_update_secs,valstr,0);
2793 }
2794 
conf_setdef_war3_ladder_update_secs(void)2795 static int conf_setdef_war3_ladder_update_secs(void)
2796 {
2797         return conf_set_int(&prefs_runtime_config.war3_ladder_update_secs,NULL,0);
2798 }
2799 
conf_get_war3_ladder_update_secs(void)2800 static const char* conf_get_war3_ladder_update_secs(void)
2801 {
2802         return conf_get_int(prefs_runtime_config.war3_ladder_update_secs);
2803 }
2804 
2805 
prefs_get_output_update_secs(void)2806 extern int prefs_get_output_update_secs(void)
2807 {
2808         return prefs_runtime_config.output_update_secs;
2809 }
2810 
conf_set_output_update_secs(const char * valstr)2811 static int conf_set_output_update_secs(const char *valstr)
2812 {
2813         return conf_set_int(&prefs_runtime_config.output_update_secs,valstr,0);
2814 }
2815 
conf_setdef_output_update_secs(void)2816 static int conf_setdef_output_update_secs(void)
2817 {
2818         return conf_set_int(&prefs_runtime_config.output_update_secs,NULL,0);
2819 }
2820 
conf_get_output_update_secs(void)2821 static const char* conf_get_output_update_secs(void)
2822 {
2823         return conf_get_int(prefs_runtime_config.output_update_secs);
2824 }
2825 
2826 
prefs_get_ladderdir(void)2827 extern char const * prefs_get_ladderdir(void)
2828 {
2829         return prefs_runtime_config.ladderdir;
2830 }
2831 
conf_set_ladderdir(const char * valstr)2832 static int conf_set_ladderdir(const char *valstr)
2833 {
2834         return conf_set_str(&prefs_runtime_config.ladderdir,valstr,NULL);
2835 }
2836 
conf_setdef_ladderdir(void)2837 static int conf_setdef_ladderdir(void)
2838 {
2839         return conf_set_str(&prefs_runtime_config.ladderdir,NULL,BNETD_LADDER_DIR);
2840 }
2841 
conf_get_ladderdir(void)2842 static const char* conf_get_ladderdir(void)
2843 {
2844         return prefs_runtime_config.ladderdir;
2845 }
2846 
2847 
prefs_get_outputdir(void)2848 extern char const * prefs_get_outputdir(void)
2849 {
2850         return prefs_runtime_config.statusdir;
2851 }
2852 
conf_set_statusdir(const char * valstr)2853 static int conf_set_statusdir(const char *valstr)
2854 {
2855         return conf_set_str(&prefs_runtime_config.statusdir,valstr,NULL);
2856 }
2857 
conf_setdef_statusdir(void)2858 static int conf_setdef_statusdir(void)
2859 {
2860         return conf_set_str(&prefs_runtime_config.statusdir,NULL,BNETD_STATUS_DIR);
2861 }
2862 
conf_get_statusdir(void)2863 static const char* conf_get_statusdir(void)
2864 {
2865         return prefs_runtime_config.statusdir;
2866 }
2867 
2868 
prefs_get_XML_output_ladder(void)2869 extern int prefs_get_XML_output_ladder(void)
2870 {
2871         return prefs_runtime_config.XML_output_ladder;
2872 }
2873 
conf_set_XML_output_ladder(const char * valstr)2874 static int conf_set_XML_output_ladder(const char *valstr)
2875 {
2876         return conf_set_bool(&prefs_runtime_config.XML_output_ladder,valstr,0);
2877 }
2878 
conf_setdef_XML_output_ladder(void)2879 static int conf_setdef_XML_output_ladder(void)
2880 {
2881         return conf_set_bool(&prefs_runtime_config.XML_output_ladder,NULL,0);
2882 }
2883 
conf_get_XML_output_ladder(void)2884 static const char* conf_get_XML_output_ladder(void)
2885 {
2886         return conf_get_bool(prefs_runtime_config.XML_output_ladder);
2887 }
2888 
2889 
prefs_get_XML_status_output(void)2890 extern int prefs_get_XML_status_output(void)
2891 {
2892         return prefs_runtime_config.XML_status_output;
2893 }
2894 
conf_set_XML_status_output(const char * valstr)2895 static int conf_set_XML_status_output(const char *valstr)
2896 {
2897         return conf_set_bool(&prefs_runtime_config.XML_status_output,valstr,0);
2898 }
2899 
conf_setdef_XML_status_output(void)2900 static int conf_setdef_XML_status_output(void)
2901 {
2902         return conf_set_bool(&prefs_runtime_config.XML_status_output,NULL,0);
2903 }
2904 
conf_get_XML_status_output(void)2905 static const char* conf_get_XML_status_output(void)
2906 {
2907         return conf_get_bool(prefs_runtime_config.XML_status_output);
2908 }
2909 
2910 
prefs_get_account_allowed_symbols(void)2911 extern char const * prefs_get_account_allowed_symbols(void)
2912 {
2913 	return prefs_runtime_config.account_allowed_symbols;
2914 }
2915 
conf_set_account_allowed_symbols(const char * valstr)2916 static int conf_set_account_allowed_symbols(const char *valstr)
2917 {
2918 	return conf_set_str(&prefs_runtime_config.account_allowed_symbols,valstr,NULL);
2919 }
2920 
conf_setdef_account_allowed_symbols(void)2921 static int conf_setdef_account_allowed_symbols(void)
2922 {
2923 	return conf_set_str(&prefs_runtime_config.account_allowed_symbols,NULL,PVPGN_DEFAULT_SYMB);
2924 }
2925 
conf_get_account_allowed_symbols(void)2926 static const char* conf_get_account_allowed_symbols(void)
2927 {
2928 	return prefs_runtime_config.account_allowed_symbols;
2929 }
2930 
2931 
prefs_get_account_force_username(void)2932 extern unsigned int prefs_get_account_force_username(void)
2933 {
2934 	return prefs_runtime_config.account_force_username;
2935 }
2936 
conf_set_account_force_username(const char * valstr)2937 static int conf_set_account_force_username(const char *valstr)
2938 {
2939     return conf_set_bool(&prefs_runtime_config.account_force_username,valstr,0);
2940 }
2941 
conf_setdef_account_force_username(void)2942 static int conf_setdef_account_force_username(void)
2943 {
2944     return conf_set_bool(&prefs_runtime_config.account_force_username,NULL,0);
2945 }
2946 
conf_get_account_force_username(void)2947 static const char* conf_get_account_force_username(void)
2948 {
2949     return conf_get_bool(prefs_runtime_config.account_force_username);
2950 }
2951 
prefs_get_command_groups_file(void)2952 extern char const * prefs_get_command_groups_file(void)
2953 {
2954     return prefs_runtime_config.command_groups_file;
2955 }
2956 
conf_set_command_groups_file(const char * valstr)2957 static int conf_set_command_groups_file(const char *valstr)
2958 {
2959     return conf_set_str(&prefs_runtime_config.command_groups_file,valstr,NULL);
2960 }
2961 
conf_setdef_command_groups_file(void)2962 static int conf_setdef_command_groups_file(void)
2963 {
2964     return conf_set_str(&prefs_runtime_config.command_groups_file,NULL,BNETD_COMMAND_GROUPS_FILE);
2965 }
2966 
conf_get_command_groups_file(void)2967 static const char* conf_get_command_groups_file(void)
2968 {
2969     return prefs_runtime_config.command_groups_file;
2970 }
2971 
2972 
prefs_get_tournament_file(void)2973 extern char const * prefs_get_tournament_file(void)
2974 {
2975     return prefs_runtime_config.tournament_file;
2976 }
2977 
conf_set_tournament_file(const char * valstr)2978 static int conf_set_tournament_file(const char *valstr)
2979 {
2980     return conf_set_str(&prefs_runtime_config.tournament_file,valstr,NULL);
2981 }
2982 
conf_setdef_tournament_file(void)2983 static int conf_setdef_tournament_file(void)
2984 {
2985     return conf_set_str(&prefs_runtime_config.tournament_file,NULL,BNETD_TOURNAMENT_FILE);
2986 }
2987 
conf_get_tournament_file(void)2988 static const char* conf_get_tournament_file(void)
2989 {
2990     return prefs_runtime_config.tournament_file;
2991 }
2992 
2993 
prefs_get_aliasfile(void)2994 extern char const * prefs_get_aliasfile(void)
2995 {
2996    return prefs_runtime_config.aliasfile;
2997 }
2998 
conf_set_aliasfile(const char * valstr)2999 static int conf_set_aliasfile(const char *valstr)
3000 {
3001    return conf_set_str(&prefs_runtime_config.aliasfile,valstr,NULL);
3002 }
3003 
conf_setdef_aliasfile(void)3004 static int conf_setdef_aliasfile(void)
3005 {
3006    return conf_set_str(&prefs_runtime_config.aliasfile,NULL,BNETD_ALIASFILE);
3007 }
3008 
conf_get_aliasfile(void)3009 static const char* conf_get_aliasfile(void)
3010 {
3011    return prefs_runtime_config.aliasfile;
3012 }
3013 
3014 
prefs_get_anongame_infos_file(void)3015 extern char const * prefs_get_anongame_infos_file(void)
3016 {
3017 	return prefs_runtime_config.anongame_infos_file;
3018 }
3019 
conf_set_anongame_infos_file(const char * valstr)3020 static int conf_set_anongame_infos_file(const char *valstr)
3021 {
3022 	return conf_set_str(&prefs_runtime_config.anongame_infos_file,valstr,NULL);
3023 }
3024 
conf_setdef_anongame_infos_file(void)3025 static int conf_setdef_anongame_infos_file(void)
3026 {
3027 	return conf_set_str(&prefs_runtime_config.anongame_infos_file,NULL,PVPGN_AINFO_FILE);
3028 }
3029 
conf_get_anongame_infos_file(void)3030 static const char* conf_get_anongame_infos_file(void)
3031 {
3032 	return prefs_runtime_config.anongame_infos_file;
3033 }
3034 
3035 
prefs_get_max_conns_per_IP(void)3036 extern unsigned int prefs_get_max_conns_per_IP(void)
3037 {
3038 	return prefs_runtime_config.max_conns_per_IP;
3039 }
3040 
conf_set_max_conns_per_IP(const char * valstr)3041 static int conf_set_max_conns_per_IP(const char *valstr)
3042 {
3043 	return conf_set_int(&prefs_runtime_config.max_conns_per_IP,valstr,0);
3044 }
3045 
conf_setdef_max_conns_per_IP(void)3046 static int conf_setdef_max_conns_per_IP(void)
3047 {
3048 	return conf_set_int(&prefs_runtime_config.max_conns_per_IP,NULL,0);
3049 }
3050 
conf_get_max_conns_per_IP(void)3051 static const char* conf_get_max_conns_per_IP(void)
3052 {
3053 	return conf_get_int(prefs_runtime_config.max_conns_per_IP);
3054 }
3055 
3056 
prefs_get_max_friends(void)3057 extern int prefs_get_max_friends(void)
3058 {
3059 	return prefs_runtime_config.max_friends;
3060 }
3061 
conf_set_max_friends(const char * valstr)3062 static int conf_set_max_friends(const char *valstr)
3063 {
3064 	return conf_set_int(&prefs_runtime_config.max_friends,valstr,0);
3065 }
3066 
conf_setdef_max_friends(void)3067 static int conf_setdef_max_friends(void)
3068 {
3069 	return conf_set_int(&prefs_runtime_config.max_friends,NULL,MAX_FRIENDS);
3070 }
3071 
conf_get_max_friends(void)3072 static const char* conf_get_max_friends(void)
3073 {
3074 	return conf_get_int(prefs_runtime_config.max_friends);
3075 }
3076 
3077 
prefs_get_clan_newer_time(void)3078 extern unsigned int prefs_get_clan_newer_time(void)
3079 {
3080     return prefs_runtime_config.clan_newer_time;
3081 }
3082 
conf_set_clan_newer_time(const char * valstr)3083 static int conf_set_clan_newer_time(const char *valstr)
3084 {
3085     return conf_set_int(&prefs_runtime_config.clan_newer_time,valstr,0);
3086 }
3087 
conf_setdef_clan_newer_time(void)3088 static int conf_setdef_clan_newer_time(void)
3089 {
3090     return conf_set_int(&prefs_runtime_config.clan_newer_time,NULL,CLAN_NEWER_TIME);
3091 }
3092 
conf_get_clan_newer_time(void)3093 static const char* conf_get_clan_newer_time(void)
3094 {
3095     return conf_get_int(prefs_runtime_config.clan_newer_time);
3096 }
3097 
3098 
prefs_get_clan_max_members(void)3099 extern unsigned int prefs_get_clan_max_members(void)
3100 {
3101     return prefs_runtime_config.clan_max_members;
3102 }
3103 
conf_set_clan_max_members(const char * valstr)3104 static int conf_set_clan_max_members(const char *valstr)
3105 {
3106 	int rez = conf_set_int(&prefs_runtime_config.clan_max_members,valstr,0);
3107 
3108 	if (!rez && valstr) {
3109 		if (prefs_runtime_config.clan_max_members < CLAN_MIN_MEMBERS) {
3110 			WARN1("Cannot set clan max members to %u lower than 10, setting to 10.", prefs_runtime_config.clan_max_members);
3111 			prefs_runtime_config.clan_max_members = CLAN_MIN_MEMBERS;
3112 		} else if (prefs_runtime_config.clan_max_members > CLAN_MAX_MEMBERS) {
3113 			WARN1("Cannot set clan max members to %u higher than 100, setting to 100.", prefs_runtime_config.clan_max_members);
3114 			prefs_runtime_config.clan_max_members = CLAN_MAX_MEMBERS;
3115 		}
3116 	}
3117 
3118 	return rez;
3119 }
3120 
conf_setdef_clan_max_members(void)3121 static int conf_setdef_clan_max_members(void)
3122 {
3123     return conf_set_int(&prefs_runtime_config.clan_max_members,NULL,CLAN_DEFAULT_MAX_MEMBERS);
3124 }
3125 
conf_get_clan_max_members(void)3126 static const char* conf_get_clan_max_members(void)
3127 {
3128     return conf_get_int(prefs_runtime_config.clan_max_members);
3129 }
3130 
3131 
prefs_get_clan_channel_default_private(void)3132 extern unsigned int prefs_get_clan_channel_default_private(void)
3133 {
3134     return prefs_runtime_config.clan_channel_default_private;
3135 }
3136 
conf_set_clan_channel_default_private(const char * valstr)3137 static int conf_set_clan_channel_default_private(const char *valstr)
3138 {
3139     return conf_set_bool(&prefs_runtime_config.clan_channel_default_private,valstr,0);
3140 }
3141 
conf_setdef_clan_channel_default_private(void)3142 static int conf_setdef_clan_channel_default_private(void)
3143 {
3144     return conf_set_bool(&prefs_runtime_config.clan_channel_default_private,NULL,0);
3145 }
3146 
conf_get_clan_channel_default_private(void)3147 static const char* conf_get_clan_channel_default_private(void)
3148 {
3149     return conf_get_bool(prefs_runtime_config.clan_channel_default_private);
3150 }
3151 
3152 
prefs_get_passfail_count(void)3153 extern unsigned int prefs_get_passfail_count(void)
3154 {
3155     return prefs_runtime_config.passfail_count;
3156 }
3157 
conf_set_passfail_count(const char * valstr)3158 static int conf_set_passfail_count(const char *valstr)
3159 {
3160     return conf_set_int(&prefs_runtime_config.passfail_count,valstr,0);
3161 }
3162 
conf_setdef_passfail_count(void)3163 static int conf_setdef_passfail_count(void)
3164 {
3165     return conf_set_int(&prefs_runtime_config.passfail_count,NULL,0);
3166 }
3167 
conf_get_passfail_count(void)3168 static const char* conf_get_passfail_count(void)
3169 {
3170     return conf_get_int(prefs_runtime_config.passfail_count);
3171 }
3172 
3173 
prefs_get_passfail_bantime(void)3174 extern unsigned int prefs_get_passfail_bantime(void)
3175 {
3176     return prefs_runtime_config.passfail_bantime;
3177 }
3178 
conf_set_passfail_bantime(const char * valstr)3179 static int conf_set_passfail_bantime(const char *valstr)
3180 {
3181     return conf_set_int(&prefs_runtime_config.passfail_bantime,valstr,0);
3182 }
3183 
conf_setdef_passfail_bantime(void)3184 static int conf_setdef_passfail_bantime(void)
3185 {
3186     return conf_set_int(&prefs_runtime_config.passfail_bantime,NULL,300);
3187 }
3188 
conf_get_passfail_bantime(void)3189 static const char* conf_get_passfail_bantime(void)
3190 {
3191     return conf_get_int(prefs_runtime_config.passfail_bantime);
3192 }
3193 
3194 
prefs_get_maxusers_per_channel(void)3195 extern unsigned int prefs_get_maxusers_per_channel(void)
3196 {
3197     return prefs_runtime_config.maxusers_per_channel;
3198 }
3199 
conf_set_maxusers_per_channel(const char * valstr)3200 static int conf_set_maxusers_per_channel(const char *valstr)
3201 {
3202     return conf_set_int(&prefs_runtime_config.maxusers_per_channel,valstr,0);
3203 }
3204 
conf_setdef_maxusers_per_channel(void)3205 static int conf_setdef_maxusers_per_channel(void)
3206 {
3207     return conf_set_int(&prefs_runtime_config.maxusers_per_channel,NULL,0);
3208 }
3209 
conf_get_maxusers_per_channel(void)3210 static const char* conf_get_maxusers_per_channel(void)
3211 {
3212     return conf_get_int(prefs_runtime_config.maxusers_per_channel);
3213 }
3214 
3215 
prefs_get_supportfile(void)3216 extern char const * prefs_get_supportfile(void)
3217 {
3218     return prefs_runtime_config.supportfile;
3219 }
3220 
conf_set_supportfile(const char * valstr)3221 static int conf_set_supportfile(const char *valstr)
3222 {
3223     return conf_set_str(&prefs_runtime_config.supportfile,valstr,NULL);
3224 }
3225 
conf_setdef_supportfile(void)3226 static int conf_setdef_supportfile(void)
3227 {
3228     return conf_set_str(&prefs_runtime_config.supportfile,NULL,BNETD_SUPPORT_FILE);
3229 }
3230 
conf_get_supportfile(void)3231 static const char* conf_get_supportfile(void)
3232 {
3233     return prefs_runtime_config.supportfile;
3234 }
3235 
3236 
prefs_get_allowed_clients(void)3237 extern char const * prefs_get_allowed_clients(void)
3238 {
3239     return prefs_runtime_config.allowed_clients;
3240 }
3241 
conf_set_allowed_clients(const char * valstr)3242 static int conf_set_allowed_clients(const char *valstr)
3243 {
3244     return conf_set_str(&prefs_runtime_config.allowed_clients,valstr,NULL);
3245 }
3246 
conf_setdef_allowed_clients(void)3247 static int conf_setdef_allowed_clients(void)
3248 {
3249     return conf_set_str(&prefs_runtime_config.allowed_clients,NULL,NULL);
3250 }
3251 
conf_get_allowed_clients(void)3252 static const char* conf_get_allowed_clients(void)
3253 {
3254     return prefs_runtime_config.allowed_clients;
3255 }
3256 
3257 
prefs_get_ladder_games(void)3258 extern char const * prefs_get_ladder_games(void)
3259 {
3260     return prefs_runtime_config.ladder_games;
3261 }
3262 
conf_set_ladder_games(const char * valstr)3263 static int conf_set_ladder_games(const char *valstr)
3264 {
3265     return conf_set_str(&prefs_runtime_config.ladder_games,valstr,NULL);
3266 }
3267 
conf_setdef_ladder_games(void)3268 static int conf_setdef_ladder_games(void)
3269 {
3270     return conf_set_str(&prefs_runtime_config.ladder_games,NULL,NULL);
3271 }
3272 
conf_get_ladder_games(void)3273 static const char* conf_get_ladder_games(void)
3274 {
3275     return prefs_runtime_config.ladder_games;
3276 }
3277 
3278 
prefs_get_ladder_prefix(void)3279 extern char const * prefs_get_ladder_prefix(void)
3280 {
3281     return prefs_runtime_config.ladder_prefix;
3282 }
3283 
conf_set_ladder_prefix(const char * valstr)3284 static int conf_set_ladder_prefix(const char *valstr)
3285 {
3286     return conf_set_str(&prefs_runtime_config.ladder_prefix,valstr,NULL);
3287 }
3288 
conf_setdef_ladder_prefix(void)3289 static int conf_setdef_ladder_prefix(void)
3290 {
3291     return conf_set_str(&prefs_runtime_config.ladder_prefix,NULL,NULL);
3292 }
3293 
conf_get_ladder_prefix(void)3294 static const char* conf_get_ladder_prefix(void)
3295 {
3296     return prefs_runtime_config.ladder_prefix;
3297 }
3298 
3299 
prefs_get_max_connections(void)3300 extern unsigned int prefs_get_max_connections(void)
3301 {
3302     return prefs_runtime_config.max_connections;
3303 }
3304 
conf_set_max_connections(const char * valstr)3305 static int conf_set_max_connections(const char *valstr)
3306 {
3307     return conf_set_int(&prefs_runtime_config.max_connections,valstr,0);
3308 }
3309 
conf_setdef_max_connections(void)3310 static int conf_setdef_max_connections(void)
3311 {
3312     return conf_set_int(&prefs_runtime_config.max_connections,NULL,BNETD_MAX_SOCKETS);
3313 }
3314 
conf_get_max_connections(void)3315 static const char* conf_get_max_connections(void)
3316 {
3317     return conf_get_int(prefs_runtime_config.max_connections);
3318 }
3319 
3320 
prefs_get_sync_on_logoff(void)3321 extern unsigned int prefs_get_sync_on_logoff(void)
3322 {
3323     return prefs_runtime_config.sync_on_logoff;
3324 }
3325 
conf_set_sync_on_logoff(const char * valstr)3326 static int conf_set_sync_on_logoff(const char *valstr)
3327 {
3328     return conf_set_bool(&prefs_runtime_config.sync_on_logoff,valstr,0);
3329 }
3330 
conf_setdef_sync_on_logoff(void)3331 static int conf_setdef_sync_on_logoff(void)
3332 {
3333     return conf_set_bool(&prefs_runtime_config.sync_on_logoff,NULL,0);
3334 }
3335 
conf_get_sync_on_logoff(void)3336 static const char* conf_get_sync_on_logoff(void)
3337 {
3338     return conf_get_bool(prefs_runtime_config.sync_on_logoff);
3339 }
3340 
prefs_get_irc_network_name(void)3341 extern char const * prefs_get_irc_network_name(void)
3342 {
3343     return prefs_runtime_config.irc_network_name;
3344 }
3345 
conf_set_irc_network_name(const char * valstr)3346 static int conf_set_irc_network_name(const char *valstr)
3347 {
3348     return conf_set_str(&prefs_runtime_config.irc_network_name,valstr,NULL);
3349 }
3350 
conf_setdef_irc_network_name(void)3351 static int conf_setdef_irc_network_name(void)
3352 {
3353     return conf_set_str(&prefs_runtime_config.irc_network_name,NULL,BNETD_IRC_NETWORK_NAME);
3354 }
3355 
conf_get_irc_network_name(void)3356 static const char* conf_get_irc_network_name(void)
3357 {
3358     return prefs_runtime_config.irc_network_name;
3359 }
3360 
3361 /**
3362 *  Westwood Online Extensions
3363 */
prefs_get_wol_addrs(void)3364 extern char const * prefs_get_wol_addrs(void)
3365 {
3366     return prefs_runtime_config.woladdrs;
3367 }
3368 
conf_set_wol_addrs(const char * valstr)3369 static int conf_set_wol_addrs(const char *valstr)
3370 {
3371     return conf_set_str(&prefs_runtime_config.woladdrs,valstr,NULL);
3372 }
3373 
conf_setdef_wol_addrs(void)3374 static int conf_setdef_wol_addrs(void)
3375 {
3376     return conf_set_str(&prefs_runtime_config.woladdrs,NULL,BNETD_WOL_ADDRS);
3377 }
3378 
conf_get_wol_addrs(void)3379 static const char* conf_get_wol_addrs(void)
3380 {
3381     return prefs_runtime_config.woladdrs;
3382 }
3383 
3384 
conf_set_wol_timezone(const char * valstr)3385 static int  conf_set_wol_timezone(const char *valstr)
3386 {
3387     return conf_set_str(&prefs_runtime_config.woltimezone,valstr,NULL);
3388 }
3389 
prefs_get_wol_timezone(void)3390 extern char const * prefs_get_wol_timezone(void)
3391 {
3392      return prefs_runtime_config.woltimezone;
3393 }
3394 
conf_get_wol_timezone(void)3395 static char const * conf_get_wol_timezone(void)
3396 {
3397      return prefs_runtime_config.woltimezone;
3398 }
3399 
conf_setdef_wol_timezone(void)3400 static int conf_setdef_wol_timezone(void)
3401 {
3402     return conf_set_str(&prefs_runtime_config.woltimezone,NULL,0);
3403 }
3404 
conf_set_wol_longitude(const char * valstr)3405 static int  conf_set_wol_longitude(const char *valstr)
3406 {
3407     return conf_set_str(&prefs_runtime_config.wollongitude,valstr,NULL);
3408 }
3409 
prefs_get_wol_longitude(void)3410 extern char const * prefs_get_wol_longitude(void)
3411 {
3412      return prefs_runtime_config.wollongitude;
3413 }
3414 
conf_get_wol_longitude(void)3415 static char const * conf_get_wol_longitude(void)
3416 {
3417      return prefs_runtime_config.wollongitude;
3418 }
3419 
conf_setdef_wol_longitude(void)3420 static int conf_setdef_wol_longitude(void)
3421 {
3422     return conf_set_str(&prefs_runtime_config.wollongitude,NULL,0);
3423 }
3424 
conf_set_wol_latitude(const char * valstr)3425 static int conf_set_wol_latitude(const char *valstr)
3426 {
3427     return conf_set_str(&prefs_runtime_config.wollatitude,valstr,NULL);
3428 }
3429 
prefs_get_wol_latitude(void)3430 extern char const * prefs_get_wol_latitude(void)
3431 {
3432      return prefs_runtime_config.wollatitude;
3433 }
3434 
conf_get_wol_latitude(void)3435 static char const * conf_get_wol_latitude(void)
3436 {
3437      return prefs_runtime_config.wollatitude;
3438 }
3439 
conf_setdef_wol_latitude(void)3440 static int conf_setdef_wol_latitude(void)
3441 {
3442     return conf_set_str(&prefs_runtime_config.wollatitude,NULL,0);
3443 }
3444