* @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]))
/**
const struct sr_input_module *module;
GString *buf;
struct sr_dev_inst *sdi;
+ gboolean sdi_ready;
void *priv;
};
* @retval SR_OK Success
* @retval other Negative error code.
*/
- int (*receive) (const struct sr_input *in, GString *buf);
+ int (*receive) (struct sr_input *in, GString *buf);
/**
* This function is called after the caller is finished using
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 */
gboolean enabled, const char *name);
/* Generic device instances */
-SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int index, int status,
+SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status,
const char *vendor, const char *model, const char *version);
SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi);
const struct sr_datafeed_packet *packet);
SR_PRIV int sr_session_stop_sync(struct sr_session *session);
SR_PRIV int sr_sessionfile_check(const char *filename);
+SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet,
+ struct sr_datafeed_packet **copy);
+SR_PRIV void sr_packet_free(struct sr_datafeed_packet *packet);
/*--- std.c -----------------------------------------------------------------*/
enum {
SERIAL_RDWR = 1,
SERIAL_RDONLY = 2,
- SERIAL_NONBLOCK = 4,
};
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,
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 ------------------------------------------------*/