bad_usb_script.h 858 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #ifdef __cplusplus
  3. extern "C" {
  4. #endif
  5. #include <furi.h>
  6. typedef struct BadUsbScript BadUsbScript;
  7. typedef enum {
  8. BadUsbStateInit,
  9. BadUsbStateNotConnected,
  10. BadUsbStateIdle,
  11. BadUsbStateRunning,
  12. BadUsbStateDelay,
  13. BadUsbStateDone,
  14. BadUsbStateScriptError,
  15. BadUsbStateFileError,
  16. } BadUsbWorkerState;
  17. typedef struct {
  18. BadUsbWorkerState state;
  19. uint16_t line_cur;
  20. uint16_t line_nb;
  21. uint32_t delay_remain;
  22. uint16_t error_line;
  23. } BadUsbState;
  24. BadUsbScript* bad_usb_script_open(FuriString* file_path);
  25. void bad_usb_script_close(BadUsbScript* bad_usb);
  26. void bad_usb_script_start(BadUsbScript* bad_usb);
  27. void bad_usb_script_stop(BadUsbScript* bad_usb);
  28. void bad_usb_script_toggle(BadUsbScript* bad_usb);
  29. BadUsbState* bad_usb_script_get_state(BadUsbScript* bad_usb);
  30. #ifdef __cplusplus
  31. }
  32. #endif