nfc_magic_scanner.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include "protocols/gen4/gen4.h"
  3. #include <nfc/nfc.h>
  4. #include "protocols/nfc_magic_protocols.h"
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. typedef enum {
  9. NfcMagicScannerEventTypeDetected,
  10. NfcMagicScannerEventTypeDetectedNotMagic,
  11. NfcMagicScannerEventTypeNotDetected,
  12. } NfcMagicScannerEventType;
  13. typedef struct {
  14. NfcMagicProtocol protocol;
  15. } NfcMagicScannerEventData;
  16. typedef struct {
  17. NfcMagicScannerEventType type;
  18. NfcMagicScannerEventData data;
  19. } NfcMagicScannerEvent;
  20. typedef void (*NfcMagicScannerCallback)(NfcMagicScannerEvent event, void* context);
  21. typedef struct NfcMagicScanner NfcMagicScanner;
  22. NfcMagicScanner* nfc_magic_scanner_alloc(Nfc* nfc);
  23. void nfc_magic_scanner_free(NfcMagicScanner* instance);
  24. void nfc_magic_scanner_set_gen4_password(NfcMagicScanner* instance, Gen4Password password);
  25. void nfc_magic_scanner_start(
  26. NfcMagicScanner* instance,
  27. NfcMagicScannerCallback callback,
  28. void* context);
  29. void nfc_magic_scanner_stop(NfcMagicScanner* instance);
  30. Gen4* nfc_magic_scanner_get_gen4_data(NfcMagicScanner* instance);
  31. #ifdef __cplusplus
  32. }
  33. #endif