]> sigrok.org Git - libsigrok.git/blobdiff - src/libsigrok-internal.h
serial: Eliminate serial_read(), serial_write() and SERIAL_NONBLOCK.
[libsigrok.git] / src / libsigrok-internal.h
index 092d7d534ec7ccc0b3ca3c6eeec542472fd5b00c..0a4e804ded0ca3544d3f35d73551f3df2911aee7 100644 (file)
@@ -79,7 +79,7 @@
  * @return the corresponding signed integer
  */
 #define RL16S(x)  ((int16_t) \
-                         (((unsigned)((const uint8_t*)(x))[1] <<  8) | \
+                  (((unsigned)((const uint8_t*)(x))[1] <<  8) | \
                     (unsigned)((const uint8_t*)(x))[0]))
 
 /**
@@ -263,8 +263,13 @@ struct sr_input_module {
         *
         * @param[in] metadata Metadata the module can use to identify the stream.
         *
-        * @retval TRUE This module knows the format.
-        * @retval FALSE This module does not know the format.
+        * @retval SR_OK This module knows the format.
+        * @retval SR_OK_CONTINUE There wasn't enough data for this module to
+        *   positively identify the format.
+        * @retval SR_ERR_DATA This module knows the format, but cannot handle it.
+        *   This means the stream is either corrupt, or indicates a feature
+        *   that the module does not support.
+        * @retval SR_ERR This module does not know the format.
         */
        int (*format_match) (GHashTable *metadata);
 
@@ -433,8 +438,6 @@ struct sr_serial_dev_inst {
        char *port;
        /** Comm params for serial_set_paramstr(). */
        char *serialcomm;
-       /** Port is non-blocking. */
-       int nonblocking;
        /** libserialport port handle */
        struct sp_port *data;
        /** libserialport event set */
@@ -511,8 +514,10 @@ SR_PRIV void sr_usbtmc_dev_inst_free(struct sr_usbtmc_dev_inst *usbtmc);
 
 /*--- hwdriver.c ------------------------------------------------------------*/
 
+SR_PRIV const GVariantType *sr_variant_type_get(int datatype);
+SR_PRIV int sr_variant_type_check(uint32_t key, GVariant *data);
 SR_PRIV void sr_hw_cleanup_all(void);
-SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data);
+SR_PRIV struct sr_config *sr_config_new(uint32_t 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_remove_pollfd(GPollFD *pollfd);
@@ -613,7 +618,6 @@ SR_PRIV int soft_trigger_logic_check(struct soft_trigger_logic *st, uint8_t *buf
 enum {
        SERIAL_RDWR = 1,
        SERIAL_RDONLY = 2,
-       SERIAL_NONBLOCK = 4,
 };
 
 typedef gboolean (*packet_valid_callback)(const uint8_t *buf);
@@ -621,14 +625,10 @@ typedef gboolean (*packet_valid_callback)(const uint8_t *buf);
 SR_PRIV int serial_open(struct sr_serial_dev_inst *serial, int flags);
 SR_PRIV int serial_close(struct sr_serial_dev_inst *serial);
 SR_PRIV int serial_flush(struct sr_serial_dev_inst *serial);
-SR_PRIV int serial_write(struct sr_serial_dev_inst *serial,
-               const void *buf, size_t count);
 SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial,
                const void *buf, size_t count);
 SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial,
                const void *buf, size_t count);
-SR_PRIV int serial_read(struct sr_serial_dev_inst *serial, void *buf,
-               size_t count);
 SR_PRIV int serial_read_blocking(struct sr_serial_dev_inst *serial, void *buf,
                size_t count);
 SR_PRIV int serial_read_nonblocking(struct sr_serial_dev_inst *serial, void *buf,
@@ -672,6 +672,7 @@ SR_PRIV int sr_usb_open(libusb_context *usb_ctx, struct sr_usb_dev_inst *usb);
 SR_PRIV int usb_source_add(struct sr_session *session, struct sr_context *ctx,
                int timeout, sr_receive_data_callback cb, void *cb_data);
 SR_PRIV int usb_source_remove(struct sr_session *session, struct sr_context *ctx);
+SR_PRIV int usb_get_port_path(libusb_device *dev, const char *path, int path_len);
 #endif
 
 /*--- hardware/common/scpi.c ------------------------------------------------*/