]> sigrok.org Git - libsigrok.git/blobdiff - sigrok-internal.h
sr: No need for dynamic hardware driver registration.
[libsigrok.git] / sigrok-internal.h
index 63b45a309dc654b25cc4c8454fd028b2092a1845..f0032e98622902858e7dd7693efc983379fdc837 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the sigrok project.
  *
- * Copyright (C) 2011 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2010-2012 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
 /* Size of a datastore chunk in units */
 #define DATASTORE_CHUNKSIZE (512 * 1024)
 
-/*--- hwplugin.c ------------------------------------------------------------*/
-
-SR_PRIV int load_hwplugins(void);
-
 #ifdef HAVE_LIBUSB_1_0
-struct sr_usb_device_instance {
+struct sr_usb_dev_inst {
        uint8_t bus;
        uint8_t address;
        struct libusb_device_handle *devhdl;
 };
 #endif
 
-struct sr_serial_device_instance {
+struct sr_serial_dev_inst {
        char *port;
        int fd;
 };
 
 #ifdef HAVE_LIBUSB_1_0
 /* USB-specific instances */
-SR_PRIV struct sr_usb_device_instance *sr_usb_device_instance_new(uint8_t bus,
+SR_PRIV struct sr_usb_dev_inst *sr_usb_dev_inst_new(uint8_t bus,
                uint8_t address, struct libusb_device_handle *hdl);
-SR_PRIV void sr_usb_device_instance_free(struct sr_usb_device_instance *usb);
+SR_PRIV void sr_usb_dev_inst_free(struct sr_usb_dev_inst *usb);
 #endif
 
 /* Serial-specific instances */
-SR_PRIV struct sr_serial_device_instance *sr_serial_device_instance_new(
+SR_PRIV struct sr_serial_dev_inst *sr_serial_dev_inst_new(
                                        const char *port, int fd);
-SR_PRIV void sr_serial_device_instance_free(
-               struct sr_serial_device_instance *serial);
+SR_PRIV void sr_serial_dev_inst_free(struct sr_serial_dev_inst *serial);
 
 /*--- log.c -----------------------------------------------------------------*/
 
@@ -79,6 +74,25 @@ SR_PRIV int sr_info(const char *format, ...);
 SR_PRIV int sr_warn(const char *format, ...);
 SR_PRIV int sr_err(const char *format, ...);
 
+/*--- hwplugin.c ------------------------------------------------------------*/
+
+SR_PRIV void sr_hw_cleanup_all(void);
+
+/*--- session.c -------------------------------------------------------------*/
+
+SR_PRIV int sr_session_bus(struct sr_dev *dev,
+                          struct sr_datafeed_packet *packet);
+
+/* Generic device instances */
+SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int index, int status,
+               const char *vendor, const char *model, const char *version);
+SR_PRIV struct sr_dev_inst *sr_dev_inst_get(GSList *dev_insts, int dev_index);
+SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi);
+
+SR_PRIV void sr_source_remove(int fd);
+SR_PRIV void sr_source_add(int fd, int events, int timeout,
+                          sr_receive_data_callback rcv_cb, void *user_data);
+
 /*--- hardware/common/serial.c ----------------------------------------------*/
 
 SR_PRIV GSList *list_serial_ports(void);
@@ -105,10 +119,10 @@ SR_PRIV int ezusb_upload_firmware(libusb_device *dev, int configuration,
 /*--- hardware/common/misc.c ------------------------------------------------*/
 
 #ifdef HAVE_LIBUSB_1_0
-SR_PRIV int opendev2(int device_index, struct sr_device_instance **sdi,
+SR_PRIV int opendev2(int dev_index, struct sr_dev_inst **sdi,
                     libusb_device *dev, struct libusb_device_descriptor *des,
                     int *skip, uint16_t vid, uint16_t pid, int interface);
-SR_PRIV int opendev3(struct sr_device_instance **sdi, libusb_device *dev,
+SR_PRIV int opendev3(struct sr_dev_inst **sdi, libusb_device *dev,
                     struct libusb_device_descriptor *des,
                     uint16_t vid, uint16_t pid, int interface);
 #endif