]> sigrok.org Git - libsigrok.git/blobdiff - hwplugin.c
configure: Add --enable-demo option.
[libsigrok.git] / hwplugin.c
index aaf71b50ce94e840e8bddd5c0266ad58db5ba073..c248476bd1d4321e054641736175c39a3edaf4ca 100644 (file)
@@ -24,6 +24,7 @@
 #include <string.h>
 #include <glib.h>
 #include <sigrok.h>
+#include "config.h"
 
 source_callback_add source_cb_add = NULL;
 source_callback_remove source_cb_remove = NULL;
@@ -37,27 +38,53 @@ GSList *plugins;
  */
 struct hwcap_option hwcap_options[] = {
        {HWCAP_SAMPLERATE, T_UINT64, "Sample rate", "samplerate"},
+       {HWCAP_CAPTURE_RATIO, T_UINT64, "Pre-trigger capture ratio", "captureratio"},
        {0, 0, NULL, NULL},
 };
 
+#ifdef HAVE_LA_DEMO
+extern struct device_plugin demo_plugin_info;
+#endif
+#ifdef HAVE_LA_SALEAE_LOGIC
 extern struct device_plugin saleae_logic_plugin_info;
+#endif
+#ifdef HAVE_LA_OLS
 extern struct device_plugin ols_plugin_info;
+#endif
+#ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
 extern struct device_plugin zeroplus_logic_cube_plugin_info;
+#endif
 #ifdef HAVE_LA_ASIX_SIGMA
 extern struct device_plugin asix_sigma_plugin_info;
 #endif
+#ifdef HAVE_LA_LINK_MSO19
+extern struct device_plugin link_mso19_plugin_info;
+#endif
+
 
 /* TODO: No linked list needed, this can be a simple array. */
 int load_hwplugins(void)
 {
+#ifdef HAVE_LA_DEMO
+       plugins = g_slist_append(plugins, (gpointer *)&demo_plugin_info);
+#endif
+#ifdef HAVE_LA_SALEAE_LOGIC
        plugins =
            g_slist_append(plugins, (gpointer *)&saleae_logic_plugin_info);
+#endif
+#ifdef HAVE_LA_OLS
        plugins = g_slist_append(plugins, (gpointer *)&ols_plugin_info);
+#endif
+#ifdef HAVE_LA_ZEROPLUS_LOGIC_CUBE
        plugins = g_slist_append(plugins,
                           (gpointer *)&zeroplus_logic_cube_plugin_info);
+#endif
 #ifdef HAVE_LA_ASIX_SIGMA
        plugins = g_slist_append(plugins, (gpointer *)&asix_sigma_plugin_info);
 #endif
+#ifdef HAVE_LA_LINK_MSO19
+       plugins = g_slist_append(plugins, (gpointer *)&link_mso19_plugin_info);
+#endif
 
        return SIGROK_OK;
 }
@@ -81,6 +108,7 @@ struct sigrok_device_instance *sigrok_device_instance_new(int index, int status,
        sdi->vendor = strdup(vendor);
        sdi->model = strdup(model);
        sdi->version = strdup(version);
+       sdi->priv = NULL;
        sdi->usb = NULL;
 
        return sdi;