+typedef struct {
+ weight_t weight;
+ const char *description; /* "integrated", "belt", "ankle" */
+} weightsystem_t;
+
+extern gboolean cylinder_none(void *_data);
+extern gboolean no_cylinders(cylinder_t *cyl);
+extern gboolean cylinders_equal(cylinder_t *cyl1, cylinder_t *cyl2);
+extern void copy_cylinders(cylinder_t *cyl1, cylinder_t *cyl2);
+extern gboolean no_weightsystems(weightsystem_t *ws);
+extern gboolean weightsystems_equal(weightsystem_t *ws1, weightsystem_t *ws2);
+
+extern int get_pressure_units(unsigned int mb, const char **units);
+extern double get_depth_units(unsigned int mm, int *frac, const char **units);
+extern double get_volume_units(unsigned int ml, int *frac, const char **units);
+extern double get_temp_units(unsigned int mk, const char **units);
+extern double get_weight_units(unsigned int grams, int *frac, const char **units);
+
+static inline double grams_to_lbs(int grams)
+{
+ return grams / 453.6;
+}
+
+static inline int lbs_to_grams(double lbs)
+{
+ return lbs * 453.6 + 0.5;
+}
+
+static inline double ml_to_cuft(int ml)
+{
+ return ml / 28316.8466;
+}
+
+static inline double cuft_to_l(double cuft)
+{
+ return cuft * 28.3168466;
+}
+