+ * Get information about a hardware driver option.
+ *
+ * @param opt The option to get.
+ *
+ * @return A pointer to a struct sr_hwcap_option, or NULL if the option
+ * was not found.
+ */
+SR_API const struct sr_hwcap_option *sr_drvopt_get(int opt)
+{
+ int i;
+
+ for (i = 0; sr_drvopts[i].hwcap; i++) {
+ if (sr_drvopts[i].hwcap == opt)
+ return &sr_drvopts[i];
+ }
+
+ return NULL;
+}
+
+/**
+ * Get information about a hardware driver option, by name.
+ *
+ * @param optname The name of the option to get.
+ *
+ * @return A pointer to a struct sr_hwcap_option, or NULL if the option
+ * was not found.
+ */
+SR_API const struct sr_hwcap_option *sr_drvopt_name_get(const char *optname)
+{
+ int i;
+
+ for (i = 0; sr_drvopts[i].hwcap; i++) {
+ if (!strcmp(sr_drvopts[i].shortname, optname))
+ return &sr_drvopts[i];
+ }
+
+ return NULL;
+}
+
+/**
+ * Get information about a device option.
+ *
+ * @param opt The option to get.
+ *
+ * @return A pointer to a struct sr_hwcap_option, or NULL if the option
+ * was not found.
+ */
+SR_API const struct sr_hwcap_option *sr_devopt_get(int opt)
+{
+ int i;
+
+ for (i = 0; sr_devopts[i].hwcap; i++) {
+ if (sr_devopts[i].hwcap == opt)
+ return &sr_devopts[i];
+ }
+
+ return NULL;
+}
+
+/**
+ * Get information about a device option, by name.