From 868a2cc0905b719cb5f3eaf15f0550d6ce82dbeb Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Thu, 10 Jan 2013 17:26:10 -0800 Subject: Split up preference data structure definition into 'pref.h' .. and rename the badly named 'output_units/input_units' variables. We used to have this confusing thing where we had two different units (input vs output) that *look* like they are mirror images, but in fact "output_units" was the user units, and "input_units" are the XML parsing units. So this renames them to be clearer. "output_units" is now just "units" (it's the units a user would ever see), and "input_units" is now "xml_parsing_units" and set by the XML file parsers to reflect the units of the parsed file. Signed-off-by: Linus Torvalds Signed-off-by: Dirk Hohndel --- pref.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 pref.h (limited to 'pref.h') diff --git a/pref.h b/pref.h new file mode 100644 index 000000000..ddc2eaff0 --- /dev/null +++ b/pref.h @@ -0,0 +1,54 @@ +#ifndef PREF_H +#define PREF_H + +typedef struct { + gboolean cylinder; + gboolean temperature; + gboolean totalweight; + gboolean suit; + gboolean nitrox; + gboolean sac; + gboolean otu; + gboolean maxcns; +} visible_cols_t; + +typedef struct { + gboolean po2; + gboolean pn2; + gboolean phe; + double po2_threshold; + double pn2_threshold; + double phe_threshold; +} partial_pressure_graphs_t; + +struct preferences { + struct units units; + visible_cols_t visible_cols; + partial_pressure_graphs_t pp_graphs; + gboolean profile_red_ceiling; + gboolean profile_calc_ceiling; + gboolean calc_ceiling_3m_incr; + double gflow; + double gfhigh; +}; + +extern struct preferences prefs, default_prefs; + +#define PP_GRAPHS_ENABLED (prefs.pp_graphs.po2 || prefs.pp_graphs.pn2 || prefs.pp_graphs.phe) + +typedef enum { + PREF_BOOL, + PREF_STRING +} pref_type_t; + +#define BOOL_TO_PTR(_cond) ((_cond) ? (void *)1 : NULL) +#define PTR_TO_BOOL(_ptr) ((_ptr) != NULL) + +extern void subsurface_open_conf(void); +extern void subsurface_set_conf(char *name, pref_type_t type, const void *value); +extern void subsurface_unset_conf(char *name); +extern const void *subsurface_get_conf(char *name, pref_type_t type); +extern void subsurface_flush_conf(void); +extern void subsurface_close_conf(void); + +#endif /* PREF_H */ -- cgit v1.2.3-70-g09d2