12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #include "putty.h"
- #define CONF_ENUM(name, ...) \
- static const ConfSaveEnumValue conf_enum_values_##name[] = { \
- __VA_ARGS__ \
- }; const ConfSaveEnumType conf_enum_##name = { \
- /*.values =*/ conf_enum_values_##name, \
- /*.nvalues =*/ lenof(conf_enum_values_##name), \
- };
- #define VALUE(eval, sval) { eval, sval, false }
- #define VALUE_OBSOLETE(eval, sval) { eval, sval, true }
- #include "conf-enums.h"
- bool conf_enum_map_to_storage(const ConfSaveEnumType *etype,
- int confval, int *storageval_out)
- {
- size_t i; // WINSCP
- for (i = 0; i < etype->nvalues; i++)
- if (!etype->values[i].obsolete &&
- etype->values[i].confval == confval) {
- *storageval_out = etype->values[i].storageval;
- return true;
- }
- return false;
- }
- bool conf_enum_map_from_storage(const ConfSaveEnumType *etype,
- int storageval, int *confval_out)
- {
- size_t i; // WINSCP
- for (i = 0; i < etype->nvalues; i++)
- if (etype->values[i].storageval == storageval) {
- *confval_out = etype->values[i].confval;
- return true;
- }
- return false;
- }
- #define CONF_OPTION(id, subkey_type, value_type, ...) \
- { CONF_TYPE_ ## subkey_type, CONF_TYPE_ ## value_type, __VA_ARGS__ },
- const ConfKeyInfo conf_key_info[] = {
- #include "conf.winscp.h"
- };
|