X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb/blobdiff_plain/813afd1296fd1ead02d4292705831e10dd3fcf5d..5aa2bb3eb67f181638ac7c0243beba7974e2b0b0:/hmcfgusb.h diff --git a/hmcfgusb.h b/hmcfgusb.h index 41e7e93..42e2eac 100644 --- a/hmcfgusb.h +++ b/hmcfgusb.h @@ -1,6 +1,6 @@ /* HM-CFG-USB libusb-driver * - * Copyright (c) 2013 Michael Gernoth + * Copyright (c) 2013-16 Michael Gernoth * * 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,10 +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);