| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #pragma once
- #include "picopass_device.h"
- #include "picopass_keys.h"
- typedef struct PicopassWorker PicopassWorker;
- typedef enum {
- // Init states
- PicopassWorkerStateNone,
- PicopassWorkerStateBroken,
- PicopassWorkerStateReady,
- // Main worker states
- PicopassWorkerStateDetect,
- PicopassWorkerStateWrite,
- PicopassWorkerStateWriteKey,
- PicopassWorkerStateEliteDictAttack,
- PicopassWorkerStateEmulate,
- PicopassWorkerStateLoclass,
- // Transition
- PicopassWorkerStateStop,
- } PicopassWorkerState;
- typedef enum {
- // Reserve first 50 events for application events
- PicopassWorkerEventReserved = 50,
- // Picopass worker common events
- PicopassWorkerEventSuccess,
- PicopassWorkerEventFail,
- PicopassWorkerEventNoCardDetected,
- PicopassWorkerEventSeEnabled,
- PicopassWorkerEventAborted,
- PicopassWorkerEventCardDetected,
- PicopassWorkerEventNewDictKeyBatch,
- PicopassWorkerEventNoDictFound,
- PicopassWorkerEventLoclassGotMac,
- PicopassWorkerEventLoclassGotStandardKey,
- PicopassWorkerEventLoclassFileError,
- } PicopassWorkerEvent;
- typedef void (*PicopassWorkerCallback)(PicopassWorkerEvent event, void* context);
- PicopassWorker* picopass_worker_alloc();
- PicopassWorkerState picopass_worker_get_state(PicopassWorker* picopass_worker);
- void picopass_worker_free(PicopassWorker* picopass_worker);
- void picopass_worker_start(
- PicopassWorker* picopass_worker,
- PicopassWorkerState state,
- PicopassDeviceData* dev_data,
- PicopassWorkerCallback callback,
- void* context);
- void picopass_worker_stop(PicopassWorker* picopass_worker);
|