1/* pref.h
2 *
3 * Copyright (c) 1992-2004 by Mike Gleason.
4 * All rights reserved.
5 *
6 */
7
8#if (defined(WIN32) || defined(_WINDOWS)) && !defined(__CYGWIN__)
9#	define kFirewallPrefFileName			"firewall.txt"
10#	define kGlobalFirewallPrefFileName		"..\\..\\firewall.txt"
11#	define kGlobalFixedFirewallPrefFileName		"..\\..\\firewall_fixed.txt"
12#	define kGlobalPrefFileName			"..\\..\\prefs_v3.txt"
13#	define kGlobalFixedPrefFileName			"..\\..\\prefs_v3_fixed.txt"
14#	define kPrefFileName				"prefs_v3.txt"
15#	define kPrefFileNameV2				"prefs"
16#	define kFirstFileName				"init_v3.txt"
17#else
18#	define kFirewallPrefFileName			"firewall"
19#	define kGlobalFirewallPrefFileName		SYSCONFDIR "/ncftp.firewall"
20#	define kGlobalFixedFirewallPrefFileName		SYSCONFDIR "/ncftp.firewall.fixed"
21#	define kGlobalPrefFileName			SYSCONFDIR "/ncftp.prefs_v3"
22#	define kGlobalFixedPrefFileName			SYSCONFDIR "/ncftp.prefs_v3.fixed"
23#	define kPrefFileName				"prefs_v3"
24#	define kPrefFileNameV2				"prefs"
25#	define kFirstFileName				"init_v3"
26#endif
27
28#define kOpenSelectedBookmarkFileName		"bm2open"
29
30typedef void (*PrefProc)(const char *const, FILE *const fp);
31typedef struct PrefOpt {
32	const char *varname;
33	PrefProc proc;
34	int visible;
35} PrefOpt;
36
37#define kPrefOptObselete (-1)
38#define kPrefOptInvisible 0
39#define kPrefOptVisible 1
40
41#define PREFOBSELETE (PrefProc) 0, kPrefOptObselete,
42
43/* pref.c */
44void SetAnonPass(const char *const, FILE *const);
45void SetAutoAscii(const char *const val, FILE *const fp);
46void SetAutoResume(const char *const, FILE *const);
47void SetAutoSaveChangesToExistingBookmarks(const char *const val, FILE *const fp);
48void SetConfirmClose(const char *const, FILE *const);
49void SetConnTimeout(const char *const, FILE *const);
50void SetCtrlTimeout(const char *const, FILE *const);
51void SetLogSize(const char *const val, FILE *const fp);
52void SetNoAds(const char *const val, FILE *const fp);
53void SetOneTimeMessages(const char *const val, FILE *const);
54void SetPager(const char *const, FILE *const);
55void SetPassive(const char *const, FILE *const);
56#ifdef ncftp
57void SetProgressMeter(const char *const, FILE *const);
58#else
59void SetProgressMeter(const char *const UNUSED(val), FILE *const UNUSED(fp));
60#endif
61void SetRedialDelay(const char *const val, FILE *const fp);
62void SetSavePasswords(const char *const, FILE *const);
63void SetSOBufsize(const char *const val, FILE *const fp);
64void SetXferTimeout(const char *const, FILE *const);
65void SetXtTitle(const char *const, FILE *const);
66void Set(const char *const, const char *const);
67void ProcessPrefsFile(FILE *const fp);
68void LoadPrefs(void);
69void InitPrefs(void);
70void PostInitPrefs(void);
71void SavePrefs(void);
72void WriteDefaultFirewallPrefs(FILE *);
73void ProcessFirewallPrefFile(FILE *);
74void LoadFirewallPrefs(int);
75void CheckForNewV3User(void);
76int HasSeenOneTimeMessage(const char *const msg);
77void SetSeenOneTimeMessage(const char *const msg);
78int OneTimeMessage(const char *const msg);
79