SDK Readers 1.0.1
SDK для связи со считывателями Iron logic
ilreaders.h
См. документацию.
1
30#ifndef ILREADERS_H_INCLUDED
31#define ILREADERS_H_INCLUDED
32#include <stdint.h> // для uint8_t
33#include <string.h> // для memcpy, memset и memcmp
34
36// #define ILREADERS_LINKONREQUEST
37
38#ifndef ILREADERS_LINKONREQUEST
39#ifdef ILR_STATIC_LIB
40#define ILR_API
41#elif defined(_WIN32) || defined(__CYGWIN__)
42#ifdef ILREADERS_EXPORTS
43#define ILR_API __declspec(dllexport)
44#else
45#define ILR_API __declspec(dllimport)
46#endif
47#else // non Windows
48#define ILR_API
49#endif // ILR_STATIC_LIB
50#endif // !ILREADERS_LINKONREQUEST
51
53#if defined(_WIN32) || defined(__CYGWIN__)
54#define ILR_CALL WINAPI
55#else
56#define ILR_CALL
57#endif /* _WIN32 || __CYGWIN__ */
58
67#define ILR_VERSION_MAJOR 1
75#define ILR_VERSION_MINOR 0
83#define ILR_VERSION_PATCH 1
88#define ILR_VERSION \
89 ((ILR_VERSION_MAJOR << 24) | (ILR_VERSION_MINOR << 16) | (ILR_VERSION_PATCH << 8) | 0xC0)
90
92#define ILR_VERSION_GET_MAJOR(v) ((v) >> 24)
94#define ILR_VERSION_GET_MINOR(v) (((v) >> 16) & 0xff)
96#define ILR_VERSION_GET_PATCH(v) (((v) >> 8) & 0xff)
105#define ILR_AUTOALLOCATE 0xffffffff
106
108typedef void* ilr_handle;
109
111typedef enum : int {
113 ILR_TRUE
115
121typedef enum {
187
194#define ILR_SUCCEEDED(status) ((status) == ILR_OK)
195
202#define ILR_FAILED(status) ((status) != ILR_OK)
203
211typedef enum {
241
243typedef enum {
259
261typedef enum {
271
288
295typedef struct {
299 const char* pszPortName;
302 const char* pszConnect;
306 int nSn;
310 uint32_t nFwVersion;
317
319typedef enum {
325
332
338
344
353
370typedef void(ILR_CALL* ilr_logging_callback)(ilr_log_level nLevel, const char* pContext,
371 const char* pMessage, void* pUserData);
372
378typedef struct {
392
404 const char* pszPortName, void* pUserData);
405
410typedef enum {
432
444typedef void(ILR_CALL* ilr_search_message_callback)(ilr_search_msg nMsg, const void* pMsgData,
445 void* pUserData);
446
451typedef enum : uint32_t {
467 ILR_READER_CCID = (1 << 4)
469
474typedef struct {
479 uint32_t nReaderTypes;
497
502typedef enum {
523
535typedef void(ILR_CALL* ilr_reader_message_callback)(ilr_reader_msg nMsg, const void* pMsgData,
536 void* pUserData);
537
542typedef enum {
543 ILR_CONNECTION_DISCONNECTED,
547
552typedef struct __attribute__((packed)) {
553 uint8_t nLength;
554
555 union {
556 uint8_t aBytes[15];
557
558 struct __attribute__((packed)) {
559 uint16_t nNumber;
560 uint8_t nSeries;
561 uint16_t nFacility;
562 } em_marine;
563 };
564} ilr_card_uid;
565
570typedef enum : int8_t {
577
582typedef enum : uint8_t {
591
596typedef struct {
598 ilr_card_uid rUID;
599 uint32_t nMemSize;
603 ilr_card_uid rUID2;
605
610typedef int64_t ilr_mf_classic_key;
611
616typedef struct {
617 union {
618 uint8_t a[16];
619
620 struct {
621 uint64_t lo;
622 uint64_t hi;
623 } ll;
624 };
626
631typedef struct {
632 uint8_t a[16] = {0};
634
640typedef enum : uint32_t {
641 ILR_RWCT_F_TEMIC = (1 << 0),
646 ILR_RWCT_F_MF_PLUS = (1 << 5)
648
650/* @{ */
651#define MAKE_TEMIC_SCAN_PARAM(type, speed) (int)(((uint)((speed)&0xff) << 8) | ((type)&0xff))
653#define TYPE_FROM_TEMIC_SCAN_PARAM(param) (uint8_t)((param)&0xff)
655#define SPEED_FROM_TEMIC_SCAN_PARAM(param) (uint8_t)(((uint)(param) >> 8) & 0xff)
656
663typedef struct {
666
669
675
676#ifdef __cplusplus
677extern "C" {
678#endif
679
680#ifndef ILREADERS_LINKONREQUEST
681
689
700
713
732 void* pUserData = nullptr);
733
746
753inline bool ilr_check_version() {
754 auto v = ilr_get_version();
755 return ((((v >> 24) & 0xff) == ILR_VERSION_MAJOR) &&
756 ((int)((v >> 16) & 0xff) >= ILR_VERSION_MINOR));
757}
758
780ILR_API ilr_status ILR_CALL ilr_init(uint32_t nVersionRequested = ILR_VERSION);
781
796
803
811
828 void* pUserData = nullptr);
829
840
851
866
882ILR_API ilr_status ILR_CALL ilr_get_reader(ilr_port_type nPortType, const char* pszPortName,
883 ilr_handle* pReader);
884
905 void* pUserData = nullptr);
906
929 ilr_bool fEnable = ILR_TRUE);
930
945 const void** pMsgData, ilr_bool* pFound);
946
961 const ilr_search_options* pOptions);
962
974 ilr_search_options* pOptions);
975
993 size_t nCount);
994
1019 size_t* pSize);
1020
1037 ilr_status* pStatus);
1038
1053
1066 ilr_handle* pCommand);
1067
1082
1098 ilr_reader_info* pInfo);
1099
1116 ilr_bool fEnable = ILR_TRUE,
1117 ilr_bool fWait = ILR_TRUE);
1118
1131 ilr_handle* pCommand);
1132
1144
1160 const char* pszPortName, ilr_reader_info* pInfo,
1161 int* pPort);
1162
1174 const char* pszPortName,
1175 ilr_handle* pCommand);
1176
1187 ilr_reader_info* pInfo);
1188
1203 const char* pszPortName, int hPort);
1204
1217 const char* pszPortName, int hPortFD,
1218 ilr_handle* pCommand);
1219
1240 void* pUserData = nullptr);
1241
1264 ilr_bool fEnable = ILR_TRUE);
1265
1280 const void** pMsgData, ilr_bool* pFound);
1281
1293 const ilr_reader_options* pOptions);
1294
1306 ilr_reader_options* pOptions);
1307
1321
1334 ilr_handle* pCommand);
1335
1348
1360
1372 ilr_connection_status* pStatus);
1373
1388
1403 ilr_bool fPowerOff = ILR_TRUE);
1404
1418 ilr_bool fPowerOff, ilr_handle* pCommand);
1419
1431
1449 ilr_bool fEnable = ILR_TRUE,
1450 ilr_bool fWait = ILR_TRUE);
1451
1464 ilr_handle* pCommand);
1465
1477
1494 uint32_t* pBuf, size_t nPageCount,
1495 size_t* pRead = nullptr);
1496
1510 size_t nPageCount,
1511 ilr_handle* pCommand);
1512
1526 const uint32_t** ppList,
1527 size_t* pRead);
1528
1545 const uint32_t* pData, size_t nPageCount,
1546 size_t* pWritten = nullptr);
1547
1562 size_t nPageIdx,
1563 const uint32_t* pData,
1564 size_t nPageCount,
1565 ilr_handle* pCommand);
1566
1578 size_t* pWritten);
1579
1591 const ilr_mf_classic_key& nKey);
1592
1604 const ilr_mf_plus_key& rKey);
1605
1624 ilr_bool fKeyB, ilr_bool* pAuthOk);
1625
1640 ilr_bool fKeyB, ilr_handle* pCommand);
1641
1653
1670 ilr_bool fKeyB, uint32_t nKeys = 0xFFFF,
1671 int* pFoundIdx = nullptr);
1672
1688 ilr_bool fKeyB, uint32_t nKeys,
1689 ilr_handle* pCommand);
1690
1702
1719 ilr_mf_block_data* pBuf, size_t nBlockCount,
1720 size_t* pRead = nullptr);
1721
1735 size_t nBlockCount,
1736 ilr_handle* pCommand);
1737
1751 const ilr_mf_block_data** ppList,
1752 size_t* pRead);
1753
1770 const ilr_mf_block_data* pData,
1771 size_t nBlockCount,
1772 size_t* pWritten = nullptr);
1773
1788 const ilr_mf_block_data* pData,
1789 size_t nBlockCount,
1790 ilr_handle* pCommand);
1791
1803
1821 ilr_mf_block_data* pBuf, size_t nBlockCount,
1822 ilr_bool fOpenText = ILR_TRUE,
1823 size_t* pRead = nullptr);
1824
1839 size_t nBlockCount, ilr_bool fOpenText,
1840 ilr_handle* pCommand);
1841
1855 const ilr_mf_block_data** ppList,
1856 size_t* pRead);
1857
1875 const ilr_mf_block_data* pData,
1876 size_t nBlockCount,
1877 ilr_bool fOpenText = ILR_TRUE,
1878 size_t* pWritten = nullptr);
1879
1895 const ilr_mf_block_data* pData,
1896 size_t nBlockCount, ilr_bool fOpenText,
1897 ilr_handle* pCommand);
1898
1910
1926 uint32_t nValue);
1927
1942 uint32_t nValue, ilr_handle* pCommand);
1943
1959 uint32_t nValue);
1960
1975 uint32_t nValue, ilr_handle* pCommand);
1976
1990
2003 ilr_handle* pCommand);
2004
2018
2031 ilr_handle* pCommand);
2032
2045
2063 uint16_t* pATQ, ilr_card_uid* pUID, ilr_bool* pFound);
2064
2080 const ilr_card_uid& rUID, ilr_bool* pFound);
2081
2094
2108ILR_API ilr_status ILR_CALL ilr_reader_mf_rats(ilr_handle hReader, uint8_t* pAtsBuf = nullptr,
2109 size_t* pSize = nullptr);
2110
2125 const ilr_mf_plus_key& rKey);
2126
2139
2157 ilr_bool fKeyB,
2158 const ilr_mf_classic_key* pKeys, size_t nCount,
2159 size_t* pWritten = nullptr);
2160
2177 ilr_bool fKeyB,
2178 const ilr_mf_classic_key* pKeys,
2179 size_t nCount, ilr_handle* pCommand);
2180
2192
2210 ilr_bool fKeyB, const ilr_mf_plus_key* pKeys,
2211 size_t nCount, size_t* pWritten = nullptr);
2212
2229 ilr_bool fKeyB,
2230 const ilr_mf_plus_key* pKeys,
2231 size_t nCount, ilr_handle* pCommand);
2232
2244
2256 const int64_t& nPassword);
2257
2271
2284 ilr_handle* pCommand);
2285
2300 ilr_bool fEnable = ILR_TRUE);
2301
2313
2331 uint32_t* pBuf, size_t nBlockCount,
2332 int nScanParam = -1, size_t* pRead = nullptr);
2333
2348 size_t nBlockCount, int nScanParam,
2349 ilr_handle* pCommand);
2350
2364 size_t* pRead);
2365
2384 const uint32_t* pData, size_t nBlockCount,
2385 ilr_bool fLock = ILR_FALSE, int nScanParam = -1,
2386 size_t* pWritten = nullptr);
2387
2404 const uint32_t* pData, size_t nBlockCount,
2405 ilr_bool fLock, int nScanParam,
2406 ilr_handle* pCommand);
2407
2419
2434
2446
2458
2468ILR_API ilr_status ILR_CALL ilr_encode_temic_emmarine(const ilr_card_uid& rUID, uint32_t* pBuf3,
2469 size_t nBlockCount);
2470
2482ILR_API ilr_status ILR_CALL ilr_decode_temic_emmarine(const uint32_t* pData3, size_t nBlockCount,
2483 ilr_card_uid* pUID,
2484 ilr_bool* pConfigOk = nullptr);
2485
2496ILR_API ilr_status ILR_CALL ilr_encode_temic_hid(const ilr_card_uid& rUID, uint32_t* pBuf4,
2497 size_t nBlockCount, int nWiegand);
2498
2510ILR_API ilr_status ILR_CALL ilr_decode_temic_hid(const uint32_t* pData4, size_t nBlockCount,
2511 ilr_card_uid* pUID, int* pWiegand,
2512 ilr_bool* pConfigOk = nullptr);
2513
2522
2533
2544 size_t* pTotal);
2545
2546#endif // !ILREADERS_LINKONREQUEST
2547
2548#ifdef __cplusplus
2549} /* extern "C" */
2550#endif
2551
2552#endif // ILREADERS_H_INCLUDED
ILR_API ilr_status ILR_CALL ilr_set_options(const ilr_options *pOptions)
Устанавливает глобальные настройки библиотеки.
#define ILR_VERSION_MAJOR
Основной номер версии библиотеки SDK Readers.
Definition: ilreaders.h:67
ILR_API const char *ILR_CALL ilr_get_error_text(ilr_status nErrorCode)
Возвращает описание ошибки по её коду.
#define ILR_VERSION_MINOR
Минорный номер версии библиотеки SDK Readers.
Definition: ilreaders.h:75
bool ilr_check_version()
Проверяет версию SDK.
Definition: ilreaders.h:753
ILR_API ilr_status ILR_CALL ilr_cleanup()
Освобождает ресурсы библиотеки.
ILR_API ilr_status ILR_CALL ilr_set_log_level(ilr_log_level nLevel)
Устанавливает уровень лога отладки.
#define ILR_VERSION
Полный номер версии библиотеки SDK Readers.
Definition: ilreaders.h:88
ILR_API ilr_status ILR_CALL ilr_init(uint32_t nVersionRequested=ILR_VERSION)
Инициализирует библиотеку SDK Readers.
ILR_API uint32_t ILR_CALL ilr_get_version()
Возвращает номер версии библиотеки.
ILR_API ilr_status ILR_CALL ilr_get_options(ilr_options *pOptions)
Возвращает глобальные настройки библиотеки.
void(ILR_CALL * ilr_logging_callback)(ilr_log_level nLevel, const char *pContext, const char *pMessage, void *pUserData)
Тип функции обратного вызова для получения сообщений лога отладки библиотеки.
Definition: ilreaders.h:370
ilr_status
Коды ошибок.
Definition: ilreaders.h:121
ILR_API ilr_status ILR_CALL ilr_set_log_callback(ilr_logging_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для лога отладки.
@ ILR_E_WRITE_T57
Не удалось записать на Temic.
Definition: ilreaders.h:183
@ ILR_E_NOT_INITIALIZED
Библиотека не инициализирована с помощью ilr_init.
Definition: ilreaders.h:145
@ ILR_E_ABORT
Операция прервана.
Definition: ilreaders.h:135
@ ILR_E_PORT_OPEN_FAILED
Неизвестная ошибка открытия порта.
Definition: ilreaders.h:157
@ ILR_E_OUT_OF_RESOURCES
Недостаточно ресурсов для завершения операции.
Definition: ilreaders.h:147
@ ILR_E_INVALIDARG
Неправильные параметры.
Definition: ilreaders.h:141
@ ILR_E_POINTER
Неправильный указатель.
Definition: ilreaders.h:133
@ ILR_E_SCARD_ERROR
Ошибка функции Smart Cards.
Definition: ilreaders.h:167
@ ILR_E_NOTIMPL
Команда не поддерживается считывателем.
Definition: ilreaders.h:131
@ ILR_E_BOUNDS
Индекс вне диапазона.
Definition: ilreaders.h:129
@ ILR_E_BLOCKING_CALL_NOT_ALLOWED
Блокирующий вызов функции из обработчика не разрешен.
Definition: ilreaders.h:151
@ ILR_E_CONNECTION_DOWN
Связь с устройством была потеряна.
Definition: ilreaders.h:161
@ ILR_E_CARD_NACK
Карта отказала от выполнения команды.
Definition: ilreaders.h:173
@ ILR_E_CARD_PAGE_LOCK
Страница карты заблокирована.
Definition: ilreaders.h:181
@ ILR_E_REQUEST_TIMEOUT
Тайм-аут запроса к считывателю.
Definition: ilreaders.h:163
@ ILR_E_CONNECTION_ERROR
Ошибка подключения.
Definition: ilreaders.h:159
@ ILR_E_BAD_RESPONSE
Не распознан ответ считывателя.
Definition: ilreaders.h:165
@ ILR_E_BUFFER_TOO_SMALL
Размер буфера слишком мал
Definition: ilreaders.h:149
@ ILR_E_NO_CARD
Нет карты.
Definition: ilreaders.h:171
@ ILR_STATUS_SIZE
Размер списка ошибок.
Definition: ilreaders.h:185
@ ILR_OK
Операция успешно выполнена.
Definition: ilreaders.h:123
@ ILR_E_READER_ERROR
Ошибка считывателя.
Definition: ilreaders.h:169
@ ILR_E_PENDING
Операция выполняется асинхронно.
Definition: ilreaders.h:127
@ ILR_E_PORT_NOT_EXIST
Порт не существует.
Definition: ilreaders.h:153
@ ILR_E_MIFARE_VALUE
Ошибка блока-значения Mifare.
Definition: ilreaders.h:179
@ ILR_E_OUTOFMEMORY
Недостаточно памяти.
Definition: ilreaders.h:139
@ ILR_E_PORT_ACCESS_DENIED
Нет доступа к порту.
Definition: ilreaders.h:155
@ ILR_E_CARD_AUTH
Ошибка авторизации карты.
Definition: ilreaders.h:175
@ ILR_E_MIFARE_ADDRESS
Неправильный адрес Mifare.
Definition: ilreaders.h:177
@ ILR_E_WRONG_SDK_VERSION
Неправильная версия Sdk Readers передана в функцию ilr_init.
Definition: ilreaders.h:143
@ ILR_E_FAIL
Неизвестная ошибка.
Definition: ilreaders.h:125
@ ILR_E_HANDLE
Неправильный дескриптор.
Definition: ilreaders.h:137
ILR_API ilr_status ILR_CALL ilr_reader_auth_mf_card(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, ilr_bool *pAuthOk)
Авторизует сектор карты Mifare Classic/Plus.
ILR_API ilr_status ILR_CALL ilr_reader_set_auto_scan(ilr_handle hReader, ilr_bool fEnable=ILR_TRUE, ilr_bool fWait=ILR_TRUE)
Включает/выключает автоматическое сканирование карт.
ILR_API ilr_status ILR_CALL ilr_reader_read_mf_plus(ilr_handle hReader, size_t nAddress, ilr_mf_block_data *pBuf, size_t nBlockCount, ilr_bool fOpenText=ILR_TRUE, size_t *pRead=nullptr)
Читает данные карты Mifare Plus SL3.
ILR_API ilr_status ILR_CALL ilr_reader_get_auto_scan(ilr_handle hReader, ilr_bool *pEnabled)
Возвращает флаг автоматическое сканирование карт.
ILR_API ilr_status ILR_CALL ilr_reader_begin_write_temic(ilr_handle hReader, size_t nBlockIdx, const uint32_t *pData, size_t nBlockCount, ilr_bool fLock, int nScanParam, ilr_handle *pCommand)
Запускает асинхронную команду записи данных в карту Temic.
ILR_API ilr_status ILR_CALL ilr_reader_get_options(ilr_handle hReader, ilr_reader_options *pOptions)
Возвращает параметры считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_mf_power_off(ilr_handle hReader)
Выключает RF поле считывателя (после выключения нужно подождать 10 мс).
ilr_rwcard_type_flags
Флаги типов перезаписываемых карт.
Definition: ilreaders.h:640
ILR_API ilr_status ILR_CALL ilr_reader_read_mf_classic(ilr_handle hReader, size_t nBlockIdx, ilr_mf_block_data *pBuf, size_t nBlockCount, size_t *pRead=nullptr)
Читает данные карты Mifare Classic или Mifare Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_mf_transfer(ilr_handle hReader, size_t nBlockIdx)
Записывает содержимое во временном регистре данных в блок-значение.
ILR_API ilr_status ILR_CALL ilr_reader_get_info(ilr_handle hReader, ilr_reader_info *pInfo)
Возвращает информацию о считывателе.
ILR_API ilr_status ILR_CALL ilr_reader_set_options(ilr_handle hReader, const ilr_reader_options *pOptions)
Устанавливает параметры считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_write_mf_ultralight(ilr_handle hReader, size_t nPageIdx, const uint32_t *pData, size_t nPageCount, size_t *pWritten=nullptr)
Пишет данные карты Mifare Ultralight.
ILR_API ilr_status ILR_CALL ilr_reader_begin_auth_mf_card2(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, uint32_t nKeys, ilr_handle *pCommand)
Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus. используя ключи в памя...
ILR_API ilr_status ILR_CALL ilr_reader_begin_auth_mf_card(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, ilr_handle *pCommand)
Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus используя ключ,...
ILR_API ilr_status ILR_CALL ilr_reader_begin_connect(ilr_handle hReader, ilr_bool fReconnect, ilr_handle *pCommand)
Запускает асинхронную команду подключения к считывателю.
ILR_API ilr_status ILR_CALL ilr_reader_end_auth_mf_card2(ilr_handle hCommand, int *pFoundIdx)
Возвращает результат авторизации сектора карты.
ILR_API ilr_status ILR_CALL ilr_reader_get_card_info(ilr_handle hReader, ilr_card_info *pInfo)
Возвращает информацию о карте в поле считывателя.
ILR_API ilr_status ILR_CALL ilr_get_reader(ilr_port_type nPortType, const char *pszPortName, ilr_handle *pReader)
Создаёт дескриптор считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_begin_mf_increment(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue, ilr_handle *pCommand)
Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных...
ILR_API ilr_status ILR_CALL ilr_reader_begin_mf_restore(ilr_handle hReader, size_t nBlockIdx, ilr_handle *pCommand)
Перемещает содержимое блока в регистр данных Mifare.
ILR_API ilr_status ILR_CALL ilr_reader_end_read_temic(ilr_handle hCommand, const uint **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Temic.
ILR_API ilr_status ILR_CALL ilr_reader_end_write_mf_ultralight(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Mifare Ultralight.
ILR_API ilr_status ILR_CALL ilr_reader_begin_scan(ilr_handle hReader, ilr_bool fReset, ilr_bool fPowerOff, ilr_handle *pCommand)
Запускает асинхронную команду поиска карты.
ILR_API ilr_status ILR_CALL ilr_reader_end_auth_mf_card(ilr_handle hCommand, ilr_bool *pAuthOk)
Возвращает результат авторизации сектора карты.
ILR_API ilr_status ILR_CALL ilr_reader_get_connection_status(ilr_handle hReader, ilr_connection_status *pStatus)
Возвращает состояние подключения к считывателю.
ILR_API ilr_status ILR_CALL ilr_reader_begin_mf_decrement(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue, ilr_handle *pCommand)
Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.
ilr_mf_plus_type
Тип Mifare Plus.
Definition: ilreaders.h:582
ilr_reader_msg
Сообщение считывателя.
Definition: ilreaders.h:502
ILR_API ilr_status ILR_CALL ilr_reader_begin_reset_temic(ilr_handle hReader, ilr_handle *pCommand)
Запускает асинхронную команду сброса TRES.
ILR_API ilr_status ILR_CALL ilr_reader_mf_rr(ilr_handle hReader, ilr_bool fWakeUp, const ilr_card_uid &rUID, ilr_bool *pFound)
R+R(Request+Reselect(по известному номеру)).
ILR_API ilr_status ILR_CALL ilr_reader_mf_write_perso(ilr_handle hReader, uint32_t nAddress, const ilr_mf_plus_key &rKey)
Записывает ключи AES и всех блоков.
ILR_API ilr_status ILR_CALL ilr_reader_mf_commit_perso(ilr_handle hReader)
Переключает Mifare Plus в SL1 или SL3(если SL1 нет).
ILR_API ilr_status ILR_CALL ilr_reader_begin_write_mf_pkey(ilr_handle hReader, size_t nIdx, ilr_bool fKeyB, const ilr_mf_plus_key *pKeys, size_t nCount, ilr_handle *pCommand)
Запускает асинхронную команду записи ключей аутентификации Mifare Plus в память считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_begin_read_mf_plus(ilr_handle hReader, size_t nAddress, size_t nBlockCount, ilr_bool fOpenText, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Mifare Plus SL3.
ilr_mf_plus_sl
Уровень безопасности Mifare Plus.
Definition: ilreaders.h:570
ILR_API ilr_status ILR_CALL ilr_reader_auth_mf_card2(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, uint32_t nKeys=0xFFFF, int *pFoundIdx=nullptr)
Авторизует сектор карты Mifare Classic / Plus, используя ключи считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_mf_increment(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue)
Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных...
ILR_API ilr_status ILR_CALL ilr_reader_write_mf_pkey(ilr_handle hReader, size_t nIdx, ilr_bool fKeyB, const ilr_mf_plus_key *pKeys, size_t nCount, size_t *pWritten=nullptr)
Записывает ключи аутентификации Mifare Plus в память считывателя
ILR_API ilr_status ILR_CALL ilr_reader_begin_write_mf_ckey(ilr_handle hReader, size_t nIdx, ilr_bool fKeyB, const ilr_mf_classic_key *pKeys, size_t nCount, ilr_handle *pCommand)
Запускает асинхронную команду записи ключей аутентификации Mifare Classic в память считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_scan_temic(ilr_handle hReader, int nScanParam=-1)
Ищет карту Temic в поле считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_begin_write_mf_ultralight(ilr_handle hReader, size_t nPageIdx, const uint32_t *pData, size_t nPageCount, ilr_handle *pCommand)
Запускает асинхронную команду записи данных в карту Mifare Ultralight.
ILR_API ilr_status ILR_CALL ilr_reader_load_mf_ckey(ilr_handle hReader, const ilr_mf_classic_key &nKey)
Загружает ключ для авторизации сектора Mifare Classic / Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_read_temic(ilr_handle hReader, size_t nBlockIdx, uint32_t *pBuf, size_t nBlockCount, int nScanParam=-1, size_t *pRead=nullptr)
Читает данные карты Temic.
ILR_API ilr_status ILR_CALL ilr_reader_write_mf_ckey(ilr_handle hReader, size_t nIdx, ilr_bool fKeyB, const ilr_mf_classic_key *pKeys, size_t nCount, size_t *pWritten=nullptr)
Записывает ключи аутентификации Mifare Classic в память считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_end_read_mf_plus(ilr_handle hCommand, const ilr_mf_block_data **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Mifare Plus SL3.
ILR_API ilr_status ILR_CALL ilr_reader_begin_set_auto_scan(ilr_handle hReader, ilr_bool fEnable, ilr_handle *pCommand)
Запускает асинхронную команду вкл/выкл автоматического сканирования карт.
ILR_API ilr_status ILR_CALL ilr_reader_mf_decrement(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue)
Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.
ILR_API ilr_status ILR_CALL ilr_reader_end_write_mf_pkey(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи ключей аутентификации Mifare Plus в память считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_end_write_mf_plus(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Mifare Plus SL3.
ILR_API ilr_status ILR_CALL ilr_reader_end_write_mf_classic(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Mifare Classic или Mifare Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_begin_write_mf_plus(ilr_handle hReader, size_t nAddress, const ilr_mf_block_data *pData, size_t nBlockCount, ilr_bool fOpenText, ilr_handle *pCommand)
Запускает асинхронную команду записи данных в карту Mifare Plus SL3.
ILR_API ilr_status ILR_CALL ilr_reader_end_write_mf_ckey(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи ключей аутентификации Mifare Classic в память считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_disconnect(ilr_handle hReader)
Отключается от считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_begin_scan_temic(ilr_handle hReader, int nScanParam, ilr_handle *pCommand)
Запускает асинхронную команду поиска карты Temic в поле считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_scan(ilr_handle hReader, ilr_bool fReset=ILR_FALSE, ilr_bool fPowerOff=ILR_TRUE)
Ищет карту в поле считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_end_read_mf_classic(ilr_handle hCommand, const ilr_mf_block_data **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Mifare Classic или Mifare Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_begin_read_mf_ultralight(ilr_handle hReader, size_t nPageIdx, size_t nPageCount, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Mifare Ultralight.
ILR_API ilr_status ILR_CALL ilr_reader_begin_disconnect(ilr_handle hReader, ilr_handle *pCommand)
Запускает асинхронную команду отключения от считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_set_message_callback(ilr_handle hReader, ilr_reader_message_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для уведомлений считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_reset_temic(ilr_handle hReader, ilr_bool fWait=ILR_TRUE)
Сброс TRES.
ILR_API ilr_status ILR_CALL ilr_reader_mf_halt(ilr_handle hReader)
Halt.
int64_t ilr_mf_classic_key
Ключ аутентификации Mifare Classic.
Definition: ilreaders.h:610
ILR_API ilr_status ILR_CALL ilr_reader_read_mf_ultralight(ilr_handle hReader, size_t nPageIdx, uint32_t *pBuf, size_t nPageCount, size_t *pRead=nullptr)
Читает данные карты Mifare Ultralight.
ILR_API ilr_status ILR_CALL ilr_reader_load_temic_password(ilr_handle hReader, const int64_t &nPassword)
Загружает пароль Temic в память объекта считывателя.
ILR_API ilr_status ILR_CALL ilr_reader_mf_restore(ilr_handle hReader, size_t nBlockIdx)
Перемещает содержимое блока в регистр данных Mifare.
struct __attribute__((packed))
ID карты
Definition: ilreaders.h:552
ILR_API ilr_status ILR_CALL ilr_reader_begin_read_mf_classic(ilr_handle hReader, size_t nBlockIdx, size_t nBlockCount, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Mifare Classic или Mifare Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_end_read_mf_ultralight(ilr_handle hCommand, const uint32_t **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Mifare Ultralight.
ILR_API ilr_status ILR_CALL ilr_reader_end_write_temic(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Temic.
ILR_API ilr_status ILR_CALL ilr_reader_mf_rats(ilr_handle hReader, uint8_t *pAtsBuf=nullptr, size_t *pSize=nullptr)
Переходит на ISO 14443-4.
ILR_API ilr_status ILR_CALL ilr_reader_get_message(ilr_handle hReader, ilr_reader_msg *pMsg, const void **pMsgData, ilr_bool *pFound)
Извлекает следующее сообщение из очереди.
ILR_API ilr_status ILR_CALL ilr_reader_begin_write_mf_classic(ilr_handle hReader, size_t nBlockIdx, const ilr_mf_block_data *pData, size_t nBlockCount, ilr_handle *pCommand)
Запускает асинхронную команду записи данных в карту Mifare Classic или Mifare Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_begin_read_temic(ilr_handle hReader, size_t nBlockIdx, size_t nBlockCount, int nScanParam, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Temic.
ILR_API ilr_status ILR_CALL ilr_reader_load_mf_pkey(ilr_handle hReader, const ilr_mf_plus_key &rKey)
Загружает ключ для авторизации сектора Mifare Plus SL3.
ILR_API ilr_status ILR_CALL ilr_reader_enable_message_queue(ilr_handle hReader, ilr_bool fEnable=ILR_TRUE)
Включает/выключает очередь сообщений.
ILR_API ilr_status ILR_CALL ilr_reader_connect(ilr_handle hReader, ilr_bool fReconnect=ILR_FALSE)
Подключается к считывателю.
ILR_API ilr_status ILR_CALL ilr_reader_mf_ras(ilr_handle hReader, ilr_bool fWakeUp, uint8_t *pSAK, uint16_t *pATQ, ilr_card_uid *pUID, ilr_bool *pFound)
R+A+S(Request+Anticollision+Select)
ILR_API ilr_status ILR_CALL ilr_reader_set_scan_temic(ilr_handle hReader, ilr_bool fEnable=ILR_TRUE)
Вкл/выкл сканирование карт Temic (для Z-2 Rd-All и Z-2 EHR).
ILR_API ilr_status ILR_CALL ilr_reader_get_scan_temic(ilr_handle hReader, ilr_bool *pEnable)
Возвращает True если сканирование Temic включено.
void(ILR_CALL * ilr_reader_message_callback)(ilr_reader_msg nMsg, const void *pMsgData, void *pUserData)
Тип функции обратного вызова для получения уведомлений от дескриптора считывателя.
Definition: ilreaders.h:535
ILR_API ilr_status ILR_CALL ilr_reader_write_temic(ilr_handle hReader, size_t nBlockIdx, const uint32_t *pData, size_t nBlockCount, ilr_bool fLock=ILR_FALSE, int nScanParam=-1, size_t *pWritten=nullptr)
Пишет данные карты Temic.
ILR_API ilr_status ILR_CALL ilr_reader_begin_mf_transfer(ilr_handle hReader, size_t nBlockIdx, ilr_handle *pCommand)
Записывает содержимое во временном регистре данных в блок-значение.
ILR_API ilr_status ILR_CALL ilr_reader_write_mf_classic(ilr_handle hReader, size_t nBlockIdx, const ilr_mf_block_data *pData, size_t nBlockCount, size_t *pWritten=nullptr)
Пишет данные карты Mifare Classic или Mifare Plus SL1.
ILR_API ilr_status ILR_CALL ilr_reader_write_mf_plus(ilr_handle hReader, size_t nAddress, const ilr_mf_block_data *pData, size_t nBlockCount, ilr_bool fOpenText=ILR_TRUE, size_t *pWritten=nullptr)
Пишет данные карты Mifare Plus SL3.
ilr_connection_status
Состояние подключения к считывателю.
Definition: ilreaders.h:542
@ ILR_RWCT_F_TEMIC
Temic.
Definition: ilreaders.h:641
@ ILR_RWCT_F_MF_CLASSIC
Mifare Classic или Plus SL1.
Definition: ilreaders.h:643
@ ILR_RWCT_F_MF_PLUS
Другие Mifare Plus.
Definition: ilreaders.h:646
@ ILR_RWCT_F_MF_PLUS_SL0
Mifare Plus SL0.
Definition: ilreaders.h:644
@ ILR_RWCT_F_MF_ULTRALIGHT
Mifare Ultralight.
Definition: ilreaders.h:642
@ ILR_RWCT_F_MF_PLUS_SL3
Mifare Plus SL3.
Definition: ilreaders.h:645
@ ILR_MF_PLUS_X
Mifare Plus X.
Definition: ilreaders.h:585
@ ILR_MF_PLUS_TYPE_SIZE
Размер списка.
Definition: ilreaders.h:589
@ ILR_MF_PLUS_SE
MIFARE Plus SE.
Definition: ilreaders.h:586
@ ILR_MF_PLUS_UNKNOWN
Не известно.
Definition: ilreaders.h:583
@ ILR_MF_PLUS_EV2
MIFARE Plus EV2.
Definition: ilreaders.h:588
@ ILR_MF_PLUS_S
Mifare Plus S.
Definition: ilreaders.h:584
@ ILR_MF_PLUS_EV1
MIFARE Plus EV1.
Definition: ilreaders.h:587
@ ILR_READER_MSG_CONNECTION_CHANGED
Definition: ilreaders.h:513
@ ILR_READER_MSG_CARD_FOUND
Definition: ilreaders.h:517
@ ILR_READER_MSG_CARD_LOST
Definition: ilreaders.h:521
@ ILR_READER_MSG_COMMAND_FINISH
Definition: ilreaders.h:508
@ ILR_MF_PLUS_SL_SL0
Уровень 0 (не инициализирована).
Definition: ilreaders.h:572
@ ILR_MF_PLUS_SL_SL2
Уровень 2.
Definition: ilreaders.h:574
@ ILR_MF_PLUS_SL_UNKNOWN
Не известно.
Definition: ilreaders.h:571
@ ILR_MF_PLUS_SL_SL3
Уровень 3.
Definition: ilreaders.h:575
@ ILR_MF_PLUS_SL_SL1
Уровень 1 (эмуляция Mifare Classic).
Definition: ilreaders.h:573
@ ILR_CONNECTION_CONNECTED
Подключён.
Definition: ilreaders.h:544
@ ILR_CONNECTION_CONNECTING
Подключение.
Definition: ilreaders.h:545
ILR_API ilr_status ILR_CALL ilr_search_set_options(ilr_handle hSearch, const ilr_search_options *pOptions)
Устанавливает параметры поиска считывателей.
ILR_API ilr_status ILR_CALL ilr_search_get_options(ilr_handle hSearch, ilr_search_options *pOptions)
Возвращает параметры поиска считывателей.
void(ILR_CALL * ilr_search_message_callback)(ilr_search_msg nMsg, const void *pMsgData, void *pUserData)
Тип функции обратного вызова для получения уведомлений от дескриптора поиска.
Definition: ilreaders.h:444
ilr_reader_types
Флаги типов считывателей.
Definition: ilreaders.h:451
ILR_API ilr_status ILR_CALL ilr_search_begin_scan(ilr_handle hSearch, ilr_bool fReset, ilr_handle *pCommand)
Запускает асинхронную команду поиска считывателей.
ILR_API ilr_status ILR_CALL ilr_search_enable_message_queue(ilr_handle hSearch, ilr_bool fEnable=ILR_TRUE)
Включает/выключает очередь сообщений.
ILR_API ilr_status ILR_CALL ilr_search_begin_set_auto_scan(ilr_handle hSearch, ilr_bool fEnable, ilr_handle *pCommand)
Запускает асинхронную команду вкл/выкл режим авто поиска считывателей.
ILR_API ilr_status ILR_CALL ilr_search_get_message(ilr_handle hSearch, ilr_search_msg *pMsg, const void **pMsgData, ilr_bool *pFound)
Извлекает следующее сообщение из очереди.
ILR_API ilr_status ILR_CALL ilr_set_filter_port_callback(ilr_filter_port_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для фильтрации портов при поиске считывателей.
ILR_API ilr_status ILR_CALL ilr_search_scan(ilr_handle hSearch, ilr_bool fReset=ILR_FALSE)
Ищет считыватели.
ILR_API ilr_status ILR_CALL ilr_search_set_message_callback(ilr_handle hSearch, ilr_search_message_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для уведомлений поиска считывателей.
ILR_API ilr_status ILR_CALL ilr_search_get_auto_scan(ilr_handle hSearch, ilr_bool *pEnabled)
Возвращает флаг авто поиска считывателей.
ilr_bool(ILR_CALL * ilr_filter_port_callback)(ilr_port_type nPortType, const char *pszPortName, void *pUserData)
Тип функции обратного вызова для фильтрации портов при поиске считывателей.
Definition: ilreaders.h:403
ILR_API ilr_status ILR_CALL ilr_get_search(ilr_handle *pSearch)
Создаёт дескриптор поиска считывателей.
ILR_API ilr_status ILR_CALL ilr_search_get_reader_info(ilr_handle hSearch, size_t nIdx, ilr_reader_info *pInfo)
Возвращает информацию о найденном считывателе.
ILR_API ilr_status ILR_CALL ilr_search_get_reader_count(ilr_handle hSearch, size_t *pCount)
Возвращает количество найденных считывателей.
ilr_search_msg
Сообщение поиска считывателей.
Definition: ilreaders.h:410
ILR_API ilr_status ILR_CALL ilr_search_set_listen_ports(ilr_handle hSearch, const uint16_t *pPorts, size_t nCount)
Устанавливает список портов для прослушки конвертеров к режиме "Клиент".
ILR_API ilr_status ILR_CALL ilr_search_set_auto_scan(ilr_handle hSearch, ilr_bool fEnable=ILR_TRUE, ilr_bool fWait=ILR_TRUE)
Включает/выключает авто поиск считывателей.
ILR_API ilr_status ILR_CALL ilr_search_get_listen_ports(ilr_handle hSearch, uint16_t *pBuf, size_t *pSize)
Возвращает список портов для прослушки конвертеров к режиме "Клиент".
@ ILR_READER_SERVER
Definition: ilreaders.h:460
@ ILR_READER_CCID
Definition: ilreaders.h:467
@ ILR_READER_ILUSB
Definition: ilreaders.h:453
@ ILR_READER_TPUSB
Definition: ilreaders.h:458
@ ILR_READER_CLIENT
Definition: ilreaders.h:462
@ ILR_SEARCH_MSG_LIST_CHANGED
Definition: ilreaders.h:430
@ ILR_SEARCH_MSG_COMMAND_FINISH
Definition: ilreaders.h:416
@ ILR_SEARCH_MSG_READER_FOUND
Definition: ilreaders.h:420
@ ILR_SEARCH_MSG_READER_LOST
Definition: ilreaders.h:424
ILR_API ilr_status ILR_CALL ilr_search_open_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, ilr_reader_info *pInfo, int *pPort)
Открывает порт и возвращает его дескриптор.
ILR_API ilr_status ILR_CALL ilr_command_get_status(ilr_handle hCommand, ilr_status *pStatus)
Возвращает состояние команды.
void * ilr_handle
Definition: ilreaders.h:108
ILR_API ilr_status ILR_CALL ilr_free_memory(void *p)
Освобождает память, которую выделила библиотека.
ILR_API ilr_status ILR_CALL ilr_search_begin_close_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, int hPortFD, ilr_handle *pCommand)
Запускает асинхронную команду закрытия порта.
ILR_API ilr_status ILR_CALL ilr_search_get_listen_status(ilr_handle hSearch, uint16_t nTcpPort, ilr_status *pStatus)
Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент".
ILR_API ilr_status ILR_CALL ilr_search_begin_open_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, ilr_handle *pCommand)
Запускает асинхронную команду открытия порта.
ILR_API ilr_status ILR_CALL ilr_search_close_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, int hPort)
Закрывает порт.
ILR_API ilr_status ILR_CALL ilr_clone_handle(ilr_handle h, ilr_handle *pNewHandle)
Клонирует дескриптор поиска считывателей или дескриптор считывателя.
ILR_API ilr_status ILR_CALL ilr_close_handle(ilr_handle h)
Закрывает дескриптор библиотеки.
ILR_API ilr_status ILR_CALL ilr_search_end_open_port(ilr_handle hCommand, int *pPortFD, ilr_reader_info *pInfo)
Возвращает результат открытия порта.
#define ILR_API
Переключатель между статическим и динамическим связыванием.
Definition: ilreaders.h:48
ILR_API ilr_status ILR_CALL ilr_encode_temic_emmarine(const ilr_card_uid &rUID, uint32_t *pBuf3, size_t nBlockCount)
Кодирует данные для эмуляции Em-Marine, для записи в блоки 0..2.
ILR_API ilr_status ILR_CALL ilr_command_get_progress(ilr_handle hCommand, size_t *pCurrent, size_t *pTotal)
Возвращает состояние прогресса выполнения команды.
ILR_API ilr_status ILR_CALL ilr_decode_temic_emmarine(const uint32_t *pData3, size_t nBlockCount, ilr_card_uid *pUID, ilr_bool *pConfigOk=nullptr)
Декодирует номер Em-Marine из данных блоков 0..2 карты Temic.
ilr_bool
Definition: ilreaders.h:111
@ ILR_FALSE
Ложь. =0.
Definition: ilreaders.h:112
@ ILR_TRUE
Истина. Может быть любое число отличное от 0.
Definition: ilreaders.h:113
#define ILR_CALL
Макрос, определяющий соглашение о вызове функций.
Definition: ilreaders.h:56
ILR_API ilr_status ILR_CALL ilr_command_cancel(ilr_handle hCommand)
Отменяет команду. Устанавливает статус ILR_E_ABORT.
ILR_API ilr_status ILR_CALL ilr_encode_temic_hid(const ilr_card_uid &rUID, uint32_t *pBuf4, size_t nBlockCount, int nWiegand)
Кодирует данные для эмуляции HID, для записи в блоки 0..3.
ilr_log_level
Уровень лога.
Definition: ilreaders.h:319
@ ILR_LOG_LEVEL_WARNING
Предупреждения.
Definition: ilreaders.h:337
@ ILR_LOG_LEVEL_NONE
Лог выключен.
Definition: ilreaders.h:324
@ ILR_LOG_LEVEL_INFO
Уведомления.
Definition: ilreaders.h:343
@ ILR_LOG_LEVEL_DEBUG
Отладочные сообщения.
Definition: ilreaders.h:349
@ ILR_LOG_LEVEL_SIZE
Definition: ilreaders.h:351
@ ILR_LOG_LEVEL_ERROR
Ошибки.
Definition: ilreaders.h:331
ilr_card_type
Тип карты.
Definition: ilreaders.h:261
@ ILR_CARD_TYPE_SIZE
Размер списка.
Definition: ilreaders.h:286
@ ILR_CARD_MF_PLUS_4K
Mifare Plus 4K.
Definition: ilreaders.h:281
@ ILR_CARD_SMART_MX_MF1K
Smart MX with Mifare 1K.
Definition: ilreaders.h:282
@ ILR_CARD_MF_PLUS
Mifare Plus.
Definition: ilreaders.h:278
@ ILR_CARD_MF_DESFIRE
Mifare DESFire.
Definition: ilreaders.h:284
@ ILR_CARD_MF_PROX
Mifare ProX.
Definition: ilreaders.h:285
@ ILR_CARD_CAME433
Радио-брелок CAME.
Definition: ilreaders.h:268
@ ILR_CARD_MF_ULTRALIGHT_C
Mifare Ultralight C.
Definition: ilreaders.h:273
@ ILR_CARD_SMART_MX_MF4K
Smart MX with Mifare 4K.
Definition: ilreaders.h:283
@ ILR_CARD_EM_MARINE
Em-Marine.
Definition: ilreaders.h:263
@ ILR_CARD_MF_CLASSIC_2K
Mifare Classic 2K.
Definition: ilreaders.h:276
@ ILR_CARD_MF_ULTRALIGHT
Mifare UltraLight.
Definition: ilreaders.h:272
@ ILR_CARD_MF_PLUS_1K
Mifare Plus 1K.
Definition: ilreaders.h:279
@ ILR_CARD_COD433
Cod433.
Definition: ilreaders.h:266
@ ILR_CARD_COD433_FIX
Cod433 Fix.
Definition: ilreaders.h:267
@ ILR_CARD_MF_CLASSIC_4K
Mifare Classic 4K.
Definition: ilreaders.h:277
@ ILR_CARD_UNKNOWN
Не известно.
Definition: ilreaders.h:262
@ ILR_CARD_DALLAS
Dallas.
Definition: ilreaders.h:269
@ ILR_CARD_HID
HID.
Definition: ilreaders.h:264
@ ILR_CARD_TEMIC
Temic (T5557).
Definition: ilreaders.h:270
@ ILR_CARD_MF_PLUS_2K
Mifare Plus 2K.
Definition: ilreaders.h:280
@ ILR_CARD_MF_CLASSIC_1K
Mifare Classic 1K.
Definition: ilreaders.h:275
@ ILR_CARD_MF_MINI
Mifare Mini.
Definition: ilreaders.h:274
@ ILR_CARD_ICODE
iCode.
Definition: ilreaders.h:265
ilr_port_type
Definition: ilreaders.h:243
@ ILR_PORT_TYPE_SIZE
Definition: ilreaders.h:257
@ ILR_PORT_TYPE_PROXY
Definition: ilreaders.h:255
@ ILR_PORT_TYPE_CCID
Definition: ilreaders.h:249
@ ILR_PORT_TYPE_CLIENT
Definition: ilreaders.h:253
@ ILR_PORT_TYPE_COMPORT
Definition: ilreaders.h:247
@ ILR_PORT_TYPE_UNKNOWN
Definition: ilreaders.h:245
@ ILR_PORT_TYPE_SERVER
Definition: ilreaders.h:251
ilr_reader_model
Модель считывателя.
Definition: ilreaders.h:211
@ ILR_READER_MODEL_Z2_RDALL
Definition: ilreaders.h:215
@ ILR_READER_MODEL_Z2_MF_CCID
Definition: ilreaders.h:237
@ ILR_READER_MODEL_Z2_E_HTZ_RF
Definition: ilreaders.h:221
@ ILR_READER_MODEL_MATRIX6
Definition: ilreaders.h:235
@ ILR_READER_MODEL_UNKNOWN
Definition: ilreaders.h:213
@ ILR_READER_MODEL_CP_Z2_MFI
Definition: ilreaders.h:231
@ ILR_READER_MODEL_MATRIX3_RDALL
Definition: ilreaders.h:227
@ ILR_READER_MODEL_Z1_N_Z
Definition: ilreaders.h:223
@ ILR_READER_MODEL_MATRIX3_NET
Definition: ilreaders.h:229
@ ILR_READER_MODEL_SIZE
Definition: ilreaders.h:239
@ ILR_READER_MODEL_MATRIX5_E_S_RF
Definition: ilreaders.h:233
@ ILR_READER_MODEL_Z2_MFI
Definition: ilreaders.h:219
@ ILR_READER_MODEL_Z2_MF
Definition: ilreaders.h:217
@ ILR_READER_MODEL_Z2_E_HT_HOTEL
Definition: ilreaders.h:225
ILR_API ilr_status ILR_CALL ilr_decode_temic_hid(const uint32_t *pData4, size_t nBlockCount, ilr_card_uid *pUID, int *pWiegand, ilr_bool *pConfigOk=nullptr)
Декодирует номер HID из данных блоков 0..3 карты Temic.
Информация о карте.
Definition: ilreaders.h:596
ilr_card_type nType
Тип карты.
Definition: ilreaders.h:597
uint32_t nMemSize
Размер памяти карты (в байтах).
Definition: ilreaders.h:599
ilr_mf_plus_sl nSL
Уровень безопасности Mifare Plus.
Definition: ilreaders.h:600
ilr_mf_plus_type nMpType
Тип Mifare Plus.
Definition: ilreaders.h:601
ilr_card_type nType2
Тип карты.
Definition: ilreaders.h:602
Данные блока Mifare Classic/Plus.
Definition: ilreaders.h:631
Ключ аутентификации Mifare Plus.
Definition: ilreaders.h:616
uint64_t hi
Старшая часть ключа.
Definition: ilreaders.h:622
uint64_t lo
Младшая часть ключа.
Definition: ilreaders.h:621
Настройки библиотеки.
Definition: ilreaders.h:378
ilr_bool fTwoStopBits
Definition: ilreaders.h:382
int nRequestAttempts
Definition: ilreaders.h:390
int nRequestTimeout
Definition: ilreaders.h:386
Информация о считывателе.
Definition: ilreaders.h:295
ilr_status nError
Definition: ilreaders.h:315
ilr_reader_model nModel
Definition: ilreaders.h:304
uint32_t nFwVersion
Definition: ilreaders.h:310
const char * pszConnect
Definition: ilreaders.h:302
const char * pszPortName
Definition: ilreaders.h:299
int64_t nFwBuildDate
Definition: ilreaders.h:313
ilr_port_type nPortType
Definition: ilreaders.h:297
int nSn
Definition: ilreaders.h:306
Настройки считывателя.
Definition: ilreaders.h:663
ilr_reader_model nConnectModel
Definition: ilreaders.h:665
int nReconnectPeriod
Definition: ilreaders.h:673
uint32_t nHoldCardTypes
Definition: ilreaders.h:668
Настройки поиска считывателей.
Definition: ilreaders.h:474
int nAcceptTimeout
Definition: ilreaders.h:495
int nOpenPortPeriod
Definition: ilreaders.h:481
int nUdpScanPeriod
Definition: ilreaders.h:485
int nUdpRequestAttempts
Definition: ilreaders.h:489
int nUdpRequestTimeout
Definition: ilreaders.h:487
uint32_t nReaderTypes
Definition: ilreaders.h:479
int nOpenListenerPeriod
Definition: ilreaders.h:492
int nPollPeriod
Definition: ilreaders.h:483