bad_usb_script.h 877 B

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