From: Uwe Hermann Date: Tue, 11 Nov 2014 11:24:08 +0000 (+0100) Subject: Make 'struct sr_dev_inst' opaque. X-Git-Tag: libsigrok-0.4.0~809 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=96727ef016b9fd26a37691008243182c5a52cb60 Make 'struct sr_dev_inst' opaque. --- diff --git a/include/libsigrok/libsigrok.h b/include/libsigrok/libsigrok.h index 746ee374..d626bac6 100644 --- a/include/libsigrok/libsigrok.h +++ b/include/libsigrok/libsigrok.h @@ -892,36 +892,12 @@ enum sr_configkey { SR_CONF_TEST_MODE, }; -/** Device instance data +/** + * Opaque structure representing a libsigrok device instance. + * + * None of the fields of this structure are meant to be accessed directly. */ -struct sr_dev_inst { - /** Device driver. */ - struct sr_dev_driver *driver; - /** Device instance status. SR_ST_NOT_FOUND, etc. */ - int status; - /** Device instance type. SR_INST_USB, etc. */ - int inst_type; - /** Device vendor. */ - char *vendor; - /** Device model. */ - char *model; - /** Device version. */ - char *version; - /** Serial number. */ - char *serial_num; - /** Connection string to uniquely identify devices. */ - char *connection_id; - /** List of channels. */ - GSList *channels; - /** List of sr_channel_group structs */ - GSList *channel_groups; - /** Device instance connection data (used?) */ - void *conn; - /** Device instance private data (used?) */ - void *priv; - /** Session to which this device is currently assigned. */ - struct sr_session *session; -}; +struct sr_dev_inst; /** Types of device instance, struct sr_dev_inst.type */ enum sr_dev_inst_type { diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index 432a4c21..9e393f42 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -490,6 +490,36 @@ enum { SR_PRIV struct sr_channel *sr_channel_new(int index, int type, gboolean enabled, const char *name); +/** Device instance data */ +struct sr_dev_inst { + /** Device driver. */ + struct sr_dev_driver *driver; + /** Device instance status. SR_ST_NOT_FOUND, etc. */ + int status; + /** Device instance type. SR_INST_USB, etc. */ + int inst_type; + /** Device vendor. */ + char *vendor; + /** Device model. */ + char *model; + /** Device version. */ + char *version; + /** Serial number. */ + char *serial_num; + /** Connection string to uniquely identify devices. */ + char *connection_id; + /** List of channels. */ + GSList *channels; + /** List of sr_channel_group structs */ + GSList *channel_groups; + /** Device instance connection data (used?) */ + void *conn; + /** Device instance private data (used?) */ + void *priv; + /** Session to which this device is currently assigned. */ + struct sr_session *session; +}; + /* Generic device instances */ SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status, const char *vendor, const char *model, const char *version);