]> sigrok.org Git - libsigrok.git/blobdiff - libsigrok-internal.h
session: Make sr_session_stop thread-safe
[libsigrok.git] / libsigrok-internal.h
index 048ed74f398f6e2efa60d203d8b1e8ecbaf5b418..bd1b7289e979d3b760c819bec1356b25fe638ae9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * 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
@@ -113,7 +113,8 @@ SR_PRIV void sr_serial_dev_inst_free(struct sr_serial_dev_inst *serial);
 /*--- hwdriver.c ------------------------------------------------------------*/
 
 SR_PRIV void sr_hw_cleanup_all(void);
-SR_PRIV struct sr_config *sr_config_make(int key, const void *value);
+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);
@@ -122,12 +123,17 @@ SR_PRIV int sr_source_add(int fd, int events, int timeout,
 
 SR_PRIV int sr_session_send(const struct sr_dev_inst *sdi,
                            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);
+
 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);