conf.winscp.h 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. /*
  2. * Master list of configuration options living in the Conf data
  3. * structure.
  4. *
  5. * Each CONF_OPTION directive defines a single CONF_foo primary key in
  6. * Conf, and can be equipped with the following properties:
  7. *
  8. * - VALUE_TYPE: the type of data associated with that key
  9. * - SUBKEY_TYPE: if the primary key goes with a subkey (that is, the
  10. * primary key identifies some mapping from subkeys to values), the
  11. * data type of the subkey
  12. * - DEFAULT_INT, DEFAULT_STR, DEFAULT_BOOL: the default value for
  13. * the key, if no save data is available. Must match VALUE_TYPE, if
  14. * the key has no subkey. Otherwise, no default is permitted, and
  15. * the default value of the mapping is assumed to be empty (and if
  16. * not, then LOAD_CUSTOM code must override that).
  17. * - SAVE_KEYWORD: the keyword used for the option in the Windows
  18. * registry or ~/.putty/sessions save files.
  19. * - STORAGE_ENUM: for int-typed settings with no subkeys, this
  20. * identifies an enumeration in conf-enums.h which maps internal
  21. * values of the setting in the Conf to values in the saved data.
  22. * - LOAD_CUSTOM, SAVE_CUSTOM: suppress automated loading or saving
  23. * (respectively) of this setting, in favour of manual code in
  24. * settings.c load_open_settings() or save_open_settings()
  25. * respectively.
  26. * - NOT_SAVED: indicate that this setting is not part of saved
  27. * session data at all.
  28. */
  29. CONF_OPTION(host, NONE, STR, (int)"", false, false, false, "HostName", NULL)
  30. /* default value depends on the value of CONF_protocol */
  31. CONF_OPTION(port, NONE, INT, 0, false, true, false, "PortNumber", NULL)
  32. /* PROT_SSH, PROT_TELNET etc */
  33. /*
  34. * Notionally SAVE_KEYWORD("Protocol"), but saving/loading is handled by
  35. * custom code because the stored value is a string representation
  36. * of the protocol name.
  37. */
  38. CONF_OPTION(protocol, NONE, INT, 0, true, true, false, NULL, NULL)
  39. CONF_OPTION(addressfamily, NONE, INT, ADDRTYPE_UNSPEC, false, false, false, "AddressFamily", &conf_enum_addressfamily)
  40. CONF_OPTION(close_on_exit, NONE, INT, AUTO, false, false, false, "CloseOnExit", &conf_enum_off_auto_on)
  41. CONF_OPTION(warn_on_close, NONE, BOOL, (int)true, false, false, false, "WarnOnClose", NULL)
  42. /* in seconds */
  43. /*
  44. * Saving/loading is handled by custom code because for historical
  45. * reasons this value corresponds to two save keywords,
  46. * "PingInterval" (measured in minutes) and "PingIntervalSecs"
  47. * (measured in seconds), which are added together on loading.
  48. * Rationale: the value was once measured in minutes, and the
  49. * seconds field was added later.
  50. */
  51. CONF_OPTION(ping_interval, NONE, INT, 0, true, true, false, NULL, NULL)
  52. CONF_OPTION(tcp_nodelay, NONE, BOOL, (int)true, false, false, false, "TCPNoDelay", NULL)
  53. CONF_OPTION(tcp_keepalives, NONE, BOOL, (int)false, false, false, false, "TCPKeepalives", NULL)
  54. /* logical host being contacted, for host key check */
  55. CONF_OPTION(loghost, NONE, STR, (int)"", false, false, false, "LogHost", NULL)
  56. /* Proxy options */
  57. CONF_OPTION(proxy_exclude_list, NONE, STR, (int)"", false, false, false, "ProxyExcludeList", NULL)
  58. CONF_OPTION(proxy_dns, NONE, INT, AUTO, false, false, false, "ProxyDNS", &conf_enum_off_auto_on)
  59. CONF_OPTION(even_proxy_localhost, NONE, BOOL, (int)false, false, false, false, "ProxyLocalhost", NULL)
  60. /* PROXY_NONE, PROXY_SOCKS4, ... */
  61. /*
  62. * Custom load code: there was an earlier keyword "ProxyType"
  63. * using a different enumeration, in which SOCKS4 and SOCKS5
  64. * shared a value, and a second keyword "ProxySOCKSVersion"
  65. * disambiguated.
  66. */
  67. CONF_OPTION(proxy_type, NONE, INT, 0, false, true, false, "ProxyMethod", &conf_enum_proxy_type)
  68. CONF_OPTION(proxy_host, NONE, STR, (int)"proxy", false, false, false, "ProxyHost", NULL)
  69. CONF_OPTION(proxy_port, NONE, INT, 80, false, false, false, "ProxyPort", NULL)
  70. CONF_OPTION(proxy_username, NONE, STR, (int)"", false, false, false, "ProxyUsername", NULL)
  71. CONF_OPTION(proxy_password, NONE, STR, (int)"", false, false, false, "ProxyPassword", NULL)
  72. CONF_OPTION(proxy_telnet_command, NONE, STR, (int)"connect %host %port\\n", false, false, false, "ProxyTelnetCommand", NULL)
  73. CONF_OPTION(proxy_log_to_term, NONE, INT, FORCE_OFF, false, false, false, "ProxyLogToTerm", &conf_enum_on_off_auto)
  74. /* SSH options */
  75. CONF_OPTION(remote_cmd, NONE, STR_AMBI, (int)"", false, false, false, "RemoteCommand", NULL)
  76. /*
  77. * Fallback command to try to run if remote_cmd fails. Only set
  78. * internally by PSCP and PSFTP (so that they can try multiple
  79. * methods of running an SFTP server at the remote end); never set
  80. * by user configuration, or loaded or saved.
  81. */
  82. CONF_OPTION(remote_cmd2, NONE, STR_AMBI, (int)"", false, false, true, NULL, NULL)
  83. CONF_OPTION(nopty, NONE, BOOL, (int)false, false, false, false, "NoPTY", NULL)
  84. CONF_OPTION(compression, NONE, BOOL, (int)false, false, false, false, "Compression", NULL)
  85. /* indices in preference order: 0,...,KEX_MAX-1
  86. * (lower is more preferred) */
  87. /* KEX_* enum values */
  88. /* necessary for preference lists */
  89. CONF_OPTION(ssh_kexlist, INT, INT, 0, true, true, false, NULL, NULL)
  90. /* indices in preference order: 0,...,HK_MAX-1
  91. * (lower is more preferred) */
  92. /* HK_* enum values */
  93. /* necessary for preference lists */
  94. CONF_OPTION(ssh_hklist, INT, INT, 0, true, true, false, NULL, NULL)
  95. CONF_OPTION(ssh_prefer_known_hostkeys, NONE, BOOL, (int)true, false, false, false, "PreferKnownHostKeys", NULL)
  96. /* in minutes */
  97. CONF_OPTION(ssh_rekey_time, NONE, INT, 60, false, false, false, "RekeyTime", NULL)
  98. /* string encoding e.g. "100K", "2M", "1G" */
  99. CONF_OPTION(ssh_rekey_data, NONE, STR, (int)"1G", false, false, false, "RekeyBytes", NULL)
  100. CONF_OPTION(tryagent, NONE, BOOL, (int)true, false, false, false, "TryAgent", NULL)
  101. CONF_OPTION(agentfwd, NONE, BOOL, (int)false, false, false, false, "AgentFwd", NULL)
  102. /* allow username switching in SSH-2 */
  103. CONF_OPTION(change_username, NONE, BOOL, (int)false, false, false, false, "ChangeUsername", NULL)
  104. /* indices in preference order: 0,...,CIPHER_MAX-1
  105. * (lower is more preferred) */
  106. /* CIPHER_* enum values */
  107. /* necessary for preference lists */
  108. CONF_OPTION(ssh_cipherlist, INT, INT, 0, true, true, false, NULL, NULL)
  109. CONF_OPTION(keyfile, NONE, FILENAME, 0, false, false, false, "PublicKeyFile", NULL)
  110. CONF_OPTION(detached_cert, NONE, FILENAME, 0, false, false, false, "DetachedCertificate", NULL)
  111. CONF_OPTION(auth_plugin, NONE, STR, (int)"", false, false, false, "AuthPlugin", NULL)
  112. /*
  113. * Which SSH protocol to use.
  114. *
  115. * For historical reasons, the current legal values for CONF_sshprot
  116. * are:
  117. * 0 = SSH-1 only
  118. * 3 = SSH-2 only
  119. *
  120. * We used to also support
  121. * 1 = SSH-1 with fallback to SSH-2
  122. * 2 = SSH-2 with fallback to SSH-1
  123. *
  124. * and we continue to use 0/3 in storage formats rather than the more
  125. * obvious 1/2 to avoid surprises if someone saves a session and later
  126. * downgrades PuTTY. So it's easier to use these numbers internally too.
  127. */
  128. CONF_OPTION(sshprot, NONE, INT, 3, false, false, false, "SshProt", &conf_enum_ssh_protocol)
  129. /*
  130. * This means that we promise never to open any channel other
  131. * than the main one, which means it can safely use a very large
  132. * window in SSH-2.
  133. *
  134. * Only ever set internally by file transfer tools; never set by
  135. * user configuration, or loaded or saved.
  136. */
  137. CONF_OPTION(ssh_simple, NONE, BOOL, (int)false, false, false, true, NULL, NULL)
  138. CONF_OPTION(ssh_connection_sharing, NONE, BOOL, (int)false, false, false, false, "ConnectionSharing", NULL)
  139. CONF_OPTION(ssh_connection_sharing_upstream, NONE, BOOL, (int)true, false, false, false, "ConnectionSharingUpstream", NULL)
  140. CONF_OPTION(ssh_connection_sharing_downstream, NONE, BOOL, (int)true, false, false, false, "ConnectionSharingDownstream", NULL)
  141. /*
  142. * Manually configured host keys to accept regardless of the state
  143. * of the host key cache.
  144. *
  145. * This is conceptually a set rather than a dictionary: every
  146. * value in this map is the empty string, and the set of subkeys
  147. * that exist is the important data.
  148. */
  149. /* necessary for mappings */
  150. CONF_OPTION(ssh_manual_hostkeys, STR, STR, 0, true, true, false, NULL, NULL)
  151. /* "des-cbc" unrecommended SSH-2 cipher */
  152. CONF_OPTION(ssh2_des_cbc, NONE, BOOL, (int)false, false, false, false, "SSH2DES", NULL)
  153. /* bypass "ssh-userauth" (SSH-2 only) */
  154. CONF_OPTION(ssh_no_userauth, NONE, BOOL, (int)false, false, false, false, "SshNoAuth", NULL)
  155. /* disable trivial types of auth */
  156. CONF_OPTION(ssh_no_trivial_userauth, NONE, BOOL, (int)false, false, false, false, "SshNoTrivialAuth", NULL)
  157. /* show USERAUTH_BANNERs (SSH-2 only) */
  158. CONF_OPTION(ssh_show_banner, NONE, BOOL, (int)true, false, false, false, "SshBanner", NULL)
  159. CONF_OPTION(try_tis_auth, NONE, BOOL, (int)false, false, false, false, "AuthTIS", NULL)
  160. CONF_OPTION(try_ki_auth, NONE, BOOL, (int)true, false, false, false, "AuthKI", NULL)
  161. /* attempt gssapi via ssh userauth */
  162. /* under #ifndef NO_GSSAPI */
  163. CONF_OPTION(try_gssapi_auth, NONE, BOOL, 0, true, true, false, NULL, NULL)
  164. /* attempt gssapi via ssh kex */
  165. /* under #ifndef NO_GSSAPI */
  166. CONF_OPTION(try_gssapi_kex, NONE, BOOL, 0, true, true, false, NULL, NULL)
  167. /* forward tgt via gss */
  168. /* under #ifndef NO_GSSAPI */
  169. CONF_OPTION(gssapifwd, NONE, BOOL, 0, true, true, false, NULL, NULL)
  170. /* KEXGSS refresh interval (mins) */
  171. /* under #ifndef NO_GSSAPI */
  172. CONF_OPTION(gssapirekey, NONE, INT, 0, true, true, false, NULL, NULL)
  173. /* indices in preference order: 0,...,ngsslibs
  174. * (lower is more preferred; ngsslibs is a platform-
  175. * dependent value) */
  176. /* indices of GSSAPI lib types (platform-dependent) */
  177. /* necessary for preference lists, also this
  178. * setting is under #ifndef NO_GSSAPI */
  179. CONF_OPTION(ssh_gsslist, INT, INT, 0, true, true, false, NULL, NULL)
  180. /* under #ifndef NO_GSSAPI */
  181. CONF_OPTION(ssh_gss_custom, NONE, FILENAME, 0, true, true, false, NULL, NULL)
  182. /* run a subsystem rather than a command */
  183. /*
  184. * Only set internally by PSCP and PSFTP; never set by user
  185. * configuration, or loaded or saved.
  186. */
  187. CONF_OPTION(ssh_subsys, NONE, BOOL, (int)false, false, false, true, NULL, NULL)
  188. /* fallback to go with remote_cmd2 */
  189. /*
  190. * Only set internally by PSCP and PSFTP; never set by user
  191. * configuration, or loaded or saved.
  192. */
  193. CONF_OPTION(ssh_subsys2, NONE, BOOL, (int)false, false, false, true, NULL, NULL)
  194. /* avoid running a shell */
  195. CONF_OPTION(ssh_no_shell, NONE, BOOL, (int)false, false, false, false, "SshNoShell", NULL)
  196. /* host to connect to in `nc' mode */
  197. /*
  198. * Only set by the '-nc' command-line option and by the SSH proxy
  199. * code. There's no GUI config option for this, and therefore it's
  200. * also never loaded or saved.
  201. */
  202. CONF_OPTION(ssh_nc_host, NONE, STR, (int)"", false, false, true, NULL, NULL)
  203. /* port to connect to in `nc' mode */
  204. /*
  205. * Only set by the '-nc' command-line option and by the SSH proxy
  206. * code. There's no GUI config option for this, and therefore it's
  207. * also never loaded or saved.
  208. */
  209. CONF_OPTION(ssh_nc_port, NONE, INT, 0, false, false, true, NULL, NULL)
  210. /* Telnet options */
  211. CONF_OPTION(termtype, NONE, STR, (int)"xterm", false, false, false, "TerminalType", NULL)
  212. CONF_OPTION(termspeed, NONE, STR, (int)"38400,38400", false, false, false, "TerminalSpeed", NULL)
  213. /*
  214. * The full set of permitted subkeys is listed in
  215. * ssh/ttymode-list.h, as the first parameter of each TTYMODE_CHAR
  216. * or TTYMODE_FLAG macro.
  217. *
  218. * The permitted value strings are:
  219. *
  220. * - "N" means do not include a record for this mode at all in
  221. * the terminal mode data in the "pty-req" channel request.
  222. * Corresponds to setting the mode to 'Nothing' in the GUI.
  223. * - "A" means use PuTTY's automatic default, matching the
  224. * settings for GUI PuTTY's terminal window or Unix Plink's
  225. * controlling tty. Corresponds to setting 'Auto' in the GUI.
  226. * - "V" followed by further string data means send a custom
  227. * value to the SSH server. Values are as documented in the
  228. * manual.
  229. */
  230. /* necessary for mappings */
  231. CONF_OPTION(ttymodes, STR, STR, 0, true, true, false, NULL, NULL)
  232. /* environment variable name */
  233. /* environment variable value */
  234. /* necessary for mappings */
  235. CONF_OPTION(environmt, STR, STR, 0, true, true, false, NULL, NULL)
  236. CONF_OPTION(username, NONE, STR_AMBI, (int)"", false, false, false, "UserName", NULL)
  237. CONF_OPTION(username_from_env, NONE, BOOL, (int)false, false, false, false, "UserNameFromEnvironment", NULL)
  238. CONF_OPTION(localusername, NONE, STR, (int)"", false, false, false, "LocalUserName", NULL)
  239. CONF_OPTION(rfc_environ, NONE, BOOL, (int)false, false, false, false, "RFCEnviron", NULL)
  240. CONF_OPTION(passive_telnet, NONE, BOOL, (int)false, false, false, false, "PassiveTelnet", NULL)
  241. /* Serial port options */
  242. CONF_OPTION(serline, NONE, STR, (int)"", false, false, false, "SerialLine", NULL)
  243. CONF_OPTION(serspeed, NONE, INT, 9600, false, false, false, "SerialSpeed", NULL)
  244. CONF_OPTION(serdatabits, NONE, INT, 8, false, false, false, "SerialDataBits", NULL)
  245. CONF_OPTION(serstopbits, NONE, INT, 2, false, false, false, "SerialStopHalfbits", NULL)
  246. CONF_OPTION(serparity, NONE, INT, SER_PAR_NONE, false, false, false, "SerialParity", &conf_enum_serparity)
  247. CONF_OPTION(serflow, NONE, INT, SER_FLOW_XONXOFF, false, false, false, "SerialFlowControl", &conf_enum_serflow)
  248. /* SUPDUP options */
  249. CONF_OPTION(supdup_location, NONE, STR, (int)"The Internet", false, false, false, "SUPDUPLocation", NULL)
  250. CONF_OPTION(supdup_ascii_set, NONE, INT, SUPDUP_CHARSET_ASCII, false, false, false, "SUPDUPCharset", &conf_enum_supdup_charset)
  251. CONF_OPTION(supdup_more, NONE, BOOL, (int)false, false, false, false, "SUPDUPMoreProcessing", NULL)
  252. CONF_OPTION(supdup_scroll, NONE, BOOL, (int)false, false, false, false, "SUPDUPScrolling", NULL)
  253. /* Keyboard options */
  254. CONF_OPTION(bksp_is_delete, NONE, BOOL, (int)true, false, false, false, "BackspaceIsDelete", NULL)
  255. CONF_OPTION(rxvt_homeend, NONE, BOOL, (int)false, false, false, false, "RXVTHomeEnd", NULL)
  256. CONF_OPTION(funky_type, NONE, INT, FUNKY_TILDE, false, false, false, "LinuxFunctionKeys", &conf_enum_funky_type)
  257. CONF_OPTION(sharrow_type, NONE, INT, SHARROW_APPLICATION, false, false, false, "ShiftedArrowKeys", &conf_enum_sharrow_type)
  258. /* totally disable app cursor keys */
  259. CONF_OPTION(no_applic_c, NONE, BOOL, (int)false, false, false, false, "NoApplicationCursors", NULL)
  260. /* totally disable app keypad */
  261. CONF_OPTION(no_applic_k, NONE, BOOL, (int)false, false, false, false, "NoApplicationKeys", NULL)
  262. /* totally disable mouse reporting */
  263. CONF_OPTION(no_mouse_rep, NONE, BOOL, (int)false, false, false, false, "NoMouseReporting", NULL)
  264. /* disable remote resizing */
  265. CONF_OPTION(no_remote_resize, NONE, BOOL, (int)false, false, false, false, "NoRemoteResize", NULL)
  266. /* disable alternate screen */
  267. CONF_OPTION(no_alt_screen, NONE, BOOL, (int)false, false, false, false, "NoAltScreen", NULL)
  268. /* disable remote retitling */
  269. CONF_OPTION(no_remote_wintitle, NONE, BOOL, (int)false, false, false, false, "NoRemoteWinTitle", NULL)
  270. /* disable ESC[3J */
  271. CONF_OPTION(no_remote_clearscroll, NONE, BOOL, (int)false, false, false, false, "NoRemoteClearScroll", NULL)
  272. /* disable destructive backspace */
  273. CONF_OPTION(no_dbackspace, NONE, BOOL, (int)false, false, false, false, "NoDBackspace", NULL)
  274. /* disable remote charset config */
  275. CONF_OPTION(no_remote_charset, NONE, BOOL, (int)false, false, false, false, "NoRemoteCharset", NULL)
  276. /* handling of remote window title queries */
  277. /* older versions had a boolean "NoRemoteQTitle"
  278. * before we ended up with three options */
  279. CONF_OPTION(remote_qtitle_action, NONE, INT, 0, false, true, false, "RemoteQTitleAction", &conf_enum_remote_qtitle_action)
  280. CONF_OPTION(app_cursor, NONE, BOOL, (int)false, false, false, false, "ApplicationCursorKeys", NULL)
  281. CONF_OPTION(app_keypad, NONE, BOOL, (int)false, false, false, false, "ApplicationKeypad", NULL)
  282. CONF_OPTION(nethack_keypad, NONE, BOOL, (int)false, false, false, false, "NetHackKeypad", NULL)
  283. CONF_OPTION(telnet_keyboard, NONE, BOOL, (int)false, false, false, false, "TelnetKey", NULL)
  284. CONF_OPTION(telnet_newline, NONE, BOOL, (int)true, false, false, false, "TelnetRet", NULL)
  285. /* is it special? */
  286. CONF_OPTION(alt_f4, NONE, BOOL, (int)true, false, false, false, "AltF4", NULL)
  287. /* is it special? */
  288. CONF_OPTION(alt_space, NONE, BOOL, (int)false, false, false, false, "AltSpace", NULL)
  289. /* is it special? */
  290. CONF_OPTION(alt_only, NONE, BOOL, (int)false, false, false, false, "AltOnly", NULL)
  291. CONF_OPTION(localecho, NONE, INT, AUTO, false, false, false, "LocalEcho", &conf_enum_on_off_auto)
  292. CONF_OPTION(localedit, NONE, INT, AUTO, false, false, false, "LocalEdit", &conf_enum_on_off_auto)
  293. CONF_OPTION(alwaysontop, NONE, BOOL, (int)false, false, false, false, "AlwaysOnTop", NULL)
  294. CONF_OPTION(fullscreenonaltenter, NONE, BOOL, (int)false, false, false, false, "FullScreenOnAltEnter", NULL)
  295. CONF_OPTION(scroll_on_key, NONE, BOOL, (int)false, false, false, false, "ScrollOnKey", NULL)
  296. CONF_OPTION(scroll_on_disp, NONE, BOOL, (int)true, false, false, false, "ScrollOnDisp", NULL)
  297. CONF_OPTION(erase_to_scrollback, NONE, BOOL, (int)true, false, false, false, "EraseToScrollback", NULL)
  298. CONF_OPTION(compose_key, NONE, BOOL, (int)false, false, false, false, "ComposeKey", NULL)
  299. CONF_OPTION(ctrlaltkeys, NONE, BOOL, (int)true, false, false, false, "CtrlAltKeys", NULL)
  300. /* under #ifdef OSX_META_KEY_CONFIG */
  301. CONF_OPTION(osx_option_meta, NONE, BOOL, 0, true, true, false, NULL, NULL)
  302. /* under #ifdef OSX_META_KEY_CONFIG */
  303. CONF_OPTION(osx_command_meta, NONE, BOOL, 0, true, true, false, NULL, NULL)
  304. /* initial window title */
  305. CONF_OPTION(wintitle, NONE, STR, (int)"", false, false, false, "WinTitle", NULL)
  306. /* Terminal options */
  307. CONF_OPTION(savelines, NONE, INT, 2000, false, false, false, "ScrollbackLines", NULL)
  308. CONF_OPTION(dec_om, NONE, BOOL, (int)false, false, false, false, "DECOriginMode", NULL)
  309. CONF_OPTION(wrap_mode, NONE, BOOL, (int)true, false, false, false, "AutoWrapMode", NULL)
  310. CONF_OPTION(lfhascr, NONE, BOOL, (int)false, false, false, false, "LFImpliesCR", NULL)
  311. CONF_OPTION(cursor_type, NONE, INT, 0, false, false, false, "CurType", &conf_enum_cursor_type)
  312. CONF_OPTION(blink_cur, NONE, BOOL, (int)false, false, false, false, "BlinkCur", NULL)
  313. CONF_OPTION(beep, NONE, INT, BELL_DEFAULT, false, false, false, "Beep", &conf_enum_beep)
  314. CONF_OPTION(beep_ind, NONE, INT, B_IND_DISABLED, false, false, false, "BeepInd", &conf_enum_beep_indication)
  315. /* bell overload protection active? */
  316. CONF_OPTION(bellovl, NONE, BOOL, (int)true, false, false, false, "BellOverload", NULL)
  317. /* number of bells to cause overload */
  318. CONF_OPTION(bellovl_n, NONE, INT, 5, false, false, false, "BellOverloadN", NULL)
  319. /* time interval for overload (ticks) */
  320. /*
  321. * Loading and saving is done in custom code because the format is
  322. * platform-dependent for historical reasons: on Unix, the stored
  323. * value is multiplied by 1000. (And since TICKSPERSEC=1000 on
  324. * that platform, it means the stored value is interpreted in
  325. * microseconds.)
  326. */
  327. CONF_OPTION(bellovl_t, NONE, INT, 0, true, true, false, NULL, NULL)
  328. /* period of silence to re-enable bell (s) */
  329. /*
  330. * Loading and saving is done in custom code because the format is
  331. * platform-dependent for historical reasons: on Unix, the stored
  332. * value is multiplied by 1000. (And since TICKSPERSEC=1000 on
  333. * that platform, it means the stored value is interpreted in
  334. * microseconds.)
  335. */
  336. CONF_OPTION(bellovl_s, NONE, INT, 0, true, true, false, NULL, NULL)
  337. CONF_OPTION(bell_wavefile, NONE, FILENAME, 0, false, false, false, "BellWaveFile", NULL)
  338. CONF_OPTION(scrollbar, NONE, BOOL, (int)true, false, false, false, "ScrollBar", NULL)
  339. CONF_OPTION(scrollbar_in_fullscreen, NONE, BOOL, (int)false, false, false, false, "ScrollBarFullScreen", NULL)
  340. CONF_OPTION(resize_action, NONE, INT, RESIZE_TERM, false, false, false, "LockSize", &conf_enum_resize_effect)
  341. CONF_OPTION(bce, NONE, BOOL, (int)true, false, false, false, "BCE", NULL)
  342. CONF_OPTION(blinktext, NONE, BOOL, (int)false, false, false, false, "BlinkText", NULL)
  343. CONF_OPTION(win_name_always, NONE, BOOL, (int)true, false, false, false, "WinNameAlways", NULL)
  344. CONF_OPTION(width, NONE, INT, 80, false, false, false, "TermWidth", NULL)
  345. CONF_OPTION(height, NONE, INT, 24, false, false, false, "TermHeight", NULL)
  346. CONF_OPTION(font, NONE, FONT, 0, false, false, false, "Font", NULL)
  347. CONF_OPTION(font_quality, NONE, INT, FQ_DEFAULT, false, false, false, "FontQuality", &conf_enum_font_quality)
  348. CONF_OPTION(logfilename, NONE, FILENAME, 0, false, false, false, "LogFileName", NULL)
  349. CONF_OPTION(logtype, NONE, INT, LGTYP_NONE, false, false, false, "LogType", &conf_enum_log_type)
  350. CONF_OPTION(logxfovr, NONE, INT, LGXF_ASK, false, false, false, "LogFileClash", &conf_enum_log_to_existing_file)
  351. CONF_OPTION(logflush, NONE, BOOL, (int)true, false, false, false, "LogFlush", NULL)
  352. CONF_OPTION(logheader, NONE, BOOL, (int)true, false, false, false, "LogHeader", NULL)
  353. CONF_OPTION(logomitpass, NONE, BOOL, (int)true, false, false, false, "SSHLogOmitPasswords", NULL)
  354. CONF_OPTION(logomitdata, NONE, BOOL, (int)false, false, false, false, "SSHLogOmitData", NULL)
  355. CONF_OPTION(hide_mouseptr, NONE, BOOL, (int)false, false, false, false, "HideMousePtr", NULL)
  356. CONF_OPTION(sunken_edge, NONE, BOOL, (int)false, false, false, false, "SunkenEdge", NULL)
  357. /* in pixels */
  358. CONF_OPTION(window_border, NONE, INT, 1, false, false, false, "WindowBorder", NULL)
  359. CONF_OPTION(answerback, NONE, STR, (int)"PuTTY", false, false, false, "Answerback", NULL)
  360. CONF_OPTION(printer, NONE, STR, (int)"", false, false, false, "Printer", NULL)
  361. CONF_OPTION(no_arabicshaping, NONE, BOOL, (int)false, false, false, false, "DisableArabicShaping", NULL)
  362. CONF_OPTION(no_bidi, NONE, BOOL, (int)false, false, false, false, "DisableBidi", NULL)
  363. CONF_OPTION(no_bracketed_paste, NONE, BOOL, (int)false, false, false, false, "DisableBracketedPaste", NULL)
  364. /* Colour options */
  365. CONF_OPTION(ansi_colour, NONE, BOOL, (int)true, false, false, false, "ANSIColour", NULL)
  366. CONF_OPTION(xterm_256_colour, NONE, BOOL, (int)true, false, false, false, "Xterm256Colour", NULL)
  367. CONF_OPTION(true_colour, NONE, BOOL, (int)true, false, false, false, "TrueColour", NULL)
  368. CONF_OPTION(system_colour, NONE, BOOL, (int)false, false, false, false, "UseSystemColours", NULL)
  369. CONF_OPTION(try_palette, NONE, BOOL, (int)false, false, false, false, "TryPalette", NULL)
  370. CONF_OPTION(bold_style, NONE, INT, 2, false, false, false, "BoldAsColour", &conf_enum_bold_style)
  371. /*
  372. * Subkeys in this setting are indexed based on the CONF_COLOUR_*
  373. * enum values in putty.h. But each subkey identifies just one
  374. * component of the RGB value. Subkey 3*a+b identifies colour #a,
  375. * channel #b, where channels 0,1,2 mean R,G,B respectively.
  376. *
  377. * Values are 8-bit integers.
  378. */
  379. /* necessary for mappings */
  380. CONF_OPTION(colours, INT, INT, 0, true, true, false, NULL, NULL)
  381. /* Selection options */
  382. CONF_OPTION(mouse_is_xterm, NONE, INT, 0, false, false, false, "MouseIsXterm", &conf_enum_mouse_buttons)
  383. CONF_OPTION(rect_select, NONE, BOOL, (int)false, false, false, false, "RectSelect", NULL)
  384. CONF_OPTION(paste_controls, NONE, BOOL, (int)false, false, false, false, "PasteControls", NULL)
  385. CONF_OPTION(rawcnp, NONE, BOOL, (int)false, false, false, false, "RawCNP", NULL)
  386. CONF_OPTION(utf8linedraw, NONE, BOOL, (int)false, false, false, false, "UTF8linedraw", NULL)
  387. CONF_OPTION(rtf_paste, NONE, BOOL, (int)false, false, false, false, "PasteRTF", NULL)
  388. CONF_OPTION(mouse_override, NONE, BOOL, (int)true, false, false, false, "MouseOverride", NULL)
  389. /* ASCII character codes (literally, just 00-7F) */
  390. /* arbitrary equivalence-class value for that char */
  391. /* necessary for mappings */
  392. CONF_OPTION(wordness, INT, INT, 0, true, true, false, NULL, NULL)
  393. /*
  394. * What clipboard (if any) to copy text to as soon as it's
  395. * selected with the mouse.
  396. */
  397. /* platform-dependent bool-valued
  398. * macro */
  399. CONF_OPTION(mouseautocopy, NONE, BOOL, (int)CLIPUI_DEFAULT_AUTOCOPY, false, false, false, "MouseAutocopy", NULL)
  400. /* clipboard used by one-mouse-click paste actions */
  401. /*
  402. * SAVE_KEYWORD("MousePaste"), but loading and saving is done by
  403. * custom code, because the saved value is a string, and also sets
  404. * CONF_mousepaste_custom
  405. */
  406. CONF_OPTION(mousepaste, NONE, INT, 0, true, true, false, NULL, NULL)
  407. /* clipboard used by Ctrl+Ins and Shift+Ins */
  408. /*
  409. * SAVE_KEYWORD("CtrlShiftIns"), but loading and saving is done by
  410. * custom code, because the saved value is a string, and also sets
  411. * CONF_ctrlshiftins_custom
  412. */
  413. CONF_OPTION(ctrlshiftins, NONE, INT, 0, true, true, false, NULL, NULL)
  414. /* clipboard used by Ctrl+Shift+C and Ctrl+Shift+V */
  415. /*
  416. * SAVE_KEYWORD("CtrlShiftCV"), but loading and saving is done by
  417. * custom code, because the saved value is a string, and also sets
  418. * CONF_ctrlshiftcv_custom
  419. */
  420. CONF_OPTION(ctrlshiftcv, NONE, INT, 0, true, true, false, NULL, NULL)
  421. /* Custom clipboard name if CONF_mousepaste is set to CLIPUI_CUSTOM */
  422. /*
  423. * Loading and saving is handled by custom code in conjunction
  424. * with CONF_mousepaste
  425. */
  426. CONF_OPTION(mousepaste_custom, NONE, STR, 0, true, true, false, NULL, NULL)
  427. /* Custom clipboard name if CONF_ctrlshiftins is set to CLIPUI_CUSTOM */
  428. /*
  429. * Loading and saving is handled by custom code in conjunction
  430. * with CONF_ctrlshiftins
  431. */
  432. CONF_OPTION(ctrlshiftins_custom, NONE, STR, 0, true, true, false, NULL, NULL)
  433. /* Custom clipboard name if CONF_ctrlshiftcv is set to CLIPUI_CUSTOM */
  434. /*
  435. * Loading and saving is handled by custom code in conjunction
  436. * with CONF_ctrlshiftcv
  437. */
  438. CONF_OPTION(ctrlshiftcv_custom, NONE, STR, 0, true, true, false, NULL, NULL)
  439. /* Character-set translation */
  440. CONF_OPTION(vtmode, NONE, INT, VT_UNICODE, false, false, false, "FontVTMode", &conf_enum_line_drawing)
  441. CONF_OPTION(line_codepage, NONE, STR, (int)"", false, false, false, "LineCodePage", NULL)
  442. CONF_OPTION(cjk_ambig_wide, NONE, BOOL, (int)false, false, false, false, "CJKAmbigWide", NULL)
  443. CONF_OPTION(utf8_override, NONE, BOOL, (int)true, false, false, false, "UTF8Override", NULL)
  444. CONF_OPTION(xlat_capslockcyr, NONE, BOOL, (int)false, false, false, false, "CapsLockCyr", NULL)
  445. /* X11 forwarding */
  446. CONF_OPTION(x11_forward, NONE, BOOL, (int)false, false, false, false, "X11Forward", NULL)
  447. CONF_OPTION(x11_display, NONE, STR, (int)"", false, false, false, "X11Display", NULL)
  448. CONF_OPTION(x11_auth, NONE, INT, X11_MIT, false, false, false, "X11AuthType", &conf_enum_x11_auth)
  449. CONF_OPTION(xauthfile, NONE, FILENAME, 0, false, false, false, "X11AuthFile", NULL)
  450. /* Port forwarding */
  451. /* accept conns from hosts other than localhost */
  452. CONF_OPTION(lport_acceptall, NONE, BOOL, (int)false, false, false, false, "LocalPortAcceptAll", NULL)
  453. /* same for remote forwarded ports */
  454. CONF_OPTION(rport_acceptall, NONE, BOOL, (int)false, false, false, false, "RemotePortAcceptAll", NULL)
  455. /*
  456. * Subkeys for 'portfwd' can have the following forms:
  457. *
  458. * [LR]localport
  459. * [LR]localaddr:localport
  460. *
  461. * Dynamic forwardings are indicated by an 'L' key, and the
  462. * special value "D". For all other forwardings, the value should
  463. * be of the form 'host:port'.
  464. */
  465. /* necessary for mappings */
  466. CONF_OPTION(portfwd, STR, STR, 0, true, true, false, NULL, NULL)
  467. /* SSH bug compatibility modes. All FORCE_ON/FORCE_OFF/AUTO */
  468. CONF_OPTION(sshbug_ignore1, NONE, INT, AUTO, false, false, false, "BugIgnore1", &conf_enum_auto_off_on)
  469. CONF_OPTION(sshbug_plainpw1, NONE, INT, AUTO, false, false, false, "BugPlainPW1", &conf_enum_auto_off_on)
  470. CONF_OPTION(sshbug_rsa1, NONE, INT, AUTO, false, false, false, "BugRSA1", &conf_enum_auto_off_on)
  471. CONF_OPTION(sshbug_ignore2, NONE, INT, AUTO, false, false, false, "BugIgnore2", &conf_enum_auto_off_on)
  472. CONF_OPTION(sshbug_derivekey2, NONE, INT, AUTO, false, false, false, "BugDeriveKey2", &conf_enum_auto_off_on)
  473. CONF_OPTION(sshbug_rsapad2, NONE, INT, AUTO, false, false, false, "BugRSAPad2", &conf_enum_auto_off_on)
  474. CONF_OPTION(sshbug_pksessid2, NONE, INT, AUTO, false, false, false, "BugPKSessID2", &conf_enum_auto_off_on)
  475. CONF_OPTION(sshbug_rekey2, NONE, INT, AUTO, false, false, false, "BugRekey2", &conf_enum_auto_off_on)
  476. CONF_OPTION(sshbug_maxpkt2, NONE, INT, AUTO, false, false, false, "BugMaxPkt2", &conf_enum_auto_off_on)
  477. CONF_OPTION(sshbug_oldgex2, NONE, INT, AUTO, false, false, false, "BugOldGex2", &conf_enum_auto_off_on)
  478. CONF_OPTION(sshbug_winadj, NONE, INT, AUTO, false, false, false, "BugWinadj", &conf_enum_auto_off_on)
  479. CONF_OPTION(sshbug_chanreq, NONE, INT, AUTO, false, false, false, "BugChanReq", &conf_enum_auto_off_on)
  480. CONF_OPTION(sshbug_dropstart, NONE, INT, FORCE_OFF, false, false, false, "BugDropStart", &conf_enum_off1_on2)
  481. CONF_OPTION(sshbug_filter_kexinit, NONE, INT, FORCE_OFF, false, false, false, "BugFilterKexinit", &conf_enum_off1_on2)
  482. CONF_OPTION(sshbug_rsa_sha2_cert_userauth, NONE, INT, AUTO, false, false, false, "BugRSASHA2CertUserauth", &conf_enum_auto_off_on)
  483. /* there was an earlier keyword called "BuggyMAC" */
  484. CONF_OPTION(sshbug_hmac2, NONE, INT, AUTO, false, true, false, "BugHMAC2", &conf_enum_auto_off_on)
  485. /* Options for Unix. Should split out into platform-dependent part. */
  486. /* used by Unix pterm */
  487. CONF_OPTION(stamp_utmp, NONE, BOOL, (int)true, false, false, false, "StampUtmp", NULL)
  488. /* used by Unix pterm */
  489. CONF_OPTION(login_shell, NONE, BOOL, (int)true, false, false, false, "LoginShell", NULL)
  490. CONF_OPTION(scrollbar_on_left, NONE, BOOL, (int)false, false, false, false, "ScrollbarOnLeft", NULL)
  491. CONF_OPTION(shadowbold, NONE, BOOL, (int)false, false, false, false, "ShadowBold", NULL)
  492. CONF_OPTION(boldfont, NONE, FONT, 0, false, false, false, "BoldFont", NULL)
  493. CONF_OPTION(widefont, NONE, FONT, 0, false, false, false, "WideFont", NULL)
  494. CONF_OPTION(wideboldfont, NONE, FONT, 0, false, false, false, "WideBoldFont", NULL)
  495. /* in pixels */
  496. CONF_OPTION(shadowboldoffset, NONE, INT, 1, false, false, false, "ShadowBoldOffset", NULL)
  497. CONF_OPTION(crhaslf, NONE, BOOL, (int)false, false, false, false, "CRImpliesLF", NULL)
  498. CONF_OPTION(winclass, NONE, STR, (int)"", false, false, false, "WindowClass", NULL)
  499. /* WINSCP BEGIN */
  500. CONF_OPTION(connect_timeout, NONE, INT, 0, false, false, true, NULL, NULL)
  501. CONF_OPTION(sndbuf, NONE, INT, 0, false, false, true, NULL, NULL)
  502. CONF_OPTION(srcaddr, NONE, STR, (int)"", false, false, true, NULL, NULL)
  503. CONF_OPTION(force_remote_cmd2, NONE, BOOL, (int)false, false, false, true, NULL, NULL)
  504. CONF_OPTION(change_password, NONE, BOOL, (int)false, false, false, true, NULL, NULL)
  505. /* WINSCP END */