SDK Readers 1.1.3
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
35#ifndef ILR_STATIC_DEFINE
36#include <ilreaders/export_shared.h>
37#else
38#include <ilreaders/export_static.h>
39#endif
40
42// #define ILREADERS_LINKONREQUEST
43
52#define ILR_VERSION_MAJOR 1
60#define ILR_VERSION_MINOR 1
68#define ILR_VERSION_PATCH 3
73#define ILR_VERSION \
74 ((ILR_VERSION_MAJOR << 24) | (ILR_VERSION_MINOR << 16) | (ILR_VERSION_PATCH << 8) | 0xC0)
75
77#define ILR_VERSION_GET_MAJOR(v) ((v) >> 24)
79#define ILR_VERSION_GET_MINOR(v) (((v) >> 16) & 0xff)
81#define ILR_VERSION_GET_PATCH(v) (((v) >> 8) & 0xff)
90#define ILR_AUTOALLOCATE 0xffffffff
91
93typedef void* ilr_handle;
94
96typedef enum : int {
100
106typedef enum {
174
181#define ILR_SUCCEEDED(status) ((status) == ILR_OK)
182
189#define ILR_FAILED(status) ((status) != ILR_OK)
190
198typedef enum {
228
230typedef enum {
246
248typedef enum {
258
275
282typedef struct {
286 const char* pszPortName;
289 const char* pszConnect;
293 int nSn;
297 uint32_t nFwVersion;
304
306typedef enum {
312
319
325
331
340
357typedef void (*ilr_logging_callback)(ilr_log_level nLevel, const char* pContext,
358 const char* pMessage, void* pUserData);
359
365typedef struct {
379
390typedef ilr_bool (*ilr_filter_port_callback)(ilr_port_type nPortType, const char* pszPortName,
391 void* pUserData);
392
397typedef enum {
419
431typedef void (*ilr_search_message_callback)(ilr_search_msg nMsg, const void* pMsgData,
432 void* pUserData);
433
438typedef enum : uint32_t {
454 ILR_READER_CCID = (1 << 4)
456
461typedef struct {
466 uint32_t nReaderTypes;
484
489typedef enum {
510
522typedef void (*ilr_reader_message_callback)(ilr_reader_msg nMsg, const void* pMsgData,
523 void* pUserData);
524
529typedef enum {
530 ILR_CONNECTION_DISCONNECTED,
534
539typedef struct __attribute__((packed)) {
540 uint8_t nLength;
541
542 union {
543 uint8_t aBytes[15];
544
545 struct __attribute__((packed)) {
546 uint16_t nNumber;
547 uint8_t nSeries;
548 uint16_t nFacility;
549 } em_marine;
550 };
551} ilr_card_uid;
552
557typedef enum : int8_t {
564
569typedef enum : uint8_t {
578
583typedef struct {
585 ilr_card_uid rUID;
586 uint32_t nMemSize;
590 ilr_card_uid rUID2;
592
597typedef int64_t ilr_mf_classic_key;
598
603typedef struct {
604 union {
605 uint8_t a[16];
606
607 struct {
608 uint64_t lo;
609 uint64_t hi;
610 } ll;
611 };
613
618typedef struct {
619 uint8_t a[16] = {0};
621
627typedef enum : uint32_t {
628 ILR_RWCT_F_TEMIC = (1 << 0),
633 ILR_RWCT_F_MF_PLUS = (1 << 5)
635
640#define MAKE_TEMIC_SCAN_PARAM(type, speed) (int)(((uint)((speed)&0xff) << 8) | ((type)&0xff))
644#define TYPE_FROM_TEMIC_SCAN_PARAM(param) (uint8_t)((param)&0xff)
648#define SPEED_FROM_TEMIC_SCAN_PARAM(param) (uint8_t)(((uint)(param) >> 8) & 0xff)
649
656typedef struct {
659
662
668
669#ifdef __cplusplus
670extern "C" {
671#endif
672
673#ifndef ILREADERS_LINKONREQUEST
674
681ILREADERS_EXPORT uint32_t ilr_get_version();
682
692ILREADERS_EXPORT const char* ilr_get_error_text(ilr_status nErrorCode);
693
706
725 void* pUserData = nullptr);
726
738ILREADERS_EXPORT ilr_status ilr_free_memory(void* p);
739
746inline bool ilr_check_version() {
747 auto v = ilr_get_version();
748 return ((((v >> 24) & 0xff) == ILR_VERSION_MAJOR) &&
749 ((int)((v >> 16) & 0xff) >= ILR_VERSION_MINOR));
750}
751
773ILREADERS_EXPORT ilr_status ilr_init(uint32_t nVersionRequested = ILR_VERSION);
774
788ILREADERS_EXPORT ilr_status ilr_cleanup();
789
796
803ILREADERS_EXPORT ilr_status ilr_clone_handle(ilr_handle h, ilr_handle* pNewHandle);
804
821 void* pUserData = nullptr);
822
832ILREADERS_EXPORT ilr_status ilr_set_options(const ilr_options* pOptions);
833
843ILREADERS_EXPORT ilr_status ilr_get_options(ilr_options* pOptions);
844
858ILREADERS_EXPORT ilr_status ilr_get_search(ilr_handle* pSearch);
859
875ILREADERS_EXPORT ilr_status ilr_get_reader(ilr_port_type nPortType, const char* pszPortName,
876 ilr_handle* pReader);
877
898 void* pUserData = nullptr);
899
922 ilr_bool fEnable = ILR_TRUE);
923
938 const void** pMsgData, ilr_bool* pFound);
939
954 const ilr_search_options* pOptions);
955
967 ilr_search_options* pOptions);
968
985ILREADERS_EXPORT ilr_status ilr_search_set_listen_ports(ilr_handle hSearch, const uint16_t* pPorts,
986 size_t nCount);
987
1011ILREADERS_EXPORT ilr_status ilr_search_get_listen_ports(ilr_handle hSearch, uint16_t* pBuf,
1012 size_t* pSize);
1013
1029ILREADERS_EXPORT ilr_status ilr_search_get_listen_status(ilr_handle hSearch, uint16_t nTcpPort,
1030 ilr_status* pStatus);
1031
1045ILREADERS_EXPORT ilr_status ilr_search_scan(ilr_handle hSearch, ilr_bool fReset = ILR_FALSE);
1046
1058ILREADERS_EXPORT ilr_status ilr_search_begin_scan(ilr_handle hSearch, ilr_bool fReset,
1059 ilr_handle* pCommand);
1060
1074ILREADERS_EXPORT ilr_status ilr_search_get_reader_count(ilr_handle hSearch, size_t* pCount);
1075
1090ILREADERS_EXPORT ilr_status ilr_search_get_reader_info(ilr_handle hSearch, size_t nIdx,
1091 ilr_reader_info* pInfo);
1092
1109 ilr_bool fEnable = ILR_TRUE,
1110 ilr_bool fWait = ILR_TRUE);
1111
1124 ilr_handle* pCommand);
1125
1136ILREADERS_EXPORT ilr_status ilr_search_get_auto_scan(ilr_handle hSearch, ilr_bool* pEnabled);
1137
1152ILREADERS_EXPORT ilr_status ilr_search_open_port(ilr_handle hSearch, ilr_port_type nPortType,
1153 const char* pszPortName, ilr_reader_info* pInfo,
1154 int* pPort);
1155
1167 const char* pszPortName,
1168 ilr_handle* pCommand);
1169
1179ILREADERS_EXPORT ilr_status ilr_search_end_open_port(ilr_handle hCommand, int* pPortFD,
1180 ilr_reader_info* pInfo);
1181
1195ILREADERS_EXPORT ilr_status ilr_search_close_port(ilr_handle hSearch, ilr_port_type nPortType,
1196 const char* pszPortName, int hPort);
1197
1210 const char* pszPortName, int hPortFD,
1211 ilr_handle* pCommand);
1212
1233 void* pUserData = nullptr);
1234
1257 ilr_bool fEnable = ILR_TRUE);
1258
1273 const void** pMsgData, ilr_bool* pFound);
1274
1286 const ilr_reader_options* pOptions);
1287
1299 ilr_reader_options* pOptions);
1300
1313ILREADERS_EXPORT ilr_status ilr_reader_connect(ilr_handle hReader, ilr_bool fReconnect = ILR_FALSE);
1314
1326ILREADERS_EXPORT ilr_status ilr_reader_begin_connect(ilr_handle hReader, ilr_bool fReconnect,
1327 ilr_handle* pCommand);
1328
1341
1353
1365 ilr_connection_status* pStatus);
1366
1381
1395ILREADERS_EXPORT ilr_status ilr_reader_scan(ilr_handle hReader, ilr_bool fReset = ILR_FALSE,
1396 ilr_bool fPowerOff = ILR_TRUE);
1397
1410ILREADERS_EXPORT ilr_status ilr_reader_begin_scan(ilr_handle hReader, ilr_bool fReset,
1411 ilr_bool fPowerOff, ilr_handle* pCommand);
1412
1424
1442 ilr_bool fEnable = ILR_TRUE,
1443 ilr_bool fWait = ILR_TRUE);
1444
1457 ilr_handle* pCommand);
1458
1469ILREADERS_EXPORT ilr_status ilr_reader_get_auto_scan(ilr_handle hReader, ilr_bool* pEnabled);
1470
1486ILREADERS_EXPORT ilr_status ilr_reader_read_mf_ultralight(ilr_handle hReader, size_t nPageIdx,
1487 uint32_t* pBuf, size_t nPageCount,
1488 size_t* pRead = nullptr);
1489
1502ILREADERS_EXPORT ilr_status ilr_reader_begin_read_mf_ultralight(ilr_handle hReader, size_t nPageIdx,
1503 size_t nPageCount,
1504 ilr_handle* pCommand);
1505
1519 const uint32_t** ppList,
1520 size_t* pRead);
1521
1537ILREADERS_EXPORT ilr_status ilr_reader_write_mf_ultralight(ilr_handle hReader, size_t nPageIdx,
1538 const uint32_t* pData, size_t nPageCount,
1539 size_t* pWritten = nullptr);
1540
1555 size_t nPageIdx,
1556 const uint32_t* pData,
1557 size_t nPageCount,
1558 ilr_handle* pCommand);
1559
1571 size_t* pWritten);
1572
1584 const ilr_mf_classic_key& nKey);
1585
1597 const ilr_mf_plus_key& rKey);
1598
1616ILREADERS_EXPORT ilr_status ilr_reader_auth_mf_card(ilr_handle hReader, size_t nAddress,
1617 ilr_bool fKeyB, ilr_bool* pAuthOk);
1618
1632ILREADERS_EXPORT ilr_status ilr_reader_begin_auth_mf_card(ilr_handle hReader, size_t nAddress,
1633 ilr_bool fKeyB, ilr_handle* pCommand);
1634
1645ILREADERS_EXPORT ilr_status ilr_reader_end_auth_mf_card(ilr_handle hCommand, ilr_bool* pAuthOk);
1646
1662ILREADERS_EXPORT ilr_status ilr_reader_auth_mf_card2(ilr_handle hReader, size_t nAddress,
1663 ilr_bool fKeyB, uint32_t nKeys = 0xFFFF,
1664 int* pFoundIdx = nullptr);
1665
1680ILREADERS_EXPORT ilr_status ilr_reader_begin_auth_mf_card2(ilr_handle hReader, size_t nAddress,
1681 ilr_bool fKeyB, uint32_t nKeys,
1682 ilr_handle* pCommand);
1683
1694ILREADERS_EXPORT ilr_status ilr_reader_end_auth_mf_card2(ilr_handle hCommand, int* pFoundIdx);
1695
1711ILREADERS_EXPORT ilr_status ilr_reader_read_mf_classic(ilr_handle hReader, size_t nBlockIdx,
1712 ilr_mf_block_data* pBuf, size_t nBlockCount,
1713 size_t* pRead = nullptr);
1714
1727ILREADERS_EXPORT ilr_status ilr_reader_begin_read_mf_classic(ilr_handle hReader, size_t nBlockIdx,
1728 size_t nBlockCount,
1729 ilr_handle* pCommand);
1730
1744 const ilr_mf_block_data** ppList,
1745 size_t* pRead);
1746
1762ILREADERS_EXPORT ilr_status ilr_reader_write_mf_classic(ilr_handle hReader, size_t nBlockIdx,
1763 const ilr_mf_block_data* pData,
1764 size_t nBlockCount,
1765 size_t* pWritten = nullptr);
1766
1780ILREADERS_EXPORT ilr_status ilr_reader_begin_write_mf_classic(ilr_handle hReader, size_t nBlockIdx,
1781 const ilr_mf_block_data* pData,
1782 size_t nBlockCount,
1783 ilr_handle* pCommand);
1784
1795ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_classic(ilr_handle hCommand, size_t* pWritten);
1796
1813ILREADERS_EXPORT ilr_status ilr_reader_read_mf_plus(ilr_handle hReader, size_t nAddress,
1814 ilr_mf_block_data* pBuf, size_t nBlockCount,
1815 ilr_bool fOpenText = ILR_TRUE,
1816 size_t* pRead = nullptr);
1817
1831ILREADERS_EXPORT ilr_status ilr_reader_begin_read_mf_plus(ilr_handle hReader, size_t nAddress,
1832 size_t nBlockCount, ilr_bool fOpenText,
1833 ilr_handle* pCommand);
1834
1848 const ilr_mf_block_data** ppList,
1849 size_t* pRead);
1850
1867ILREADERS_EXPORT ilr_status ilr_reader_write_mf_plus(ilr_handle hReader, size_t nAddress,
1868 const ilr_mf_block_data* pData,
1869 size_t nBlockCount,
1870 ilr_bool fOpenText = ILR_TRUE,
1871 size_t* pWritten = nullptr);
1872
1887ILREADERS_EXPORT ilr_status ilr_reader_begin_write_mf_plus(ilr_handle hReader, size_t nAddress,
1888 const ilr_mf_block_data* pData,
1889 size_t nBlockCount, ilr_bool fOpenText,
1890 ilr_handle* pCommand);
1891
1902ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_plus(ilr_handle hCommand, size_t* pWritten);
1903
1918ILREADERS_EXPORT ilr_status ilr_reader_mf_increment(ilr_handle hReader, size_t nBlockIdx,
1919 uint32_t nValue);
1920
1934ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_increment(ilr_handle hReader, size_t nBlockIdx,
1935 uint32_t nValue, ilr_handle* pCommand);
1936
1951ILREADERS_EXPORT ilr_status ilr_reader_mf_decrement(ilr_handle hReader, size_t nBlockIdx,
1952 uint32_t nValue);
1953
1967ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_decrement(ilr_handle hReader, size_t nBlockIdx,
1968 uint32_t nValue, ilr_handle* pCommand);
1969
1982ILREADERS_EXPORT ilr_status ilr_reader_mf_transfer(ilr_handle hReader, size_t nBlockIdx);
1983
1995ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_transfer(ilr_handle hReader, size_t nBlockIdx,
1996 ilr_handle* pCommand);
1997
2010ILREADERS_EXPORT ilr_status ilr_reader_mf_restore(ilr_handle hReader, size_t nBlockIdx);
2011
2023ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_restore(ilr_handle hReader, size_t nBlockIdx,
2024 ilr_handle* pCommand);
2025
2038
2055ILREADERS_EXPORT ilr_status ilr_reader_mf_ras(ilr_handle hReader, ilr_bool fWakeUp, uint8_t* pSAK,
2056 uint16_t* pATQ, ilr_card_uid* pUID, ilr_bool* pFound);
2057
2072ILREADERS_EXPORT ilr_status ilr_reader_mf_rr(ilr_handle hReader, ilr_bool fWakeUp,
2073 const ilr_card_uid& rUID, ilr_bool* pFound);
2074
2086ILREADERS_EXPORT ilr_status ilr_reader_mf_halt(ilr_handle hReader);
2087
2101ILREADERS_EXPORT ilr_status ilr_reader_mf_rats(ilr_handle hReader, uint8_t* pAtsBuf = nullptr,
2102 size_t* pSize = nullptr);
2103
2117ILREADERS_EXPORT ilr_status ilr_reader_mf_write_perso(ilr_handle hReader, uint32_t nAddress,
2118 const ilr_mf_plus_key& rKey);
2119
2132
2149ILREADERS_EXPORT ilr_status ilr_reader_write_mf_ckey(ilr_handle hReader, size_t nIdx,
2150 ilr_bool fKeyB,
2151 const ilr_mf_classic_key* pKeys, size_t nCount,
2152 size_t* pWritten = nullptr);
2153
2169ILREADERS_EXPORT ilr_status ilr_reader_begin_write_mf_ckey(ilr_handle hReader, size_t nIdx,
2170 ilr_bool fKeyB,
2171 const ilr_mf_classic_key* pKeys,
2172 size_t nCount, ilr_handle* pCommand);
2173
2184ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_ckey(ilr_handle hCommand, size_t* pWritten);
2185
2202ILREADERS_EXPORT ilr_status ilr_reader_write_mf_pkey(ilr_handle hReader, size_t nIdx,
2203 ilr_bool fKeyB, const ilr_mf_plus_key* pKeys,
2204 size_t nCount, size_t* pWritten = nullptr);
2205
2221ILREADERS_EXPORT ilr_status ilr_reader_begin_write_mf_pkey(ilr_handle hReader, size_t nIdx,
2222 ilr_bool fKeyB,
2223 const ilr_mf_plus_key* pKeys,
2224 size_t nCount, ilr_handle* pCommand);
2225
2236ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_pkey(ilr_handle hCommand, size_t* pWritten);
2237
2249 const int64_t& nPassword);
2250
2263ILREADERS_EXPORT ilr_status ilr_reader_scan_temic(ilr_handle hReader, int nScanParam = -1);
2264
2276ILREADERS_EXPORT ilr_status ilr_reader_begin_scan_temic(ilr_handle hReader, int nScanParam,
2277 ilr_handle* pCommand);
2278
2293 ilr_bool fEnable = ILR_TRUE);
2294
2305ILREADERS_EXPORT ilr_status ilr_reader_get_scan_temic(ilr_handle hReader, ilr_bool* pEnable);
2306
2323ILREADERS_EXPORT ilr_status ilr_reader_read_temic(ilr_handle hReader, size_t nBlockIdx,
2324 uint32_t* pBuf, size_t nBlockCount,
2325 int nScanParam = -1, size_t* pRead = nullptr);
2326
2340ILREADERS_EXPORT ilr_status ilr_reader_begin_read_temic(ilr_handle hReader, size_t nBlockIdx,
2341 size_t nBlockCount, int nScanParam,
2342 ilr_handle* pCommand);
2343
2356ILREADERS_EXPORT ilr_status ilr_reader_end_read_temic(ilr_handle hCommand, const uint** ppList,
2357 size_t* pRead);
2358
2376ILREADERS_EXPORT ilr_status ilr_reader_write_temic(ilr_handle hReader, size_t nBlockIdx,
2377 const uint32_t* pData, size_t nBlockCount,
2378 ilr_bool fLock = ILR_FALSE, int nScanParam = -1,
2379 size_t* pWritten = nullptr);
2380
2396ILREADERS_EXPORT ilr_status ilr_reader_begin_write_temic(ilr_handle hReader, size_t nBlockIdx,
2397 const uint32_t* pData, size_t nBlockCount,
2398 ilr_bool fLock, int nScanParam,
2399 ilr_handle* pCommand);
2400
2411ILREADERS_EXPORT ilr_status ilr_reader_end_write_temic(ilr_handle hCommand, size_t* pWritten);
2412
2427
2439
2450ILREADERS_EXPORT ilr_status ilr_reader_begin_reset_temic(ilr_handle hReader, ilr_handle* pCommand);
2451
2461ILREADERS_EXPORT ilr_status ilr_encode_temic_emmarine(const ilr_card_uid& rUID, uint32_t* pBuf3,
2462 size_t nBlockCount);
2463
2475ILREADERS_EXPORT ilr_status ilr_decode_temic_emmarine(const uint32_t* pData3, size_t nBlockCount,
2476 ilr_card_uid* pUID,
2477 ilr_bool* pConfigOk = nullptr);
2478
2489ILREADERS_EXPORT ilr_status ilr_encode_temic_hid(const ilr_card_uid& rUID, uint32_t* pBuf4,
2490 size_t nBlockCount, int nWiegand);
2491
2503ILREADERS_EXPORT ilr_status ilr_decode_temic_hid(const uint32_t* pData4, size_t nBlockCount,
2504 ilr_card_uid* pUID, int* pWiegand,
2505 ilr_bool* pConfigOk = nullptr);
2506
2514ILREADERS_EXPORT ilr_status ilr_command_cancel(ilr_handle hCommand);
2515
2525ILREADERS_EXPORT ilr_status ilr_command_get_status(ilr_handle hCommand, ilr_status* pStatus);
2526
2536ILREADERS_EXPORT ilr_status ilr_command_get_progress(ilr_handle hCommand, size_t* pCurrent,
2537 size_t* pTotal);
2538
2539#endif // !ILREADERS_LINKONREQUEST
2540
2541#ifdef __cplusplus
2542} /* extern "C" */
2543#endif
2544
2545#endif // ILREADERS_H_INCLUDED
ILREADERS_EXPORT ilr_status ilr_set_log_level(ilr_log_level nLevel)
Устанавливает уровень лога отладки.
ILREADERS_EXPORT uint32_t ilr_get_version()
Возвращает номер версии библиотеки.
#define ILR_VERSION_MAJOR
Основной номер версии библиотеки SDK Readers.
Definition: ilreaders.h:52
#define ILR_VERSION_MINOR
Минорный номер версии библиотеки SDK Readers.
Definition: ilreaders.h:60
void(* ilr_logging_callback)(ilr_log_level nLevel, const char *pContext, const char *pMessage, void *pUserData)
Тип функции обратного вызова для получения сообщений лога отладки библиотеки.
Definition: ilreaders.h:357
ILREADERS_EXPORT ilr_status ilr_get_options(ilr_options *pOptions)
Возвращает глобальные настройки библиотеки.
ILREADERS_EXPORT ilr_status ilr_set_log_callback(ilr_logging_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для лога отладки.
bool ilr_check_version()
Проверяет версию SDK.
Definition: ilreaders.h:746
ILREADERS_EXPORT ilr_status ilr_init(uint32_t nVersionRequested=ILR_VERSION)
Инициализирует библиотеку SDK Readers.
#define ILR_VERSION
Полный номер версии библиотеки SDK Readers.
Definition: ilreaders.h:73
ILREADERS_EXPORT const char * ilr_get_error_text(ilr_status nErrorCode)
Возвращает описание ошибки по её коду.
ILREADERS_EXPORT ilr_status ilr_set_options(const ilr_options *pOptions)
Устанавливает глобальные настройки библиотеки.
ILREADERS_EXPORT ilr_status ilr_cleanup()
Освобождает ресурсы библиотеки.
ilr_status
Коды ошибок.
Definition: ilreaders.h:106
@ ILR_E_WRITE_T57
Не удалось записать на Temic.
Definition: ilreaders.h:168
@ ILR_E_NOT_INITIALIZED
Библиотека не инициализирована с помощью ilr_init.
Definition: ilreaders.h:130
@ ILR_E_ABORT
Операция прервана.
Definition: ilreaders.h:120
@ ILR_E_PORT_OPEN_FAILED
Неизвестная ошибка открытия порта.
Definition: ilreaders.h:142
@ ILR_E_OUT_OF_RESOURCES
Недостаточно ресурсов для завершения операции.
Definition: ilreaders.h:132
@ ILR_E_INVALIDARG
Неправильные параметры.
Definition: ilreaders.h:126
@ ILR_E_POINTER
Неправильный указатель.
Definition: ilreaders.h:118
@ ILR_E_SCARD_ERROR
Ошибка функции Smart Cards.
Definition: ilreaders.h:152
@ ILR_E_NOTIMPL
Команда не поддерживается считывателем.
Definition: ilreaders.h:116
@ ILR_E_BOUNDS
Индекс вне диапазона.
Definition: ilreaders.h:114
@ ILR_E_BLOCKING_CALL_NOT_ALLOWED
Блокирующий вызов функции из обработчика не разрешен.
Definition: ilreaders.h:136
@ ILR_E_CONNECTION_DOWN
Связь с устройством была потеряна.
Definition: ilreaders.h:146
@ ILR_E_CARD_NACK
Карта отказала от выполнения команды.
Definition: ilreaders.h:158
@ ILR_E_CARD_PAGE_LOCK
Страница карты заблокирована.
Definition: ilreaders.h:166
@ ILR_E_PORT_BUSY
Порт занят.
Definition: ilreaders.h:170
@ ILR_E_REQUEST_TIMEOUT
Тайм-аут запроса к считывателю.
Definition: ilreaders.h:148
@ ILR_E_CONNECTION_ERROR
Ошибка подключения.
Definition: ilreaders.h:144
@ ILR_E_BAD_RESPONSE
Не распознан ответ считывателя.
Definition: ilreaders.h:150
@ ILR_E_BUFFER_TOO_SMALL
Размер буфера слишком мал
Definition: ilreaders.h:134
@ ILR_E_NO_CARD
Нет карты.
Definition: ilreaders.h:156
@ ILR_STATUS_SIZE
Размер списка ошибок.
Definition: ilreaders.h:172
@ ILR_OK
Операция успешно выполнена.
Definition: ilreaders.h:108
@ ILR_E_READER_ERROR
Ошибка считывателя.
Definition: ilreaders.h:154
@ ILR_E_PENDING
Операция выполняется асинхронно.
Definition: ilreaders.h:112
@ ILR_E_PORT_NOT_EXIST
Порт не существует.
Definition: ilreaders.h:138
@ ILR_E_MIFARE_VALUE
Ошибка блока-значения Mifare.
Definition: ilreaders.h:164
@ ILR_E_OUTOFMEMORY
Недостаточно памяти.
Definition: ilreaders.h:124
@ ILR_E_PORT_ACCESS_DENIED
Нет доступа к порту.
Definition: ilreaders.h:140
@ ILR_E_CARD_AUTH
Ошибка авторизации карты.
Definition: ilreaders.h:160
@ ILR_E_MIFARE_ADDRESS
Неправильный адрес Mifare.
Definition: ilreaders.h:162
@ ILR_E_WRONG_SDK_VERSION
Неправильная версия Sdk Readers передана в функцию ilr_init.
Definition: ilreaders.h:128
@ ILR_E_FAIL
Неизвестная ошибка.
Definition: ilreaders.h:110
@ ILR_E_HANDLE
Неправильный дескриптор.
Definition: ilreaders.h:122
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_begin_connect(ilr_handle hReader, ilr_bool fReconnect, ilr_handle *pCommand)
Запускает асинхронную команду подключения к считывателю.
ILREADERS_EXPORT ilr_status ilr_reader_end_read_temic(ilr_handle hCommand, const uint **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Temic.
ILREADERS_EXPORT ilr_status ilr_reader_set_scan_temic(ilr_handle hReader, ilr_bool fEnable=ILR_TRUE)
Вкл/выкл сканирование карт Temic (для Z-2 Rd-All и Z-2 EHR).
ILREADERS_EXPORT ilr_status ilr_reader_enable_message_queue(ilr_handle hReader, ilr_bool fEnable=ILR_TRUE)
Включает/выключает очередь сообщений.
ilr_rwcard_type_flags
Флаги типов перезаписываемых карт.
Definition: ilreaders.h:627
ILREADERS_EXPORT ilr_status ilr_reader_auth_mf_card2(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, uint32_t nKeys=0xFFFF, int *pFoundIdx=nullptr)
Авторизует сектор карты Mifare Classic / Plus, используя ключи считывателя.
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_scan(ilr_handle hReader, ilr_bool fReset=ILR_FALSE, ilr_bool fPowerOff=ILR_TRUE)
Ищет карту в поле считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_mf_rats(ilr_handle hReader, uint8_t *pAtsBuf=nullptr, size_t *pSize=nullptr)
Переходит на ISO 14443-4.
ILREADERS_EXPORT ilr_status ilr_reader_get_connection_status(ilr_handle hReader, ilr_connection_status *pStatus)
Возвращает состояние подключения к считывателю.
ILREADERS_EXPORT ilr_status ilr_reader_load_mf_pkey(ilr_handle hReader, const ilr_mf_plus_key &rKey)
Загружает ключ для авторизации сектора Mifare Plus SL3.
ILREADERS_EXPORT ilr_status ilr_reader_begin_scan(ilr_handle hReader, ilr_bool fReset, ilr_bool fPowerOff, ilr_handle *pCommand)
Запускает асинхронную команду поиска карты.
ILREADERS_EXPORT ilr_status ilr_reader_read_temic(ilr_handle hReader, size_t nBlockIdx, uint32_t *pBuf, size_t nBlockCount, int nScanParam=-1, size_t *pRead=nullptr)
Читает данные карты Temic.
ILREADERS_EXPORT ilr_status ilr_reader_end_auth_mf_card2(ilr_handle hCommand, int *pFoundIdx)
Возвращает результат авторизации сектора карты.
ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_classic(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Mifare Classic или Mifare Plus SL1.
ILREADERS_EXPORT ilr_status ilr_reader_set_options(ilr_handle hReader, const ilr_reader_options *pOptions)
Устанавливает параметры считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_ultralight(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Mifare Ultralight.
ILREADERS_EXPORT ilr_status 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 в память считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_begin_set_auto_scan(ilr_handle hReader, ilr_bool fEnable, ilr_handle *pCommand)
Запускает асинхронную команду вкл/выкл автоматического сканирования карт.
ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_ckey(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи ключей аутентификации Mifare Classic в память считывателя.
ilr_mf_plus_type
Тип Mifare Plus.
Definition: ilreaders.h:569
ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_restore(ilr_handle hReader, size_t nBlockIdx, ilr_handle *pCommand)
Перемещает содержимое блока в регистр данных Mifare.
ILREADERS_EXPORT ilr_status ilr_reader_get_message(ilr_handle hReader, ilr_reader_msg *pMsg, const void **pMsgData, ilr_bool *pFound)
Извлекает следующее сообщение из очереди.
ilr_reader_msg
Сообщение считывателя.
Definition: ilreaders.h:489
ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_pkey(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи ключей аутентификации Mifare Plus в память считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_decrement(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue, ilr_handle *pCommand)
Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.
ILREADERS_EXPORT ilr_status ilr_reader_connect(ilr_handle hReader, ilr_bool fReconnect=ILR_FALSE)
Подключается к считывателю.
ILREADERS_EXPORT ilr_status 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 в память считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_increment(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue, ilr_handle *pCommand)
Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных...
ILREADERS_EXPORT ilr_status ilr_reader_get_options(ilr_handle hReader, ilr_reader_options *pOptions)
Возвращает параметры считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_get_card_info(ilr_handle hReader, ilr_card_info *pInfo)
Возвращает информацию о карте в поле считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_mf_restore(ilr_handle hReader, size_t nBlockIdx)
Перемещает содержимое блока в регистр данных Mifare.
ILREADERS_EXPORT ilr_status ilr_reader_begin_reset_temic(ilr_handle hReader, ilr_handle *pCommand)
Запускает асинхронную команду сброса TRES.
ilr_mf_plus_sl
Уровень безопасности Mifare Plus.
Definition: ilreaders.h:557
ILREADERS_EXPORT ilr_status ilr_reader_mf_commit_perso(ilr_handle hReader)
Переключает Mifare Plus в SL1 или SL3(если SL1 нет).
ILREADERS_EXPORT ilr_status ilr_reader_mf_write_perso(ilr_handle hReader, uint32_t nAddress, const ilr_mf_plus_key &rKey)
Записывает ключи AES и всех блоков.
ILREADERS_EXPORT ilr_status ilr_reader_end_read_mf_ultralight(ilr_handle hCommand, const uint32_t **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Mifare Ultralight.
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_begin_disconnect(ilr_handle hReader, ilr_handle *pCommand)
Запускает асинхронную команду отключения от считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_write_mf_ultralight(ilr_handle hReader, size_t nPageIdx, const uint32_t *pData, size_t nPageCount, size_t *pWritten=nullptr)
Пишет данные карты Mifare Ultralight.
ILREADERS_EXPORT ilr_status ilr_reader_end_read_mf_plus(ilr_handle hCommand, const ilr_mf_block_data **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Mifare Plus SL3.
ILREADERS_EXPORT ilr_status ilr_reader_begin_scan_temic(ilr_handle hReader, int nScanParam, ilr_handle *pCommand)
Запускает асинхронную команду поиска карты Temic в поле считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_end_write_mf_plus(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Mifare Plus SL3.
ILREADERS_EXPORT ilr_status ilr_reader_mf_rr(ilr_handle hReader, ilr_bool fWakeUp, const ilr_card_uid &rUID, ilr_bool *pFound)
R+R(Request+Reselect(по известному номеру)).
ILREADERS_EXPORT ilr_status ilr_reader_begin_auth_mf_card(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, ilr_handle *pCommand)
Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus используя ключ,...
ILREADERS_EXPORT ilr_status ilr_reader_mf_halt(ilr_handle hReader)
Halt.
ILREADERS_EXPORT ilr_status ilr_reader_mf_transfer(ilr_handle hReader, size_t nBlockIdx)
Записывает содержимое во временном регистре данных в блок-значение.
ILREADERS_EXPORT ilr_status ilr_reader_end_read_mf_classic(ilr_handle hCommand, const ilr_mf_block_data **ppList, size_t *pRead)
Возвращает результат чтения данных из карты Mifare Classic или Mifare Plus SL1.
ILREADERS_EXPORT ilr_status ilr_reader_reset_temic(ilr_handle hReader, ilr_bool fWait=ILR_TRUE)
Сброс TRES.
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_mf_power_off(ilr_handle hReader)
Выключает RF поле считывателя (после выключения нужно подождать 10 мс).
int64_t ilr_mf_classic_key
Ключ аутентификации Mifare Classic.
Definition: ilreaders.h:597
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_disconnect(ilr_handle hReader)
Отключается от считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_load_temic_password(ilr_handle hReader, const int64_t &nPassword)
Загружает пароль Temic в память объекта считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_read_mf_ultralight(ilr_handle hReader, size_t nPageIdx, uint32_t *pBuf, size_t nPageCount, size_t *pRead=nullptr)
Читает данные карты Mifare Ultralight.
struct __attribute__((packed))
ID карты
Definition: ilreaders.h:539
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_mf_decrement(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue)
Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных.
ILREADERS_EXPORT ilr_status ilr_reader_begin_read_mf_classic(ilr_handle hReader, size_t nBlockIdx, size_t nBlockCount, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Mifare Classic или Mifare Plus SL1.
ILREADERS_EXPORT ilr_status 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 в память считывателя
ILREADERS_EXPORT ilr_status ilr_reader_set_message_callback(ilr_handle hReader, ilr_reader_message_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для уведомлений считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_end_auth_mf_card(ilr_handle hCommand, ilr_bool *pAuthOk)
Возвращает результат авторизации сектора карты.
ILREADERS_EXPORT ilr_status ilr_reader_begin_write_mf_ultralight(ilr_handle hReader, size_t nPageIdx, const uint32_t *pData, size_t nPageCount, ilr_handle *pCommand)
Запускает асинхронную команду записи данных в карту Mifare Ultralight.
ILREADERS_EXPORT ilr_status ilr_reader_mf_increment(ilr_handle hReader, size_t nBlockIdx, uint32_t nValue)
Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных...
ILREADERS_EXPORT ilr_status 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)
ILREADERS_EXPORT ilr_status ilr_reader_get_scan_temic(ilr_handle hReader, ilr_bool *pEnable)
Возвращает True если сканирование Temic включено.
ILREADERS_EXPORT ilr_status ilr_reader_auth_mf_card(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, ilr_bool *pAuthOk)
Авторизует сектор карты Mifare Classic/Plus.
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_end_write_temic(ilr_handle hCommand, size_t *pWritten)
Возвращает результат записи данных в карту Temic.
ILREADERS_EXPORT ilr_status ilr_reader_get_info(ilr_handle hReader, ilr_reader_info *pInfo)
Возвращает информацию о считывателе.
ILREADERS_EXPORT ilr_status ilr_reader_begin_mf_transfer(ilr_handle hReader, size_t nBlockIdx, ilr_handle *pCommand)
Записывает содержимое во временном регистре данных в блок-значение.
ILREADERS_EXPORT ilr_status ilr_reader_begin_read_mf_ultralight(ilr_handle hReader, size_t nPageIdx, size_t nPageCount, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Mifare Ultralight.
void(* ilr_reader_message_callback)(ilr_reader_msg nMsg, const void *pMsgData, void *pUserData)
Тип функции обратного вызова для получения уведомлений от дескриптора считывателя.
Definition: ilreaders.h:522
ILREADERS_EXPORT ilr_status ilr_reader_begin_read_mf_plus(ilr_handle hReader, size_t nAddress, size_t nBlockCount, ilr_bool fOpenText, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Mifare Plus SL3.
ILREADERS_EXPORT ilr_status ilr_reader_get_auto_scan(ilr_handle hReader, ilr_bool *pEnabled)
Возвращает флаг автоматическое сканирование карт.
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_reader_begin_auth_mf_card2(ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, uint32_t nKeys, ilr_handle *pCommand)
Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus. используя ключи в памя...
ILREADERS_EXPORT ilr_status 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 в память считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_load_mf_ckey(ilr_handle hReader, const ilr_mf_classic_key &nKey)
Загружает ключ для авторизации сектора Mifare Classic / Plus SL1.
ILREADERS_EXPORT ilr_status ilr_reader_scan_temic(ilr_handle hReader, int nScanParam=-1)
Ищет карту Temic в поле считывателя.
ILREADERS_EXPORT ilr_status ilr_reader_set_auto_scan(ilr_handle hReader, ilr_bool fEnable=ILR_TRUE, ilr_bool fWait=ILR_TRUE)
Включает/выключает автоматическое сканирование карт.
ILREADERS_EXPORT ilr_status ilr_get_reader(ilr_port_type nPortType, const char *pszPortName, ilr_handle *pReader)
Создаёт дескриптор считывателя.
ilr_connection_status
Состояние подключения к считывателю.
Definition: ilreaders.h:529
ILREADERS_EXPORT ilr_status ilr_reader_begin_read_temic(ilr_handle hReader, size_t nBlockIdx, size_t nBlockCount, int nScanParam, ilr_handle *pCommand)
Запускает асинхронную команду чтения данных из карты Temic.
@ ILR_RWCT_F_TEMIC
Temic.
Definition: ilreaders.h:628
@ ILR_RWCT_F_MF_CLASSIC
Mifare Classic или Plus SL1.
Definition: ilreaders.h:630
@ ILR_RWCT_F_MF_PLUS
Другие Mifare Plus.
Definition: ilreaders.h:633
@ ILR_RWCT_F_MF_PLUS_SL0
Mifare Plus SL0.
Definition: ilreaders.h:631
@ ILR_RWCT_F_MF_ULTRALIGHT
Mifare Ultralight.
Definition: ilreaders.h:629
@ ILR_RWCT_F_MF_PLUS_SL3
Mifare Plus SL3.
Definition: ilreaders.h:632
@ ILR_MF_PLUS_X
Mifare Plus X.
Definition: ilreaders.h:572
@ ILR_MF_PLUS_TYPE_SIZE
Размер списка.
Definition: ilreaders.h:576
@ ILR_MF_PLUS_SE
MIFARE Plus SE.
Definition: ilreaders.h:573
@ ILR_MF_PLUS_UNKNOWN
Не известно.
Definition: ilreaders.h:570
@ ILR_MF_PLUS_EV2
MIFARE Plus EV2.
Definition: ilreaders.h:575
@ ILR_MF_PLUS_S
Mifare Plus S.
Definition: ilreaders.h:571
@ ILR_MF_PLUS_EV1
MIFARE Plus EV1.
Definition: ilreaders.h:574
@ ILR_READER_MSG_CONNECTION_CHANGED
Definition: ilreaders.h:500
@ ILR_READER_MSG_CARD_FOUND
Definition: ilreaders.h:504
@ ILR_READER_MSG_CARD_LOST
Definition: ilreaders.h:508
@ ILR_READER_MSG_COMMAND_FINISH
Definition: ilreaders.h:495
@ ILR_MF_PLUS_SL_SL0
Уровень 0 (не инициализирована).
Definition: ilreaders.h:559
@ ILR_MF_PLUS_SL_SL2
Уровень 2.
Definition: ilreaders.h:561
@ ILR_MF_PLUS_SL_UNKNOWN
Не известно.
Definition: ilreaders.h:558
@ ILR_MF_PLUS_SL_SL3
Уровень 3.
Definition: ilreaders.h:562
@ ILR_MF_PLUS_SL_SL1
Уровень 1 (эмуляция Mifare Classic).
Definition: ilreaders.h:560
@ ILR_CONNECTION_CONNECTED
Подключён.
Definition: ilreaders.h:531
@ ILR_CONNECTION_CONNECTING
Подключение.
Definition: ilreaders.h:532
ILREADERS_EXPORT ilr_status ilr_set_filter_port_callback(ilr_filter_port_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для фильтрации портов при поиске считывателей.
ILREADERS_EXPORT ilr_status ilr_search_get_auto_scan(ilr_handle hSearch, ilr_bool *pEnabled)
Возвращает флаг авто поиска считывателей.
ilr_reader_types
Флаги типов считывателей.
Definition: ilreaders.h:438
ILREADERS_EXPORT ilr_status ilr_search_set_listen_ports(ilr_handle hSearch, const uint16_t *pPorts, size_t nCount)
Устанавливает список портов для прослушки конвертеров к режиме "Клиент".
ILREADERS_EXPORT ilr_status ilr_search_get_listen_ports(ilr_handle hSearch, uint16_t *pBuf, size_t *pSize)
Возвращает список портов для прослушки конвертеров к режиме "Клиент".
void(* ilr_search_message_callback)(ilr_search_msg nMsg, const void *pMsgData, void *pUserData)
Тип функции обратного вызова для получения уведомлений от дескриптора поиска.
Definition: ilreaders.h:431
ILREADERS_EXPORT ilr_status ilr_search_get_reader_count(ilr_handle hSearch, size_t *pCount)
Возвращает количество найденных считывателей.
ILREADERS_EXPORT ilr_status ilr_search_get_options(ilr_handle hSearch, ilr_search_options *pOptions)
Возвращает параметры поиска считывателей.
ILREADERS_EXPORT ilr_status ilr_search_get_reader_info(ilr_handle hSearch, size_t nIdx, ilr_reader_info *pInfo)
Возвращает информацию о найденном считывателе.
ILREADERS_EXPORT ilr_status ilr_search_enable_message_queue(ilr_handle hSearch, ilr_bool fEnable=ILR_TRUE)
Включает/выключает очередь сообщений.
ILREADERS_EXPORT ilr_status ilr_search_scan(ilr_handle hSearch, ilr_bool fReset=ILR_FALSE)
Ищет считыватели.
ilr_bool(* ilr_filter_port_callback)(ilr_port_type nPortType, const char *pszPortName, void *pUserData)
Тип функции обратного вызова для фильтрации портов при поиске считывателей.
Definition: ilreaders.h:390
ILREADERS_EXPORT ilr_status ilr_search_begin_scan(ilr_handle hSearch, ilr_bool fReset, ilr_handle *pCommand)
Запускает асинхронную команду поиска считывателей.
ILREADERS_EXPORT ilr_status ilr_search_get_message(ilr_handle hSearch, ilr_search_msg *pMsg, const void **pMsgData, ilr_bool *pFound)
Извлекает следующее сообщение из очереди.
ILREADERS_EXPORT ilr_status ilr_search_begin_set_auto_scan(ilr_handle hSearch, ilr_bool fEnable, ilr_handle *pCommand)
Запускает асинхронную команду вкл/выкл режим авто поиска считывателей.
ilr_search_msg
Сообщение поиска считывателей.
Definition: ilreaders.h:397
ILREADERS_EXPORT ilr_status ilr_search_set_options(ilr_handle hSearch, const ilr_search_options *pOptions)
Устанавливает параметры поиска считывателей.
ILREADERS_EXPORT ilr_status ilr_search_set_message_callback(ilr_handle hSearch, ilr_search_message_callback pCallback, void *pUserData=nullptr)
Устанавливает функцию обратного вызова для уведомлений поиска считывателей.
ILREADERS_EXPORT ilr_status ilr_get_search(ilr_handle *pSearch)
Создаёт дескриптор поиска считывателей.
ILREADERS_EXPORT ilr_status ilr_search_set_auto_scan(ilr_handle hSearch, ilr_bool fEnable=ILR_TRUE, ilr_bool fWait=ILR_TRUE)
Включает/выключает авто поиск считывателей.
@ ILR_READER_SERVER
Definition: ilreaders.h:447
@ ILR_READER_CCID
Definition: ilreaders.h:454
@ ILR_READER_ILUSB
Definition: ilreaders.h:440
@ ILR_READER_TPUSB
Definition: ilreaders.h:445
@ ILR_READER_CLIENT
Definition: ilreaders.h:449
@ ILR_SEARCH_MSG_LIST_CHANGED
Definition: ilreaders.h:417
@ ILR_SEARCH_MSG_COMMAND_FINISH
Definition: ilreaders.h:403
@ ILR_SEARCH_MSG_READER_FOUND
Definition: ilreaders.h:407
@ ILR_SEARCH_MSG_READER_LOST
Definition: ilreaders.h:411
ILREADERS_EXPORT ilr_status ilr_free_memory(void *p)
Освобождает память, которую выделила библиотека.
ILREADERS_EXPORT ilr_status 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.
ILREADERS_EXPORT ilr_status ilr_encode_temic_hid(const ilr_card_uid &rUID, uint32_t *pBuf4, size_t nBlockCount, int nWiegand)
Кодирует данные для эмуляции HID, для записи в блоки 0..3.
void * ilr_handle
Definition: ilreaders.h:93
ILREADERS_EXPORT ilr_status ilr_search_close_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, int hPort)
Закрывает порт.
ILREADERS_EXPORT ilr_status ilr_encode_temic_emmarine(const ilr_card_uid &rUID, uint32_t *pBuf3, size_t nBlockCount)
Кодирует данные для эмуляции Em-Marine, для записи в блоки 0..2.
ILREADERS_EXPORT ilr_status ilr_search_open_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, ilr_reader_info *pInfo, int *pPort)
Открывает порт и возвращает его дескриптор.
ILREADERS_EXPORT ilr_status ilr_clone_handle(ilr_handle h, ilr_handle *pNewHandle)
Клонирует дескриптор поиска считывателей или дескриптор считывателя.
ILREADERS_EXPORT ilr_status ilr_search_end_open_port(ilr_handle hCommand, int *pPortFD, ilr_reader_info *pInfo)
Возвращает результат открытия порта.
ILREADERS_EXPORT ilr_status ilr_search_get_listen_status(ilr_handle hSearch, uint16_t nTcpPort, ilr_status *pStatus)
Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент".
ilr_bool
Definition: ilreaders.h:96
@ ILR_FALSE
Ложь. =0.
Definition: ilreaders.h:97
@ ILR_TRUE
Истина. Может быть любое число отличное от 0.
Definition: ilreaders.h:98
ILREADERS_EXPORT ilr_status ilr_search_begin_close_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, int hPortFD, ilr_handle *pCommand)
Запускает асинхронную команду закрытия порта.
ilr_log_level
Уровень лога.
Definition: ilreaders.h:306
@ ILR_LOG_LEVEL_WARNING
Предупреждения.
Definition: ilreaders.h:324
@ ILR_LOG_LEVEL_NONE
Лог выключен.
Definition: ilreaders.h:311
@ ILR_LOG_LEVEL_INFO
Уведомления.
Definition: ilreaders.h:330
@ ILR_LOG_LEVEL_DEBUG
Отладочные сообщения.
Definition: ilreaders.h:336
@ ILR_LOG_LEVEL_SIZE
Definition: ilreaders.h:338
@ ILR_LOG_LEVEL_ERROR
Ошибки.
Definition: ilreaders.h:318
ILREADERS_EXPORT ilr_status ilr_command_get_status(ilr_handle hCommand, ilr_status *pStatus)
Возвращает состояние команды.
ILREADERS_EXPORT ilr_status 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_card_type
Тип карты.
Definition: ilreaders.h:248
@ ILR_CARD_TYPE_SIZE
Размер списка.
Definition: ilreaders.h:273
@ ILR_CARD_MF_PLUS_4K
Mifare Plus 4K.
Definition: ilreaders.h:268
@ ILR_CARD_SMART_MX_MF1K
Smart MX with Mifare 1K.
Definition: ilreaders.h:269
@ ILR_CARD_MF_PLUS
Mifare Plus.
Definition: ilreaders.h:265
@ ILR_CARD_MF_DESFIRE
Mifare DESFire.
Definition: ilreaders.h:271
@ ILR_CARD_MF_PROX
Mifare ProX.
Definition: ilreaders.h:272
@ ILR_CARD_CAME433
Радио-брелок CAME.
Definition: ilreaders.h:255
@ ILR_CARD_MF_ULTRALIGHT_C
Mifare Ultralight C.
Definition: ilreaders.h:260
@ ILR_CARD_SMART_MX_MF4K
Smart MX with Mifare 4K.
Definition: ilreaders.h:270
@ ILR_CARD_EM_MARINE
Em-Marine.
Definition: ilreaders.h:250
@ ILR_CARD_MF_CLASSIC_2K
Mifare Classic 2K.
Definition: ilreaders.h:263
@ ILR_CARD_MF_ULTRALIGHT
Mifare UltraLight.
Definition: ilreaders.h:259
@ ILR_CARD_MF_PLUS_1K
Mifare Plus 1K.
Definition: ilreaders.h:266
@ ILR_CARD_COD433
Cod433.
Definition: ilreaders.h:253
@ ILR_CARD_COD433_FIX
Cod433 Fix.
Definition: ilreaders.h:254
@ ILR_CARD_MF_CLASSIC_4K
Mifare Classic 4K.
Definition: ilreaders.h:264
@ ILR_CARD_UNKNOWN
Не известно.
Definition: ilreaders.h:249
@ ILR_CARD_DALLAS
Dallas.
Definition: ilreaders.h:256
@ ILR_CARD_HID
HID.
Definition: ilreaders.h:251
@ ILR_CARD_TEMIC
Temic (T5557).
Definition: ilreaders.h:257
@ ILR_CARD_MF_PLUS_2K
Mifare Plus 2K.
Definition: ilreaders.h:267
@ ILR_CARD_MF_CLASSIC_1K
Mifare Classic 1K.
Definition: ilreaders.h:262
@ ILR_CARD_MF_MINI
Mifare Mini.
Definition: ilreaders.h:261
@ ILR_CARD_ICODE
iCode.
Definition: ilreaders.h:252
ILREADERS_EXPORT ilr_status ilr_search_begin_open_port(ilr_handle hSearch, ilr_port_type nPortType, const char *pszPortName, ilr_handle *pCommand)
Запускает асинхронную команду открытия порта.
ILREADERS_EXPORT ilr_status ilr_command_get_progress(ilr_handle hCommand, size_t *pCurrent, size_t *pTotal)
Возвращает состояние прогресса выполнения команды.
ilr_port_type
Definition: ilreaders.h:230
@ ILR_PORT_TYPE_SIZE
Definition: ilreaders.h:244
@ ILR_PORT_TYPE_PROXY
Definition: ilreaders.h:242
@ ILR_PORT_TYPE_CCID
Definition: ilreaders.h:236
@ ILR_PORT_TYPE_CLIENT
Definition: ilreaders.h:240
@ ILR_PORT_TYPE_COMPORT
Definition: ilreaders.h:234
@ ILR_PORT_TYPE_UNKNOWN
Definition: ilreaders.h:232
@ ILR_PORT_TYPE_SERVER
Definition: ilreaders.h:238
ILREADERS_EXPORT ilr_status ilr_close_handle(ilr_handle h)
Закрывает дескриптор библиотеки.
ILREADERS_EXPORT ilr_status ilr_command_cancel(ilr_handle hCommand)
Отменяет команду. Устанавливает статус ILR_E_ABORT.
ilr_reader_model
Модель считывателя.
Definition: ilreaders.h:198
@ ILR_READER_MODEL_Z2_RDALL
Definition: ilreaders.h:202
@ ILR_READER_MODEL_Z2_MF_CCID
Definition: ilreaders.h:224
@ ILR_READER_MODEL_Z2_E_HTZ_RF
Definition: ilreaders.h:208
@ ILR_READER_MODEL_MATRIX6
Definition: ilreaders.h:222
@ ILR_READER_MODEL_UNKNOWN
Definition: ilreaders.h:200
@ ILR_READER_MODEL_CP_Z2_MFI
Definition: ilreaders.h:218
@ ILR_READER_MODEL_MATRIX3_RDALL
Definition: ilreaders.h:214
@ ILR_READER_MODEL_Z1_N_Z
Definition: ilreaders.h:210
@ ILR_READER_MODEL_MATRIX3_NET
Definition: ilreaders.h:216
@ ILR_READER_MODEL_SIZE
Definition: ilreaders.h:226
@ ILR_READER_MODEL_MATRIX5_E_S_RF
Definition: ilreaders.h:220
@ ILR_READER_MODEL_Z2_MFI
Definition: ilreaders.h:206
@ ILR_READER_MODEL_Z2_MF
Definition: ilreaders.h:204
@ ILR_READER_MODEL_Z2_E_HT_HOTEL
Definition: ilreaders.h:212
Информация о карте.
Definition: ilreaders.h:583
ilr_card_type nType
Тип карты.
Definition: ilreaders.h:584
uint32_t nMemSize
Размер памяти карты (в байтах).
Definition: ilreaders.h:586
ilr_mf_plus_sl nSL
Уровень безопасности Mifare Plus.
Definition: ilreaders.h:587
ilr_mf_plus_type nMpType
Тип Mifare Plus.
Definition: ilreaders.h:588
ilr_card_type nType2
Тип карты.
Definition: ilreaders.h:589
Данные блока Mifare Classic/Plus.
Definition: ilreaders.h:618
Ключ аутентификации Mifare Plus.
Definition: ilreaders.h:603
uint64_t hi
Старшая часть ключа.
Definition: ilreaders.h:609
uint64_t lo
Младшая часть ключа.
Definition: ilreaders.h:608
Настройки библиотеки.
Definition: ilreaders.h:365
ilr_bool fTwoStopBits
Definition: ilreaders.h:369
int nRequestAttempts
Definition: ilreaders.h:377
int nRequestTimeout
Definition: ilreaders.h:373
Информация о считывателе.
Definition: ilreaders.h:282
ilr_status nError
Definition: ilreaders.h:302
ilr_reader_model nModel
Definition: ilreaders.h:291
uint32_t nFwVersion
Definition: ilreaders.h:297
const char * pszConnect
Definition: ilreaders.h:289
const char * pszPortName
Definition: ilreaders.h:286
int64_t nFwBuildDate
Definition: ilreaders.h:300
ilr_port_type nPortType
Definition: ilreaders.h:284
int nSn
Definition: ilreaders.h:293
Настройки считывателя.
Definition: ilreaders.h:656
ilr_reader_model nConnectModel
Definition: ilreaders.h:658
int nReconnectPeriod
Definition: ilreaders.h:666
uint32_t nHoldCardTypes
Definition: ilreaders.h:661
Настройки поиска считывателей.
Definition: ilreaders.h:461
int nAcceptTimeout
Definition: ilreaders.h:482
int nOpenPortPeriod
Definition: ilreaders.h:468
int nUdpScanPeriod
Definition: ilreaders.h:472
int nUdpRequestAttempts
Definition: ilreaders.h:476
int nUdpRequestTimeout
Definition: ilreaders.h:474
uint32_t nReaderTypes
Definition: ilreaders.h:466
int nOpenListenerPeriod
Definition: ilreaders.h:479
int nPollPeriod
Definition: ilreaders.h:470