]> git.tdb.fi Git - ext/subsurface.git/blobdiff - dive.h
Color tank pressure plot based on relative sac
[ext/subsurface.git] / dive.h
diff --git a/dive.h b/dive.h
index fe4515ee6a26ea5b20a6b0572a823ed864a0d80f..0116a1cf78a3d07ac4da2ccbe725de15f7e35d9e 100644 (file)
--- a/dive.h
+++ b/dive.h
@@ -5,6 +5,7 @@
 #include <time.h>
 
 #include <glib.h>
+#include <libxml/tree.h>
 
 /*
  * Some silly typedefs to make our units very explicit.
@@ -83,7 +84,7 @@ typedef struct {
 typedef struct {
        cylinder_type_t type;
        struct gasmix gasmix;
-       pressure_t start, end;
+       pressure_t start, end, sample_start, sample_end;
 } cylinder_t;
 
 extern int get_pressure_units(unsigned int mb, const char **units);
@@ -93,7 +94,12 @@ extern double get_temp_units(unsigned int mm, const char **units);
 
 static inline double ml_to_cuft(int ml)
 {
-       return ml / 28317.0;
+       return ml / 28316.8466;
+}
+
+static inline double cuft_to_l(double cuft)
+{
+       return cuft * 28.3168466;
 }
 
 static inline double mm_to_feet(int mm)
@@ -137,11 +143,20 @@ static inline int to_K(temperature_t temp)
        return (temp.mkelvin + 499)/1000;
 }
 
+static inline double psi_to_bar(double psi)
+{
+       return psi / 14.5037738;
+}
 static inline int to_PSI(pressure_t pressure)
 {
        return pressure.mbar * 0.0145037738 + 0.5;
 }
 
+static inline double bar_to_atm(double bar)
+{
+       return bar / 1.01325;
+}
+
 static inline double to_ATM(pressure_t pressure)
 {
        return pressure.mbar / 1013.25;
@@ -239,12 +254,18 @@ extern void parse_xml_init(void);
 extern void parse_xml_file(const char *filename, GError **error);
 extern void set_filename(const char *filename);
 
+#ifdef XSLT
+extern xmlDoc *test_xslt_transforms(xmlDoc *doc);
+#endif
+
 extern void show_dive_info(struct dive *);
 extern void flush_dive_info_changes(struct dive *);
 
 extern void show_dive_equipment(struct dive *);
 extern void flush_dive_equipment_changes(struct dive *);
 
+extern void show_dive_stats(struct dive *);
+
 extern void update_dive(struct dive *new_dive);
 extern void save_dives(const char *filename);
 
@@ -271,7 +292,7 @@ extern void add_event(struct dive *dive, int time, int type, int flags, int valu
 
 /* UI related protopypes */
 
-extern void init_ui(int argc, char **argv);
+extern void init_ui(int *argcp, char ***argvp);
 
 extern void run_ui(void);