} 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)
{
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[];
* 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;
extern int verbose;
struct dive_table {
- int nr, allocated;
+ int nr, allocated, preexisting;
struct dive **dives;
};
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);
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);