From: Martin Ling Date: Sun, 21 Sep 2014 20:41:25 +0000 (+0100) Subject: serial: Eliminate serial_read(), serial_write() and SERIAL_NONBLOCK. X-Git-Tag: libsigrok-0.4.0~937 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=98edee7926b9827eec743bbfbfde9025089dc502 serial: Eliminate serial_read(), serial_write() and SERIAL_NONBLOCK. --- diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index 28e26c1a..0a4e804d 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -438,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 */ @@ -620,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); @@ -628,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, diff --git a/src/serial.c b/src/serial.c index 83df6a34..4fe9b88f 100644 --- a/src/serial.c +++ b/src/serial.c @@ -34,7 +34,7 @@ * * @param serial Previously initialized serial port structure. * @param[in] flags Flags to use when opening the serial port. Possible flags - * include SERIAL_RDWR, SERIAL_RDONLY, SERIAL_NONBLOCK. + * include SERIAL_RDWR, SERIAL_RDONLY. * * If the serial structure contains a serialcomm string, it will be * passed to serial_set_paramstr() after the port is opened. @@ -62,8 +62,6 @@ SR_PRIV int serial_open(struct sr_serial_dev_inst *serial, int flags) else if (flags & SERIAL_RDONLY) sp_flags = SP_MODE_READ; - serial->nonblocking = (flags & SERIAL_NONBLOCK) ? 1 : 0; - ret = sp_open(serial->data, sp_flags); switch (ret) { @@ -209,7 +207,7 @@ static int _serial_write(struct sr_serial_dev_inst *serial, } /** - * Write a number of bytes to the specified serial port. + * Write a number of bytes to the specified serial port, blocking until finished. * * @param serial Previously initialized serial port structure. * @param[in] buf Buffer containing the bytes to write. @@ -219,16 +217,6 @@ static int _serial_write(struct sr_serial_dev_inst *serial, * @retval SR_ERR Other error. * @retval other The number of bytes written. */ -SR_PRIV int serial_write(struct sr_serial_dev_inst *serial, - const void *buf, size_t count) -{ - return _serial_write(serial, buf, count, serial->nonblocking); -} - -/** - * Write a number of bytes to the specified serial port, blocking until finished. - * @copydetails serial_write() - */ SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial, const void *buf, size_t count) { @@ -237,7 +225,14 @@ SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial, /** * Write a number of bytes to the specified serial port, return immediately. - * @copydetails serial_write() + * + * @param serial Previously initialized serial port structure. + * @param[in] buf Buffer containing the bytes to write. + * @param[in] count Number of bytes to write. + * + * @retval SR_ERR_ARG Invalid argument. + * @retval SR_ERR Other error. + * @retval other The number of bytes written. */ SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial, const void *buf, size_t count) @@ -284,7 +279,7 @@ static int _serial_read(struct sr_serial_dev_inst *serial, void *buf, } /** - * Read a number of bytes from the specified serial port. + * Read a number of bytes from the specified serial port, block until finished. * * @param serial Previously initialized serial port structure. * @param buf Buffer where to store the bytes that are read. @@ -294,16 +289,6 @@ static int _serial_read(struct sr_serial_dev_inst *serial, void *buf, * @retval SR_ERR Other error. * @retval other The number of bytes read. */ -SR_PRIV int serial_read(struct sr_serial_dev_inst *serial, void *buf, - size_t count) -{ - return _serial_read(serial, buf, count, serial->nonblocking); -} - -/** - * Read a number of bytes from the specified serial port, block until finished. - * @copydetails serial_read() - */ SR_PRIV int serial_read_blocking(struct sr_serial_dev_inst *serial, void *buf, size_t count) { @@ -313,7 +298,14 @@ SR_PRIV int serial_read_blocking(struct sr_serial_dev_inst *serial, void *buf, /** * Try to read up to @a count bytes from the specified serial port, return * immediately with what's available. - * @copydetails serial_read() + * + * @param serial Previously initialized serial port structure. + * @param buf Buffer where to store the bytes that are read. + * @param[in] count The number of bytes to read. + * + * @retval SR_ERR_ARG Invalid argument. + * @retval SR_ERR Other error. + * @retval other The number of bytes read. */ SR_PRIV int serial_read_nonblocking(struct sr_serial_dev_inst *serial, void *buf, size_t count)