nfc_magic_scanner.h 1015 B

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