X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libsigrok.h;h=641ca912bf7330e18eeb6326ccacd6e4aa871eaf;hb=f1a14ea7ab390e3d873631eaf0f0f915031b8e6f;hp=bedfbdb75d5de21cb0da1e189b84a583a1fa83af;hpb=80bf04263528998feb17cedc5b7aa9668dbc8d4d;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index bedfbdb7..641ca912 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -250,7 +250,7 @@ struct sr_dev { }; enum { - SR_PROBE_TYPE_LOGIC, + SR_PROBE_LOGIC, }; struct sr_probe { @@ -268,6 +268,8 @@ struct sr_hwopt { /* Hardware driver options */ enum { + SR_HWOPT_DUMMY = 0, /* Used to terminate lists. Must be 0! */ + /** Some drivers cannot detect the exact model they're talking to. */ SR_HWOPT_MODEL, @@ -396,12 +398,14 @@ struct sr_hwcap_option { }; struct sr_dev_inst { + struct sr_dev_driver *driver; int index; int status; int inst_type; char *vendor; char *model; char *version; + GSList *probes; void *priv; }; @@ -432,7 +436,12 @@ enum { /* Device info IDs */ enum { /* struct sr_dev_inst for this specific device */ + /* TODO: obsolete */ SR_DI_INST, + /* A list of options supported by the driver. */ + SR_DI_HWOPTS, + /* A list of capabilities supported by the device. */ + SR_DI_HWCAPS, /* The number of probes connected to this device */ SR_DI_NUM_PROBES, /* The probe names on this device */ @@ -483,12 +492,17 @@ struct sr_dev_driver { /* Device-specific */ int (*dev_open) (int dev_index); int (*dev_close) (int dev_index); + /* TODO remove this */ const void *(*dev_info_get) (int dev_index, int dev_info_id); + int (*info_get) (int dev_info_id, const void **data, + const struct sr_dev_inst *sdi); int (*dev_status_get) (int dev_index); - const int *(*hwcap_get_all) (void); int (*dev_config_set) (int dev_index, int hwcap, const void *value); int (*dev_acquisition_start) (int dev_index, void *session_dev_id); int (*dev_acquisition_stop) (int dev_index, void *session_dev_id); + + /* Dynamic */ + GSList *instances; }; struct sr_session {