1 #ifndef FILEZILLA_ENGINE_ENGINE_OPTIONS_HEADER
2 #define FILEZILLA_ENGINE_ENGINE_OPTIONS_HEADER
3
4 #include "optionsbase.h"
5
6 // The engine of FileZilla 3 can be configured using a few settings.
7
8 enum engineOptions : unsigned int
9 {
10 OPTION_USEPASV, // Use passive mode unless overridden by
11 // server settings
12 OPTION_LIMITPORTS,
13 OPTION_LIMITPORTS_LOW,
14 OPTION_LIMITPORTS_HIGH,
15 OPTION_LIMITPORTS_OFFSET,
16 OPTION_EXTERNALIPMODE, /* External IP Address mode for use in active mode
17 Values: 0: ask operating system
18 1: use provided IP
19 2: use provided resolver
20 */
21 OPTION_EXTERNALIP,
22 OPTION_EXTERNALIPRESOLVER,
23 OPTION_LASTRESOLVEDIP,
24 OPTION_NOEXTERNALONLOCAL, // Don't use external IP address if connection is
25 // coming from a local unroutable address
26 OPTION_PASVREPLYFALLBACKMODE,
27 OPTION_TIMEOUT,
28 OPTION_LOGGING_DEBUGLEVEL,
29 OPTION_LOGGING_RAWLISTING,
30
31 OPTION_FZSFTP_EXECUTABLE, // full path to fzsftp executable
32 OPTION_FZSTORJ_EXECUTABLE,
33
34 OPTION_ALLOW_TRANSFERMODEFALLBACK, // If PORT fails, allow PASV and vice versa
35
36 OPTION_RECONNECTCOUNT,
37 OPTION_RECONNECTDELAY,
38
39 OPTION_SPEEDLIMIT_ENABLE,
40 OPTION_SPEEDLIMIT_INBOUND,
41 OPTION_SPEEDLIMIT_OUTBOUND,
42 OPTION_SPEEDLIMIT_BURSTTOLERANCE,
43
44 OPTION_PREALLOCATE_SPACE,
45
46 OPTION_VIEW_HIDDEN_FILES,
47
48 OPTION_PRESERVE_TIMESTAMPS,
49
50 OPTION_SOCKET_BUFFERSIZE_RECV,
51 OPTION_SOCKET_BUFFERSIZE_SEND,
52
53 OPTION_FTP_SENDKEEPALIVE,
54
55 OPTION_FTP_PROXY_TYPE,
56 OPTION_FTP_PROXY_HOST,
57 OPTION_FTP_PROXY_USER,
58 OPTION_FTP_PROXY_PASS,
59 OPTION_FTP_PROXY_CUSTOMLOGINSEQUENCE,
60
61 OPTION_SFTP_KEYFILES,
62 OPTION_SFTP_COMPRESSION,
63
64 OPTION_PROXY_TYPE,
65 OPTION_PROXY_HOST,
66 OPTION_PROXY_PORT,
67 OPTION_PROXY_USER,
68 OPTION_PROXY_PASS,
69
70 OPTION_LOGGING_FILE,
71 OPTION_LOGGING_FILE_SIZELIMIT,
72 OPTION_LOGGING_SHOW_DETAILED_LOGS,
73
74 OPTION_SIZE_FORMAT,
75 OPTION_SIZE_USETHOUSANDSEP,
76 OPTION_SIZE_DECIMALPLACES,
77
78 OPTION_TCP_KEEPALIVE_INTERVAL,
79
80 OPTION_CACHE_TTL,
81
82 OPTIONS_ENGINE_NUM
83 };
84
85 unsigned int FZC_PUBLIC_SYMBOL register_engine_options();
86
mapOption(engineOptions opt)87 inline optionsIndex mapOption(engineOptions opt)
88 {
89 static unsigned int const offset = register_engine_options();
90
91 auto ret = optionsIndex::invalid;
92 if (opt < OPTIONS_ENGINE_NUM) {
93 return static_cast<optionsIndex>(opt + offset);
94 }
95 return ret;
96 }
97
98 #endif
99