SDK Readers 1.0.2
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 2
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
653#define MAKE_TEMIC_SCAN_PARAM(type, speed) (int)(((uint)((speed)&0xff) << 8) | ((type)&0xff))
657#define TYPE_FROM_TEMIC_SCAN_PARAM(param) (uint8_t)((param)&0xff)
661#define SPEED_FROM_TEMIC_SCAN_PARAM(param) (uint8_t)(((uint)(param) >> 8) & 0xff)
662
669typedef struct {
672
675
681
682#ifdef __cplusplus
683extern "C" {
684#endif
685
686#ifndef ILREADERS_LINKONREQUEST
687
695
706
719
738 void* pUserData = nullptr);
739
752
759inline bool ilr_check_version() {
760 auto v = ilr_get_version();
761 return ((((v >> 24) & 0xff) == ILR_VERSION_MAJOR) &&
762 ((int)((v >> 16) & 0xff) >= ILR_VERSION_MINOR));
763}
764
786ILR_API ilr_status ILR_CALL ilr_init(uint32_t nVersionRequested = ILR_VERSION);
787
802
809
817
834 void* pUserData = nullptr);
835
846
857
872
888ILR_API ilr_status ILR_CALL ilr_get_reader(ilr_port_type nPortType, const char* pszPortName,
889 ilr_handle* pReader);
890
911 void* pUserData = nullptr);
912
935 ilr_bool fEnable = ILR_TRUE);
936
951 const void** pMsgData, ilr_bool* pFound);
952
967 const ilr_search_options* pOptions);
968
980 ilr_search_options* pOptions);
981
999 size_t nCount);
1000
1025 size_t* pSize);
1026
1043 ilr_status* pStatus);
1044
1059
1072 ilr_handle* pCommand);
1073
1088
1104 ilr_reader_info* pInfo);
1105
1122 ilr_bool fEnable = ILR_TRUE,
1123 ilr_bool fWait = ILR_TRUE);
1124
1137 ilr_handle* pCommand);
1138
1150
1166 const char* pszPortName, ilr_reader_info* pInfo,
1167 int* pPort);
1168
1180 const char* pszPortName,
1181 ilr_handle* pCommand);
1182
1193 ilr_reader_info* pInfo);
1194
1209 const char* pszPortName, int hPort);
1210
1223 const char* pszPortName, int hPortFD,
1224 ilr_handle* pCommand);
1225
1246 void* pUserData = nullptr);
1247
1270 ilr_bool fEnable = ILR_TRUE);
1271
1286 const void** pMsgData, ilr_bool* pFound);
1287
1299 const ilr_reader_options* pOptions);
1300
1312 ilr_reader_options* pOptions);
1313
1327
1340 ilr_handle* pCommand);
1341
1354
1366
1378 ilr_connection_status* pStatus);
1379
1394
1409 ilr_bool fPowerOff = ILR_TRUE);
1410
1424 ilr_bool fPowerOff, ilr_handle* pCommand);
1425
1437
1455 ilr_bool fEnable = ILR_TRUE,
1456 ilr_bool fWait = ILR_TRUE);
1457
1470 ilr_handle* pCommand);
1471
1483
1500 uint32_t* pBuf, size_t nPageCount,
1501 size_t* pRead = nullptr);
1502
1516 size_t nPageCount,
1517 ilr_handle* pCommand);
1518
1532 const uint32_t** ppList,
1533 size_t* pRead);
1534
1551 const uint32_t* pData, size_t nPageCount,
1552 size_t* pWritten = nullptr);
1553
1568 size_t nPageIdx,
1569 const uint32_t* pData,
1570 size_t nPageCount,
1571 ilr_handle* pCommand);
1572
1584 size_t* pWritten);
1585
1597 const ilr_mf_classic_key& nKey);
1598
1610 const ilr_mf_plus_key& rKey);
1611
1630 ilr_bool fKeyB, ilr_bool* pAuthOk);
1631
1646 ilr_bool fKeyB, ilr_handle* pCommand);
1647
1659
1676 ilr_bool fKeyB, uint32_t nKeys = 0xFFFF,
1677 int* pFoundIdx = nullptr);
1678
1694 ilr_bool fKeyB, uint32_t nKeys,
1695 ilr_handle* pCommand);
1696
1708
1725 ilr_mf_block_data* pBuf, size_t nBlockCount,
1726 size_t* pRead = nullptr);
1727
1741 size_t nBlockCount,
1742 ilr_handle* pCommand);
1743
1757 const ilr_mf_block_data** ppList,
1758 size_t* pRead);
1759
1776 const ilr_mf_block_data* pData,
1777 size_t nBlockCount,
1778 size_t* pWritten = nullptr);
1779
1794 const ilr_mf_block_data* pData,
1795 size_t nBlockCount,
1796 ilr_handle* pCommand);
1797
1809
1827 ilr_mf_block_data* pBuf, size_t nBlockCount,
1828 ilr_bool fOpenText = ILR_TRUE,
1829 size_t* pRead = nullptr);
1830
1845 size_t nBlockCount, ilr_bool fOpenText,
1846 ilr_handle* pCommand);
1847
1861 const ilr_mf_block_data** ppList,
1862 size_t* pRead);
1863
1881 const ilr_mf_block_data* pData,
1882 size_t nBlockCount,
1883 ilr_bool fOpenText = ILR_TRUE,
1884 size_t* pWritten = nullptr);
1885
1901 const ilr_mf_block_data* pData,
1902 size_t nBlockCount, ilr_bool fOpenText,
1903 ilr_handle* pCommand);
1904
1916
1932 uint32_t nValue);
1933
1948 uint32_t nValue, ilr_handle* pCommand);
1949
1965 uint32_t nValue);
1966
1981 uint32_t nValue, ilr_handle* pCommand);
1982
1996
2009 ilr_handle* pCommand);
2010
2024
2037 ilr_handle* pCommand);
2038
2051
2069 uint16_t* pATQ, ilr_card_uid* pUID, ilr_bool* pFound);
2070
2086 const ilr_card_uid& rUID, ilr_bool* pFound);
2087
2100
2114ILR_API ilr_status ILR_CALL ilr_reader_mf_rats(ilr_handle hReader, uint8_t* pAtsBuf = nullptr,
2115 size_t* pSize = nullptr);
2116
2131 const ilr_mf_plus_key& rKey);
2132
2145
2163 ilr_bool fKeyB,
2164 const ilr_mf_classic_key* pKeys, size_t nCount,
2165 size_t* pWritten = nullptr);
2166
2183 ilr_bool fKeyB,
2184 const ilr_mf_classic_key* pKeys,
2185 size_t nCount, ilr_handle* pCommand);
2186
2198
2216 ilr_bool fKeyB, const ilr_mf_plus_key* pKeys,
2217 size_t nCount, size_t* pWritten = nullptr);
2218
2235 ilr_bool fKeyB,
2236 const ilr_mf_plus_key* pKeys,
2237 size_t nCount, ilr_handle* pCommand);
2238
2250
2262 const int64_t& nPassword);
2263
2277
2290 ilr_handle* pCommand);
2291
2306 ilr_bool fEnable = ILR_TRUE);
2307
2319
2337 uint32_t* pBuf, size_t nBlockCount,
2338 int nScanParam = -1, size_t* pRead = nullptr);
2339
2354 size_t nBlockCount, int nScanParam,
2355 ilr_handle* pCommand);
2356
2370 size_t* pRead);
2371
2390 const uint32_t* pData, size_t nBlockCount,
2391 ilr_bool fLock = ILR_FALSE, int nScanParam = -1,
2392 size_t* pWritten = nullptr);
2393
2410 const uint32_t* pData, size_t nBlockCount,
2411 ilr_bool fLock, int nScanParam,
2412 ilr_handle* pCommand);
2413
2425
2440
2452
2464
2474ILR_API ilr_status ILR_CALL ilr_encode_temic_emmarine(const ilr_card_uid& rUID, uint32_t* pBuf3,
2475 size_t nBlockCount);
2476
2488ILR_API ilr_status ILR_CALL ilr_decode_temic_emmarine(const uint32_t* pData3, size_t nBlockCount,
2489 ilr_card_uid* pUID,
2490 ilr_bool* pConfigOk = nullptr);
2491
2502ILR_API ilr_status ILR_CALL ilr_encode_temic_hid(const ilr_card_uid& rUID, uint32_t* pBuf4,
2503 size_t nBlockCount, int nWiegand);
2504
2516ILR_API ilr_status ILR_CALL ilr_decode_temic_hid(const uint32_t* pData4, size_t nBlockCount,
2517 ilr_card_uid* pUID, int* pWiegand,
2518 ilr_bool* pConfigOk = nullptr);
2519
2528
2539
2550 size_t* pTotal);
2551
2552#endif // !ILREADERS_LINKONREQUEST
2553
2554#ifdef __cplusplus
2555} /* extern "C" */
2556#endif
2557
2558#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:759
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:669
ilr_reader_model nConnectModel
Definition: ilreaders.h:671
int nReconnectPeriod
Definition: ilreaders.h:679
uint32_t nHoldCardTypes
Definition: ilreaders.h:674
Настройки поиска считывателей.
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