summaryrefslogtreecommitdiffstats
path: root/dive.h
diff options
context:
space:
mode:
Diffstat (limited to 'dive.h')
-rw-r--r--dive.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/dive.h b/dive.h
index 7cd67fa27..8232e5407 100644
--- a/dive.h
+++ b/dive.h
@@ -99,6 +99,7 @@ extern double get_weight_units(unsigned int grams, int *frac, const char **units
extern double get_vertical_speed_units(unsigned int mms, int *frac, const char **units);
extern unsigned int units_to_depth(double depth);
+extern int units_to_sac(int volume);
/* Volume in mliter of a cylinder at pressure 'p' */
extern int gas_volume(cylinder_t *cyl, pressure_t p);
@@ -294,6 +295,21 @@ struct dive {
struct picture *picture_list;
};
+/* when selectively copying dive information, which parts should be copied? */
+struct dive_components {
+ unsigned int location : 1;
+ unsigned int notes : 1;
+ unsigned int divemaster : 1;
+ unsigned int buddy : 1;
+ unsigned int suit : 1;
+ unsigned int rating : 1;
+ unsigned int visibility : 1;
+ unsigned int gps : 1;
+ unsigned int tags : 1;
+ unsigned int cylinders : 1;
+ unsigned int weights : 1;
+};
+
/* picture list and methods related to dive picture handling */
struct picture {
char *filename;
@@ -605,6 +621,7 @@ extern struct dive *alloc_dive(void);
extern void record_dive(struct dive *dive);
extern void clear_dive(struct dive *dive);
extern void copy_dive(struct dive *s, struct dive *d);
+extern void selective_copy_dive(struct dive *s, struct dive *d, struct dive_components what, bool clear);
extern struct dive *clone_dive(struct dive *s);
extern struct sample *prepare_sample(struct divecomputer *dc);