X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=a6497c958ac86b725c753f8f182aec562d53bd9d;hb=8c3df6e5cd3d23bf01807e6296f7b7a9f8475902;hp=053ee4dfeadde7fad1d258fa48b57c447df09287;hpb=dcd212f7a2c9b9acba649dea782ee358e1dfbeb5;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index 053ee4df..a6497c95 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -35,6 +35,7 @@ #endif #include #include +#include struct zip; struct zip_stat; @@ -726,6 +727,12 @@ struct sr_serial_dev_inst { char *port; /** Comm params for serial_set_paramstr(). */ char *serialcomm; + struct { + int bit_rate; + int data_bits; + int parity_bits; + int stop_bits; + } comm_params; /** libserialport port handle */ struct sp_port *sp_data; }; @@ -1064,10 +1071,15 @@ enum { typedef gboolean (*packet_valid_callback)(const uint8_t *buf); +typedef GSList *(*sr_ser_list_append_t)(GSList *devs, const char *name, + const char *desc); +typedef GSList *(*sr_ser_find_append_t)(GSList *devs, const char *name); + 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_drain(struct sr_serial_dev_inst *serial); +SR_PRIV size_t serial_has_receive_data(struct sr_serial_dev_inst *serial); SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial, const void *buf, size_t count, unsigned int timeout_ms); SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial, @@ -1096,6 +1108,32 @@ SR_PRIV int serial_source_remove(struct sr_session *session, struct sr_serial_dev_inst *serial); SR_PRIV GSList *sr_serial_find_usb(uint16_t vendor_id, uint16_t product_id); SR_PRIV int serial_timeout(struct sr_serial_dev_inst *port, int num_bytes); + +SR_PRIV int sr_ser_libsp_open(struct sr_serial_dev_inst *serial, int flags); +SR_PRIV int sr_ser_libsp_close(struct sr_serial_dev_inst *serial); +SR_PRIV int sr_ser_libsp_flush(struct sr_serial_dev_inst *serial); +SR_PRIV int sr_ser_libsp_drain(struct sr_serial_dev_inst *serial); +SR_PRIV int sr_ser_libsp_write(struct sr_serial_dev_inst *serial, + const void *buf, size_t count, + int nonblocking, unsigned int timeout_ms); +SR_PRIV int sr_ser_libsp_read(struct sr_serial_dev_inst *serial, + void *buf, size_t count, + int nonblocking, unsigned int timeout_ms); +SR_PRIV int sr_ser_libsp_set_params(struct sr_serial_dev_inst *serial, + int baudrate, int bits, int parity, int stopbits, + int flowcontrol, int rts, int dtr); +SR_PRIV int sr_ser_libsp_source_add(struct sr_session *session, + struct sr_serial_dev_inst *serial, + int events, int timeout, + sr_receive_data_callback cb, void *cb_data); +SR_PRIV int sr_ser_libsp_source_remove(struct sr_session *session, + struct sr_serial_dev_inst *serial); +SR_PRIV GSList *sr_ser_libsp_list(GSList *list, sr_ser_list_append_t append); +SR_PRIV GSList *sr_ser_libsp_find_usb(GSList *list, sr_ser_find_append_t append, + uint16_t vendor_id, uint16_t product_id); +SR_PRIV int sr_ser_libsp_get_frame_format(struct sr_serial_dev_inst *serial, + int *baud, int *bits); +SR_PRIV size_t sr_ser_libsp_get_rx_avail(struct sr_serial_dev_inst *serial); #endif /*--- ezusb.c ---------------------------------------------------------------*/