mousejacker_ducky.h 814 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. #include <stdint.h>
  5. #include <furi_hal_spi.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include <nrf24.h>
  9. #include <furi.h>
  10. #include <furi_hal.h>
  11. #include <toolbox/stream/file_stream.h>
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. typedef struct {
  16. char* name;
  17. uint8_t hid;
  18. uint8_t mod;
  19. } MJDuckyKey;
  20. typedef struct {
  21. FuriMutex* mutex;
  22. bool ducky_err;
  23. bool addr_err;
  24. bool is_thread_running;
  25. bool is_ducky_running;
  26. bool close_thread_please;
  27. Storage* storage;
  28. FuriThread* mjthread;
  29. Stream* file_stream;
  30. } PluginState;
  31. void mj_process_ducky_script(
  32. FuriHalSpiBusHandle* handle,
  33. uint8_t* addr,
  34. uint8_t addr_size,
  35. uint8_t rate,
  36. char* script,
  37. PluginState* plugin_state);
  38. #ifdef __cplusplus
  39. }
  40. #endif