* Serial port handling, wraps the external libserialport dependency.
*/
+#ifdef HAVE_LIBSERIALPORT
+
/**
* @defgroup grp_serial_libsp Serial port handling, libserialport group
*
* @{
*/
-SR_PRIV int sr_ser_libsp_open(struct sr_serial_dev_inst *serial, int flags)
+static int sr_ser_libsp_open(struct sr_serial_dev_inst *serial, int flags)
{
int ret;
char *error;
return SR_OK;
}
-SR_PRIV int sr_ser_libsp_close(struct sr_serial_dev_inst *serial)
+static int sr_ser_libsp_close(struct sr_serial_dev_inst *serial)
{
int ret;
char *error;
return SR_OK;
}
-SR_PRIV int sr_ser_libsp_flush(struct sr_serial_dev_inst *serial)
+static int sr_ser_libsp_flush(struct sr_serial_dev_inst *serial)
{
int ret;
char *error;
return SR_OK;
}
-SR_PRIV int sr_ser_libsp_drain(struct sr_serial_dev_inst *serial)
+static int sr_ser_libsp_drain(struct sr_serial_dev_inst *serial)
{
int ret;
char *error;
return SR_OK;
}
-SR_PRIV int sr_ser_libsp_write(struct sr_serial_dev_inst *serial,
+static int sr_ser_libsp_write(struct sr_serial_dev_inst *serial,
const void *buf, size_t count,
int nonblocking, unsigned int timeout_ms)
{
return ret;
}
-SR_PRIV int sr_ser_libsp_read(struct sr_serial_dev_inst *serial,
+static int sr_ser_libsp_read(struct sr_serial_dev_inst *serial,
void *buf, size_t count,
int nonblocking, unsigned int timeout_ms)
{
return ret;
}
-SR_PRIV int sr_ser_libsp_set_params(struct sr_serial_dev_inst *serial,
+static 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)
{
return SR_OK;
}
-SR_PRIV int sr_ser_libsp_source_add(struct sr_session *session,
+static 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)
{
timeout, cb, cb_data);
}
-SR_PRIV int sr_ser_libsp_source_remove(struct sr_session *session,
+static int sr_ser_libsp_source_remove(struct sr_session *session,
struct sr_serial_dev_inst *serial)
{
void *key;
return sr_session_source_remove_internal(session, key);
}
-SR_PRIV GSList *sr_ser_libsp_list(GSList *list, sr_ser_list_append_t append)
+static GSList *sr_ser_libsp_list(GSList *list, sr_ser_list_append_t append)
{
struct sp_port **ports;
size_t i;
return list;
}
-SR_PRIV GSList *sr_ser_libsp_find_usb(GSList *list, sr_ser_find_append_t append,
+static GSList *sr_ser_libsp_find_usb(GSList *list, sr_ser_find_append_t append,
uint16_t vendor_id, uint16_t product_id)
{
struct sp_port **ports;
return list;
}
-SR_PRIV int sr_ser_libsp_get_frame_format(struct sr_serial_dev_inst *serial,
+static int sr_ser_libsp_get_frame_format(struct sr_serial_dev_inst *serial,
int *baud, int *bits)
{
struct sp_port_config *config;
return ret;
}
-SR_PRIV size_t sr_ser_libsp_get_rx_avail(struct sr_serial_dev_inst *serial)
+static size_t sr_ser_libsp_get_rx_avail(struct sr_serial_dev_inst *serial)
{
int rc;
return rc;
}
+
+static struct ser_lib_functions serlib_sp = {
+ .open = sr_ser_libsp_open,
+ .close = sr_ser_libsp_close,
+ .flush = sr_ser_libsp_flush,
+ .drain = sr_ser_libsp_drain,
+ .write = sr_ser_libsp_write,
+ .read = sr_ser_libsp_read,
+ .set_params = sr_ser_libsp_set_params,
+ .setup_source_add = sr_ser_libsp_source_add,
+ .setup_source_remove = sr_ser_libsp_source_remove,
+ .list = sr_ser_libsp_list,
+ .find_usb = sr_ser_libsp_find_usb,
+ .get_frame_format = sr_ser_libsp_get_frame_format,
+ .get_rx_avail = sr_ser_libsp_get_rx_avail,
+};
+SR_PRIV struct ser_lib_functions *ser_lib_funcs_libsp = &serlib_sp;
+
+#else
+
+SR_PRIV struct ser_lib_functions *ser_lib_funcs_libsp = NULL;
+
+#endif