2017-04-27 18:18:03 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2011-09-20 19:40:34 +00:00
|
|
|
#ifndef LIBDIVECOMPUTER_H
|
|
|
|
#define LIBDIVECOMPUTER_H
|
|
|
|
|
2013-05-20 19:43:33 +00:00
|
|
|
|
2011-09-20 19:40:34 +00:00
|
|
|
/* libdivecomputer */
|
2015-11-18 21:46:57 +00:00
|
|
|
|
|
|
|
#ifdef DC_VERSION /* prevent a warning with wingdi.h */
|
|
|
|
#undef DC_VERSION
|
|
|
|
#endif
|
2013-05-14 18:50:55 +00:00
|
|
|
#include <libdivecomputer/version.h>
|
2012-07-10 19:33:44 +00:00
|
|
|
#include <libdivecomputer/device.h>
|
|
|
|
#include <libdivecomputer/parser.h>
|
2017-04-13 21:55:32 +00:00
|
|
|
#ifdef SSRF_CUSTOM_SERIAL
|
2016-09-17 15:27:56 +00:00
|
|
|
#include <libdivecomputer/custom_serial.h>
|
2017-04-13 21:55:32 +00:00
|
|
|
#endif
|
2011-09-20 19:40:34 +00:00
|
|
|
|
2013-10-07 19:45:42 +00:00
|
|
|
#include "dive.h"
|
2011-09-20 19:40:34 +00:00
|
|
|
|
2013-10-05 19:11:46 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2011-09-20 19:40:34 +00:00
|
|
|
/* don't forget to include the UI toolkit specific display-XXX.h first
|
|
|
|
to get the definition of progressbar_t */
|
2014-02-28 04:09:57 +00:00
|
|
|
typedef struct device_data_t
|
|
|
|
{
|
2012-06-22 20:37:39 +00:00
|
|
|
dc_descriptor_t *descriptor;
|
|
|
|
const char *vendor, *product, *devname;
|
2014-12-27 16:27:16 +00:00
|
|
|
const char *model;
|
|
|
|
uint32_t libdc_firmware, libdc_serial;
|
2013-11-22 21:31:52 +00:00
|
|
|
uint32_t deviceid, diveid;
|
2012-06-22 20:37:39 +00:00
|
|
|
dc_device_t *device;
|
2012-08-27 22:06:58 +00:00
|
|
|
dc_context_t *context;
|
2014-07-24 20:59:11 +00:00
|
|
|
struct dive_trip *trip;
|
2011-09-26 20:04:14 +00:00
|
|
|
int preexisting;
|
2013-10-05 07:29:09 +00:00
|
|
|
bool force_download;
|
2014-07-24 20:59:11 +00:00
|
|
|
bool create_new_trip;
|
2013-12-25 00:26:00 +00:00
|
|
|
bool libdc_log;
|
|
|
|
bool libdc_dump;
|
2015-07-06 13:35:13 +00:00
|
|
|
bool bluetooth_mode;
|
2014-01-07 19:38:36 +00:00
|
|
|
FILE *libdc_logfile;
|
2015-01-09 22:39:43 +00:00
|
|
|
struct dive_table *download_table;
|
2011-09-20 19:40:34 +00:00
|
|
|
} device_data_t;
|
|
|
|
|
2015-04-03 19:33:10 +00:00
|
|
|
const char *errmsg (dc_status_t rc);
|
2013-05-20 19:43:33 +00:00
|
|
|
const char *do_libdivecomputer_import(device_data_t *data);
|
2014-10-12 10:57:32 +00:00
|
|
|
const char *do_uemis_import(device_data_t *data);
|
2015-04-03 22:51:38 +00:00
|
|
|
dc_status_t libdc_buffer_parser(struct dive *dive, device_data_t *data, unsigned char *buffer, int size);
|
2015-05-27 19:19:12 +00:00
|
|
|
void logfunc(dc_context_t *context, dc_loglevel_t loglevel, const char *file, unsigned int line, const char *function, const char *msg, void *userdata);
|
2016-12-28 19:55:53 +00:00
|
|
|
dc_descriptor_t *get_descriptor(dc_family_t type, unsigned int model);
|
2011-09-20 19:40:34 +00:00
|
|
|
|
2013-05-20 20:02:17 +00:00
|
|
|
extern int import_thread_cancelled;
|
|
|
|
extern const char *progress_bar_text;
|
|
|
|
extern double progress_bar_fraction;
|
2013-12-25 00:26:00 +00:00
|
|
|
extern char *logfile_name;
|
|
|
|
extern char *dumpfile_name;
|
2015-07-07 18:47:48 +00:00
|
|
|
|
|
|
|
#if SSRF_CUSTOM_SERIAL
|
2016-09-17 15:27:56 +00:00
|
|
|
// WTF. this symbol never shows up at link time
|
|
|
|
//extern dc_custom_serial_t qt_serial_ops;
|
|
|
|
// Thats why I've worked around it with a stupid helper returning it.
|
|
|
|
dc_custom_serial_t* get_qt_serial_ops();
|
|
|
|
extern dc_custom_serial_t serial_ftdi_ops;
|
2015-07-07 18:47:48 +00:00
|
|
|
#endif
|
2013-05-20 20:02:17 +00:00
|
|
|
|
2013-05-20 19:43:33 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
2011-09-20 19:40:34 +00:00
|
|
|
#endif
|
2013-05-20 19:43:33 +00:00
|
|
|
|
2014-02-11 18:14:46 +00:00
|
|
|
#endif // LIBDIVECOMPUTER_H
|