]> git.zerfleddert.de Git - hmcfgusb/blobdiff - hmcfgusb.h
Cleanup: Improve const correctness
[hmcfgusb] / hmcfgusb.h
index e33f6e68fb051c55316d28dd9bf07b5b6c364a71..42e2eac0ec397af8b079ba185289fd9c2bf05391 100644 (file)
@@ -1,6 +1,6 @@
 /* HM-CFG-USB libusb-driver
  *
- * Copyright (c) 2013 Michael Gernoth <michael@gernoth.net>
+ * Copyright (c) 2013-16 Michael Gernoth <michael@gernoth.net>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-typedef void (*hmcfgusb_cb_fn)(uint8_t *buf, int buf_len, void *data);
+typedef int (*hmcfgusb_cb_fn)(uint8_t *buf, int buf_len, void *data);
 
 struct hmcfgusb_dev {
        libusb_device_handle *usb_devh;
@@ -29,11 +29,17 @@ struct hmcfgusb_dev {
        int n_usb_pfd;
        struct pollfd *pfd;
        int n_pfd;
+       int bootloader;
+       time_t opened_at;
 };
 
 int hmcfgusb_send(struct hmcfgusb_dev *usbdev, unsigned char* send_data, int len, int done);
-struct hmcfgusb_dev *hmcfgusb_init(hmcfgusb_cb_fn cb, void *data);
+int hmcfgusb_send_null_frame(struct hmcfgusb_dev *usbdev, int silent);
+struct hmcfgusb_dev *hmcfgusb_init(hmcfgusb_cb_fn cb, void *data, char *serial);
 int hmcfgusb_add_pfd(struct hmcfgusb_dev *dev, int fd, short events);
 int hmcfgusb_poll(struct hmcfgusb_dev *dev, int timeout);
+void hmcfgusb_enter_bootloader(struct hmcfgusb_dev *dev);
+void hmcfgusb_leave_bootloader(struct hmcfgusb_dev *dev);
 void hmcfgusb_close(struct hmcfgusb_dev *dev);
+void hmcfgusb_exit(void);
 void hmcfgusb_set_debug(int d);
Impressum, Datenschutz