]> git.tdb.fi Git - ext/subsurface.git/blobdiff - dive.h
More consistency improvements
[ext/subsurface.git] / dive.h
diff --git a/dive.h b/dive.h
index 42d91d630a0776f63b8605d61e6e5f1c429578a0..5eec6f170da66bbbcbdcd6dbe140d26309976af7 100644 (file)
--- a/dive.h
+++ b/dive.h
@@ -87,6 +87,13 @@ typedef struct {
 } cylinder_t;
 
 extern double get_depth_units(unsigned int mm, int *frac, const char **units);
+extern double get_volume_units(unsigned int mm, int *frac, const char **units);
+extern double get_temp_units(unsigned int mm, const char **units);
+
+static inline double ml_to_cuft(int ml)
+{
+       return ml / 28317.0;
+}
 
 static inline double mm_to_feet(int mm)
 {
@@ -176,7 +183,7 @@ struct dive {
        depth_t visibility;
        temperature_t airtemp, watertemp;
        cylinder_t cylinder[MAX_CYLINDERS];
-       int otu;
+       int sac, otu;
        struct event *events;
        int samples, alloc_samples;
        struct sample sample[];
@@ -187,6 +194,10 @@ struct dive {
  * the input and output may come in some random format. This
  * keeps track of those units.
  */
+/* turns out in Win32 PASCAL is defined as a calling convention */
+#ifdef WIN32
+#undef PASCAL
+#endif
 struct units {
        enum { METERS, FEET } length;
        enum { LITER, CUFT } volume;
@@ -201,7 +212,7 @@ extern struct units input_units, output_units;
 extern int verbose;
 
 struct dive_table {
-       int nr, allocated;
+       int nr, allocated, preexisting;
        struct dive **dives;
 };
 
@@ -243,7 +254,7 @@ extern void record_dive(struct dive *dive);
 extern struct sample *prepare_sample(struct dive **divep);
 extern void finish_sample(struct dive *dive, struct sample *sample);
 
-extern void report_dives(void);
+extern void report_dives(gboolean imported);
 extern struct dive *fixup_dive(struct dive *dive);
 extern struct dive *try_to_merge(struct dive *a, struct dive *b);
 
@@ -259,11 +270,15 @@ extern void run_ui(void);
 
 extern void report_error(GError* error);
 
+extern void add_cylinder_description(cylinder_type_t *);
+extern void add_people(const char *string);
+extern void add_location(const char *string);
+extern void remember_event(const char *eventname);
+extern void evn_foreach(void (*callback)(const char *, int *, void *), void *data);
+
 extern void dive_list_update_dives(void);
 extern void flush_divelist(struct dive *dive);
 
-extern int open_import_file_dialog(char *filterpattern, char *filtertext, 
-                               void(* parse_function)(char *));
 #define DIVE_ERROR_PARSE 1
 
 const char *weekday(int wday);