hardware_worker.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #pragma once
  2. // typedef HwProtocolID HwProtocolID;
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #if defined(RFID_125_PROTOCOL)
  6. #include <lib/lfrfid/lfrfid_dict_file.h>
  7. typedef ProtocolId HwProtocolID;
  8. #else
  9. #include <lib/ibutton/protocols/protocol_common.h>
  10. typedef iButtonProtocolId HwProtocolID;
  11. #endif
  12. #include "../protocol_i.h" // TODO DROP
  13. typedef struct HardwareWorker HardwareWorker;
  14. HardwareWorker* hardware_worker_alloc();
  15. void hardware_worker_free(HardwareWorker* instance);
  16. void hardware_worker_start_thread(HardwareWorker* instance);
  17. void hardware_worker_stop_thread(HardwareWorker* instance);
  18. void hardware_worker_emulate_start(HardwareWorker* instance);
  19. void hardware_worker_stop(HardwareWorker* instance);
  20. void hardware_worker_set_protocol_data(
  21. HardwareWorker* instance,
  22. uint8_t* payload,
  23. uint8_t payload_size);
  24. void hardware_worker_get_protocol_data(
  25. HardwareWorker* instance,
  26. uint8_t* payload,
  27. uint8_t payload_size);
  28. bool hardware_worker_set_protocol_id_by_name(HardwareWorker* instance, const char* protocol_name);
  29. HwProtocolID hardware_worker_get_protocol_id(HardwareWorker* instance);
  30. bool hardware_worker_load_key_from_file(
  31. HardwareWorker* instance,
  32. FuzzerProtocolsID protocol_index,
  33. const char* filename);