/*
* This file is part of the sigrok project.
*
- * Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2013 Bert Vermeulen <bert@biot.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a)
#endif
-/* Versions < 2.30.0 of glib don't have g_match_info_unref(). */
-#if !GLIB_CHECK_VERSION(2,30,0)
-#define g_match_info_unref g_match_info_free
-#endif
-
-/* Size of a datastore chunk in units */
-#define DATASTORE_CHUNKSIZE (512 * 1024)
-
struct sr_context {
#ifdef HAVE_LIBUSB_1_0
libusb_context *libusb_ctx;
/*--- hwdriver.c ------------------------------------------------------------*/
SR_PRIV void sr_hw_cleanup_all(void);
+SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data);
+SR_PRIV void sr_config_free(struct sr_config *src);
SR_PRIV int sr_source_remove(int fd);
SR_PRIV int sr_source_add(int fd, int events, int timeout,
- sr_receive_data_callback_t cb, void *cb_data);
+ sr_receive_data_callback_t cb, void *cb_data);
/*--- session.c -------------------------------------------------------------*/
SR_PRIV int sr_session_send(const struct sr_dev_inst *sdi,
- const struct sr_datafeed_packet *packet);
+ const struct sr_datafeed_packet *packet);
+SR_PRIV int sr_session_stop_sync(void);
+
+/*--- std.c -----------------------------------------------------------------*/
+
+typedef int (*dev_close_t)(struct sr_dev_inst *sdi);
+typedef void (*std_dev_clear_t)(void *priv);
+
+SR_PRIV int std_hw_init(struct sr_context *sr_ctx, struct sr_dev_driver *di,
+ const char *prefix);
+SR_PRIV int std_hw_dev_acquisition_stop_serial(struct sr_dev_inst *sdi,
+ void *cb_data, dev_close_t hw_dev_close_fn,
+ struct sr_serial_dev_inst *serial, const char *prefix);
+SR_PRIV int std_session_send_df_header(const struct sr_dev_inst *sdi,
+ const char *prefix);
+SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver,
+ std_dev_clear_t clear_private);
/*--- hardware/common/serial.c ----------------------------------------------*/
#define RS9LCD_PACKET_SIZE 9
/* Dummy info struct. The parser does not use it. */
-struct rs9lcd_info {};
+struct rs9lcd_info { int dummy; };
SR_PRIV gboolean sr_rs9lcd_packet_valid(const uint8_t *buf);
SR_PRIV int sr_rs9lcd_parse(const uint8_t *buf, float *floatval,