+enum {
+ SIMPLE_TRIGGER = 0,
+ ADV_TRIGGER,
+};
+
+struct ds_trigger {
+ uint16_t trigger_en;
+ uint16_t trigger_mode;
+ uint16_t trigger_pos;
+ uint16_t trigger_stages;
+ unsigned char trigger_logic[TriggerStages+1];
+ unsigned char trigger0_inv[TriggerStages+1];
+ unsigned char trigger1_inv[TriggerStages+1];
+ char trigger0[TriggerStages+1][TriggerProbes];
+ char trigger1[TriggerStages+1][TriggerProbes];
+ uint16_t trigger0_count[TriggerStages+1];
+ uint16_t trigger1_count[TriggerStages+1];
+};
+
+struct ds_trigger_pos {
+ uint32_t real_pos;
+ uint32_t ram_saddr;
+ unsigned char first_block[504];
+};
+
+//struct libusbhp_t;
+typedef void (*libusbhp_hotplug_cb_fn)(struct libusbhp_device_t *device,
+ void *user_data);
+#ifdef __linux__
+#include <libudev.h>
+
+struct dev_list_t {
+ char *path;
+ unsigned short vid;
+ unsigned short pid;
+ struct dev_list_t *next;
+};
+#endif/*__linux__*/
+
+struct libusbhp_t {
+#ifdef __linux__
+ struct udev* hotplug;
+ struct udev_monitor* hotplug_monitor;
+ struct dev_list_t *devlist;
+#endif/*__linux__*/
+#ifdef _WIN32
+ HWND hwnd;
+ HDEVNOTIFY hDeviceNotify;
+ WNDCLASSEX wcex;
+#endif/*_WIN32*/
+ libusbhp_hotplug_cb_fn attach;
+ libusbhp_hotplug_cb_fn detach;
+ void *user_data;
+};
+
+struct libusbhp_device_t {
+ unsigned short idVendor;
+ unsigned short idProduct;
+};
+