add GPL v2+ SPDX header
[project/usbmode.git] / switch.h
1 #ifndef __USBMODE_SWITCH_H
2 #define __USBMODE_SWITCH_H
3
4 #include <libubox/blobmsg.h>
5 #include <libusb.h>
6
7 struct usbdev_data {
8 struct libusb_device_descriptor desc;
9 struct libusb_config_descriptor *config;
10 libusb_device *dev;
11 libusb_device_handle *devh;
12 struct blob_attr *info;
13 int interface;
14 int msg_endpoint;
15 int response_endpoint;
16 int release_delay;
17 int dev_class;
18 bool need_response;
19
20 char idstr[10];
21 char mfg[128], prod[128], serial[128];
22 };
23
24 extern char **messages;
25 extern int *message_len;
26 extern int n_messages;
27 extern struct libusb_context *usb;
28
29 void handle_switch(struct usbdev_data *data);
30
31 #endif