time_t when;
char *location;
char *notes;
+ char *divemaster, *buddy;
+ double latitude, longitude;
depth_t maxdepth, meandepth;
duration_t duration, surfacetime;
depth_t visibility;
temperature_t airtemp, watertemp;
cylinder_t cylinder[MAX_CYLINDERS];
- int samples;
+ int samples, alloc_samples;
struct sample sample[];
};
return sizeof(struct dive) + samples*sizeof(struct sample);
}
+extern time_t utc_mktime(struct tm *tm);
+
+extern struct dive *alloc_dive(void);
+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 struct dive *fixup_dive(struct dive *dive);
extern struct dive *try_to_merge(struct dive *a, struct dive *b);