1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef CYPRESS_BOOTLOADER_H_
- #define CYPRESS_BOOTLOADER_H_
- #include "razer_private.h"
- struct cypress {
- struct razer_usb_context usb;
- unsigned int ep_in;
- unsigned int ep_out;
- void (*assign_key)(uint8_t *key);
- };
- #define CYPRESS_BOOT_VENDORID 0x04B4
- #define CYPRESS_BOOT_PRODUCTID 0xE006
- /** is_cypress_bootloader - Check whether an USB device is a cypress bootloader. */
- static inline bool is_cypress_bootloader(struct libusb_device_descriptor *desc)
- {
- return (desc->idVendor == CYPRESS_BOOT_VENDORID &&
- desc->idProduct == CYPRESS_BOOT_PRODUCTID);
- }
- /** cypress_open - Open a device.
- * @c: context structure.
- * @dev: USB device to use (must be a cypress bootloader device).
- * @assign_key: Callback function to assign the 8-byte bootloader key.
- * If NULL, it uses the default key.
- */
- int cypress_open(struct cypress *c, struct libusb_device *dev,
- void (*assign_key)(uint8_t *key));
- /** cypress_close - Close a device. */
- void cypress_close(struct cypress *c);
- /** cypress_upload_image - Upload a firmware image to the device.
- * The device must be opened. */
- int cypress_upload_image(struct cypress *c,
- const char *image, size_t len);
- #endif /* CYPRESS_BOOTLOADER_H_ */
|