/** Generic option struct used by various subsystems. */
struct sr_option {
/* Short name suitable for commandline usage, [a-z0-9-]. */
- char *id;
+ const char *id;
/* Short name suitable for GUI usage, can contain UTF-8. */
- char *name;
+ const char *name;
/* Description of the option, in a sentence. */
- char *desc;
+ const char *desc;
/* Default value for this option. */
GVariant *def;
/* List of possible values, if this is an option with few values. */
/** Data type like SR_T_STRING, etc if applicable. */
int datatype;
/** Short, lowercase ID string, e.g. "serialcomm", "voltage". */
- char *id;
+ const char *id;
/** Full capitalized name, e.g. "Serial communication". */
- char *name;
+ const char *name;
/** Verbose description (unused currently). */
- char *description;
+ const char *description;
+};
+
+/** Configuration capabilities. */
+enum sr_configcap {
+ /** Value can be read. */
+ SR_CONF_GET = (1 << 31),
+ /** Value can be written. */
+ SR_CONF_SET = (1 << 30),
+ /** Possible values can be enumerated. */
+ SR_CONF_LIST = (1 << 29),
};
-#define SR_CONF_GET (1 << 31)
-#define SR_CONF_SET (1 << 30)
-#define SR_CONF_LIST (1 << 29)
#define SR_CONF_MASK 0x1fffffff
/** Configuration keys */