SDK Readers 1.0.1
SDK для связи со считывателями Iron logic
Файл ilreaders.h

Заголовочный файл API SDK Readers. Подробнее...

#include <stdint.h>
#include <string.h>
Граф включаемых заголовочных файлов для ilreaders.h:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Классы

struct  ilr_reader_info
 Информация о считывателе. Подробнее...
 
struct  ilr_options
 Настройки библиотеки. Подробнее...
 
struct  ilr_search_options
 Настройки поиска считывателей. Подробнее...
 
struct  ilr_card_info
 Информация о карте. Подробнее...
 
struct  ilr_mf_plus_key
 Ключ аутентификации Mifare Plus. Подробнее...
 
struct  ilr_mf_block_data
 Данные блока Mifare Classic/Plus. Подробнее...
 
struct  ilr_reader_options
 Настройки считывателя. Подробнее...
 

Макросы

#define ILR_API
 Переключатель между статическим и динамическим связыванием.
 
#define ILR_CALL
 Макрос, определяющий соглашение о вызове функций.
 
#define ILR_AUTOALLOCATE   0xffffffff
 Константа, указывающая на необходимость выделить память автоматически. Подробнее...
 
#define MAKE_TEMIC_SCAN_PARAM(type, speed)   (int)(((uint)((speed)&0xff) << 8) | ((type)&0xff))
 
#define TYPE_FROM_TEMIC_SCAN_PARAM(param)   (uint8_t)((param)&0xff)
 
#define SPEED_FROM_TEMIC_SCAN_PARAM(param)   (uint8_t)(((uint)(param) >> 8) & 0xff)
 
Макросы версии SDK Readers.
#define ILR_VERSION_MAJOR   1
 Основной номер версии библиотеки SDK Readers. Подробнее...
 
#define ILR_VERSION_MINOR   0
 Минорный номер версии библиотеки SDK Readers. Подробнее...
 
#define ILR_VERSION_PATCH   1
 Номер патча библиотеки SDK Readers. Подробнее...
 
#define ILR_VERSION    ((ILR_VERSION_MAJOR << 24) | (ILR_VERSION_MINOR << 16) | (ILR_VERSION_PATCH << 8) | 0xC0)
 Полный номер версии библиотеки SDK Readers.
 
#define ILR_VERSION_GET_MAJOR(v)   ((v) >> 24)
 
#define ILR_VERSION_GET_MINOR(v)   (((v) >> 16) & 0xff)
 
#define ILR_VERSION_GET_PATCH(v)   (((v) >> 8) & 0xff)
 

Определения типов

typedef void * ilr_handle
 
typedef void(ILR_CALLilr_logging_callback) (ilr_log_level nLevel, const char *pContext, const char *pMessage, void *pUserData)
 Тип функции обратного вызова для получения сообщений лога отладки библиотеки. Подробнее...
 
typedef ilr_bool(ILR_CALLilr_filter_port_callback) (ilr_port_type nPortType, const char *pszPortName, void *pUserData)
 Тип функции обратного вызова для фильтрации портов при поиске считывателей. Подробнее...
 
typedef void(ILR_CALLilr_search_message_callback) (ilr_search_msg nMsg, const void *pMsgData, void *pUserData)
 Тип функции обратного вызова для получения уведомлений от дескриптора поиска. Подробнее...
 
typedef void(ILR_CALLilr_reader_message_callback) (ilr_reader_msg nMsg, const void *pMsgData, void *pUserData)
 Тип функции обратного вызова для получения уведомлений от дескриптора считывателя. Подробнее...
 
typedef int64_t ilr_mf_classic_key
 Ключ аутентификации Mifare Classic.
 

Перечисления

enum  ilr_bool : int { ILR_FALSE , ILR_TRUE }
 
enum  ilr_reader_model {
  ILR_READER_MODEL_UNKNOWN , ILR_READER_MODEL_Z2_RDALL , ILR_READER_MODEL_Z2_MF , ILR_READER_MODEL_Z2_MFI ,
  ILR_READER_MODEL_Z2_E_HTZ_RF , ILR_READER_MODEL_Z1_N_Z , ILR_READER_MODEL_Z2_E_HT_HOTEL , ILR_READER_MODEL_MATRIX3_RDALL ,
  ILR_READER_MODEL_MATRIX3_NET , ILR_READER_MODEL_CP_Z2_MFI , ILR_READER_MODEL_MATRIX5_E_S_RF , ILR_READER_MODEL_MATRIX6 ,
  ILR_READER_MODEL_Z2_MF_CCID , ILR_READER_MODEL_SIZE
}
 Модель считывателя. Подробнее...
 
enum  ilr_port_type {
  ILR_PORT_TYPE_UNKNOWN , ILR_PORT_TYPE_COMPORT , ILR_PORT_TYPE_CCID , ILR_PORT_TYPE_SERVER ,
  ILR_PORT_TYPE_CLIENT , ILR_PORT_TYPE_PROXY , ILR_PORT_TYPE_SIZE
}
 
enum  ilr_card_type {
  ILR_CARD_UNKNOWN , ILR_CARD_EM_MARINE , ILR_CARD_HID , ILR_CARD_ICODE ,
  ILR_CARD_COD433 , ILR_CARD_COD433_FIX , ILR_CARD_CAME433 , ILR_CARD_DALLAS ,
  ILR_CARD_TEMIC , ILR_CARD_MF_ULTRALIGHT , ILR_CARD_MF_ULTRALIGHT_C , ILR_CARD_MF_MINI ,
  ILR_CARD_MF_CLASSIC_1K , ILR_CARD_MF_CLASSIC_2K , ILR_CARD_MF_CLASSIC_4K , ILR_CARD_MF_PLUS ,
  ILR_CARD_MF_PLUS_1K , ILR_CARD_MF_PLUS_2K , ILR_CARD_MF_PLUS_4K , ILR_CARD_SMART_MX_MF1K ,
  ILR_CARD_SMART_MX_MF4K , ILR_CARD_MF_DESFIRE , ILR_CARD_MF_PROX , ILR_CARD_TYPE_SIZE
}
 Тип карты. Подробнее...
 
enum  ilr_log_level {
  ILR_LOG_LEVEL_NONE , ILR_LOG_LEVEL_ERROR , ILR_LOG_LEVEL_WARNING , ILR_LOG_LEVEL_INFO ,
  ILR_LOG_LEVEL_DEBUG , ILR_LOG_LEVEL_SIZE
}
 Уровень лога. Подробнее...
 
enum  ilr_search_msg { ILR_SEARCH_MSG_COMMAND_FINISH , ILR_SEARCH_MSG_READER_FOUND , ILR_SEARCH_MSG_READER_LOST , ILR_SEARCH_MSG_LIST_CHANGED }
 Сообщение поиска считывателей. Подробнее...
 
enum  ilr_reader_types : uint32_t {
  ILR_READER_ILUSB = (1 << 0) , ILR_READER_TPUSB = (1 << 1) , ILR_READER_SERVER = (1 << 2) , ILR_READER_CLIENT = (1 << 3) ,
  ILR_READER_CCID = (1 << 4)
}
 Флаги типов считывателей. Подробнее...
 
enum  ilr_reader_msg { ILR_READER_MSG_COMMAND_FINISH , ILR_READER_MSG_CONNECTION_CHANGED , ILR_READER_MSG_CARD_FOUND , ILR_READER_MSG_CARD_LOST }
 Сообщение считывателя. Подробнее...
 
enum  ilr_connection_status { ILR_CONNECTION_DISCONNECTED , ILR_CONNECTION_CONNECTED , ILR_CONNECTION_CONNECTING }
 Состояние подключения к считывателю. Подробнее...
 
enum  ilr_mf_plus_sl : int8_t {
  ILR_MF_PLUS_SL_UNKNOWN = -1 , ILR_MF_PLUS_SL_SL0 , ILR_MF_PLUS_SL_SL1 , ILR_MF_PLUS_SL_SL2 ,
  ILR_MF_PLUS_SL_SL3
}
 Уровень безопасности Mifare Plus. Подробнее...
 
enum  ilr_mf_plus_type : uint8_t {
  ILR_MF_PLUS_UNKNOWN , ILR_MF_PLUS_S , ILR_MF_PLUS_X , ILR_MF_PLUS_SE ,
  ILR_MF_PLUS_EV1 , ILR_MF_PLUS_EV2 , ILR_MF_PLUS_TYPE_SIZE
}
 Тип Mifare Plus. Подробнее...
 
enum  ilr_rwcard_type_flags : uint32_t {
  ILR_RWCT_F_TEMIC = (1 << 0) , ILR_RWCT_F_MF_ULTRALIGHT = (1 << 1) , ILR_RWCT_F_MF_CLASSIC = (1 << 2) , ILR_RWCT_F_MF_PLUS_SL0 = (1 << 3) ,
  ILR_RWCT_F_MF_PLUS_SL3 = (1 << 4) , ILR_RWCT_F_MF_PLUS = (1 << 5)
}
 Флаги типов перезаписываемых карт. Подробнее...
 

Функции

struct __attribute__ ((packed))
 ID карты Подробнее...
 
ILR_API uint32_t ILR_CALL ilr_get_version ()
 Возвращает номер версии библиотеки. Подробнее...
 
ILR_API const char *ILR_CALL ilr_get_error_text (ilr_status nErrorCode)
 Возвращает описание ошибки по её коду. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_set_log_level (ilr_log_level nLevel)
 Устанавливает уровень лога отладки. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_set_log_callback (ilr_logging_callback pCallback, void *pUserData=nullptr)
 Устанавливает функцию обратного вызова для лога отладки. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_free_memory (void *p)
 Освобождает память, которую выделила библиотека. Подробнее...
 
bool ilr_check_version ()
 Проверяет версию SDK. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_init (uint32_t nVersionRequested=ILR_VERSION)
 Инициализирует библиотеку SDK Readers. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_cleanup ()
 Освобождает ресурсы библиотеки. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_close_handle (ilr_handle h)
 Закрывает дескриптор библиотеки. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_clone_handle (ilr_handle h, ilr_handle *pNewHandle)
 Клонирует дескриптор поиска считывателей или дескриптор считывателя. Подробнее...
 
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_set_options (const ilr_options *pOptions)
 Устанавливает глобальные настройки библиотеки. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_get_options (ilr_options *pOptions)
 Возвращает глобальные настройки библиотеки. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_get_search (ilr_handle *pSearch)
 Создаёт дескриптор поиска считывателей. Подробнее...
 
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_search_set_message_callback (ilr_handle hSearch, ilr_search_message_callback pCallback, void *pUserData=nullptr)
 Устанавливает функцию обратного вызова для уведомлений поиска считывателей. Подробнее...
 
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_get_message (ilr_handle hSearch, ilr_search_msg *pMsg, const void **pMsgData, ilr_bool *pFound)
 Извлекает следующее сообщение из очереди. Подробнее...
 
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)
 Возвращает параметры поиска считывателей. Подробнее...
 
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_get_listen_ports (ilr_handle hSearch, uint16_t *pBuf, size_t *pSize)
 Возвращает список портов для прослушки конвертеров к режиме "Клиент". Подробнее...
 
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_scan (ilr_handle hSearch, ilr_bool fReset=ILR_FALSE)
 Ищет считыватели. Подробнее...
 
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_get_reader_count (ilr_handle hSearch, size_t *pCount)
 Возвращает количество найденных считывателей. Подробнее...
 
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_set_auto_scan (ilr_handle hSearch, ilr_bool fEnable=ILR_TRUE, ilr_bool fWait=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_auto_scan (ilr_handle hSearch, ilr_bool *pEnabled)
 Возвращает флаг авто поиска считывателей. Подробнее...
 
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_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_end_open_port (ilr_handle hCommand, int *pPortFD, ilr_reader_info *pInfo)
 Возвращает результат открытия порта. Подробнее...
 
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_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_reader_set_message_callback (ilr_handle hReader, ilr_reader_message_callback pCallback, void *pUserData=nullptr)
 Устанавливает функцию обратного вызова для уведомлений считывателя. Подробнее...
 
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_get_message (ilr_handle hReader, ilr_reader_msg *pMsg, const void **pMsgData, ilr_bool *pFound)
 Извлекает следующее сообщение из очереди. Подробнее...
 
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_get_options (ilr_handle hReader, ilr_reader_options *pOptions)
 Возвращает параметры считывателя. Подробнее...
 
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_begin_connect (ilr_handle hReader, ilr_bool fReconnect, ilr_handle *pCommand)
 Запускает асинхронную команду подключения к считывателю. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_reader_disconnect (ilr_handle hReader)
 Отключается от считывателя. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_reader_begin_disconnect (ilr_handle hReader, ilr_handle *pCommand)
 Запускает асинхронную команду отключения от считывателя. Подробнее...
 
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_get_info (ilr_handle hReader, ilr_reader_info *pInfo)
 Возвращает информацию о считывателе. Подробнее...
 
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_begin_scan (ilr_handle hReader, ilr_bool fReset, ilr_bool fPowerOff, ilr_handle *pCommand)
 Запускает асинхронную команду поиска карты. Подробнее...
 
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_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_begin_set_auto_scan (ilr_handle hReader, ilr_bool fEnable, ilr_handle *pCommand)
 Запускает асинхронную команду вкл/выкл автоматического сканирования карт. Подробнее...
 
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_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_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_end_read_mf_ultralight (ilr_handle hCommand, const uint32_t **ppList, size_t *pRead)
 Возвращает результат чтения данных из карты Mifare Ultralight. Подробнее...
 
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_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_end_write_mf_ultralight (ilr_handle hCommand, size_t *pWritten)
 Возвращает результат записи данных в карту 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_load_mf_pkey (ilr_handle hReader, const ilr_mf_plus_key &rKey)
 Загружает ключ для авторизации сектора Mifare Plus SL3. Подробнее...
 
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_begin_auth_mf_card (ilr_handle hReader, size_t nAddress, ilr_bool fKeyB, ilr_handle *pCommand)
 Запускает асинхронную команду авторизации сектора карты Mifare Classic / Plus используя ключ, загруженный функцией ilr_reader_load_mf_ckey / ilr_reader_load_mf_pkey. Подробнее...
 
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_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_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_end_auth_mf_card2 (ilr_handle hCommand, int *pFoundIdx)
 Возвращает результат авторизации сектора карты. Подробнее...
 
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_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_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_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_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_end_write_mf_classic (ilr_handle hCommand, size_t *pWritten)
 Возвращает результат записи данных в карту Mifare Classic или Mifare Plus SL1. Подробнее...
 
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_begin_read_mf_plus (ilr_handle hReader, size_t nAddress, size_t nBlockCount, ilr_bool fOpenText, ilr_handle *pCommand)
 Запускает асинхронную команду чтения данных из карты Mifare Plus SL3. Подробнее...
 
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_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_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_plus (ilr_handle hCommand, size_t *pWritten)
 Возвращает результат записи данных в карту Mifare Plus SL3. Подробнее...
 
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_begin_mf_increment (ilr_handle hReader, size_t nBlockIdx, uint32_t nValue, ilr_handle *pCommand)
 Увеличивает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных. Подробнее...
 
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_begin_mf_decrement (ilr_handle hReader, size_t nBlockIdx, uint32_t nValue, ilr_handle *pCommand)
 Уменьшает содержимое блока-значения карты Mifare и сохраняет результат во временном регистре данных. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_reader_mf_transfer (ilr_handle hReader, size_t nBlockIdx)
 Записывает содержимое во временном регистре данных в блок-значение. Подробнее...
 
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_mf_restore (ilr_handle hReader, size_t nBlockIdx)
 Перемещает содержимое блока в регистр данных 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_mf_power_off (ilr_handle hReader)
 Выключает RF поле считывателя (после выключения нужно подождать 10 мс). Подробнее...
 
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_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_halt (ilr_handle hReader)
 Halt. Подробнее...
 
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_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_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_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_end_write_mf_ckey (ilr_handle hCommand, size_t *pWritten)
 Возвращает результат записи ключей аутентификации Mifare Classic в память считывателя. Подробнее...
 
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_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_end_write_mf_pkey (ilr_handle hCommand, size_t *pWritten)
 Возвращает результат записи ключей аутентификации Mifare Plus в память считывателя. Подробнее...
 
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_scan_temic (ilr_handle hReader, int nScanParam=-1)
 Ищет карту Temic в поле считывателя. Подробнее...
 
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_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 включено. Подробнее...
 
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_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_end_read_temic (ilr_handle hCommand, const uint **ppList, size_t *pRead)
 Возвращает результат чтения данных из карты Temic. Подробнее...
 
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_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_end_write_temic (ilr_handle hCommand, size_t *pWritten)
 Возвращает результат записи данных в карту Temic. Подробнее...
 
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_begin_reset_temic (ilr_handle hReader, ilr_handle *pCommand)
 Запускает асинхронную команду сброса TRES. Подробнее...
 
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_decode_temic_emmarine (const uint32_t *pData3, size_t nBlockCount, ilr_card_uid *pUID, ilr_bool *pConfigOk=nullptr)
 Декодирует номер Em-Marine из данных блоков 0..2 карты Temic. Подробнее...
 
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_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. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_command_cancel (ilr_handle hCommand)
 Отменяет команду. Устанавливает статус ILR_E_ABORT. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_command_get_status (ilr_handle hCommand, ilr_status *pStatus)
 Возвращает состояние команды. Подробнее...
 
ILR_API ilr_status ILR_CALL ilr_command_get_progress (ilr_handle hCommand, size_t *pCurrent, size_t *pTotal)
 Возвращает состояние прогресса выполнения команды. Подробнее...
 

Переменные

 ilr_card_uid
 
#define ILR_SUCCEEDED(status)   ((status) == ILR_OK)
 Проверяет код возврата SDK на успех. Подробнее...
 
#define ILR_FAILED(status)   ((status) != ILR_OK)
 Проверяет код возврата SDK на ошибку. Подробнее...
 
enum  ilr_status {
  ILR_OK = 0 , ILR_E_FAIL , ILR_E_PENDING , ILR_E_BOUNDS ,
  ILR_E_NOTIMPL , ILR_E_POINTER , ILR_E_ABORT , ILR_E_HANDLE ,
  ILR_E_OUTOFMEMORY , ILR_E_INVALIDARG , ILR_E_WRONG_SDK_VERSION , ILR_E_NOT_INITIALIZED ,
  ILR_E_OUT_OF_RESOURCES , ILR_E_BUFFER_TOO_SMALL , ILR_E_BLOCKING_CALL_NOT_ALLOWED , ILR_E_PORT_NOT_EXIST ,
  ILR_E_PORT_ACCESS_DENIED , ILR_E_PORT_OPEN_FAILED , ILR_E_CONNECTION_ERROR , ILR_E_CONNECTION_DOWN ,
  ILR_E_REQUEST_TIMEOUT , ILR_E_BAD_RESPONSE , ILR_E_SCARD_ERROR , ILR_E_READER_ERROR ,
  ILR_E_NO_CARD , ILR_E_CARD_NACK , ILR_E_CARD_AUTH , ILR_E_MIFARE_ADDRESS ,
  ILR_E_MIFARE_VALUE , ILR_E_CARD_PAGE_LOCK , ILR_E_WRITE_T57 , ILR_STATUS_SIZE
}
 Коды ошибок. Подробнее...
 

Подробное описание

Заголовочный файл API SDK Readers.

Данный файл содержит в себе определение API SDK Readers. SDK Readers - библиотека для связи с настольными и сетевыми считывателями Iron Logic. Библиотека предназначена для ОС Linux. Сайт SDK

Макросы

◆ ILR_AUTOALLOCATE

#define ILR_AUTOALLOCATE   0xffffffff

Константа, указывающая на необходимость выделить память автоматически.

Используется в функциях, которые возвращают строки и массивы. Для освобождения памяти нужно использовать функцию ilr_free_memory.

◆ MAKE_TEMIC_SCAN_PARAM

#define MAKE_TEMIC_SCAN_PARAM (   type,
  speed 
)    (int)(((uint)((speed)&0xff) << 8) | ((type)&0xff))

Возвращает параметр сканирования Temic, объединяя тип type и скорость speed.

◆ SPEED_FROM_TEMIC_SCAN_PARAM

#define SPEED_FROM_TEMIC_SCAN_PARAM (   param)    (uint8_t)(((uint)(param) >> 8) & 0xff)

Возвращает скорость, извлекая из параметра сканирования Temic param.

◆ TYPE_FROM_TEMIC_SCAN_PARAM

#define TYPE_FROM_TEMIC_SCAN_PARAM (   param)    (uint8_t)((param)&0xff)

Возвращает тип, извлекая из параметра сканирования Temic param.

Типы

◆ ilr_handle

typedef void* ilr_handle

Тип дескриптора (ссылка на объект библиотеки).

Перечисления

◆ ilr_bool

enum ilr_bool : int

Флаг.

Элементы перечислений
ILR_FALSE 

Ложь. =0.

ILR_TRUE 

Истина. Может быть любое число отличное от 0.

◆ ilr_card_type

Тип карты.

Элементы перечислений
ILR_CARD_UNKNOWN 

Не известно.

ILR_CARD_EM_MARINE 

Em-Marine.

ILR_CARD_HID 

HID.

ILR_CARD_ICODE 

iCode.

ILR_CARD_COD433 

Cod433.

ILR_CARD_COD433_FIX 

Cod433 Fix.

ILR_CARD_CAME433 

Радио-брелок CAME.

ILR_CARD_DALLAS 

Dallas.

ILR_CARD_TEMIC 

Temic (T5557).

ILR_CARD_MF_ULTRALIGHT 

Mifare UltraLight.

ILR_CARD_MF_ULTRALIGHT_C 

Mifare Ultralight C.

ILR_CARD_MF_MINI 

Mifare Mini.

ILR_CARD_MF_CLASSIC_1K 

Mifare Classic 1K.

ILR_CARD_MF_CLASSIC_2K 

Mifare Classic 2K.

ILR_CARD_MF_CLASSIC_4K 

Mifare Classic 4K.

ILR_CARD_MF_PLUS 

Mifare Plus.

ILR_CARD_MF_PLUS_1K 

Mifare Plus 1K.

ILR_CARD_MF_PLUS_2K 

Mifare Plus 2K.

ILR_CARD_MF_PLUS_4K 

Mifare Plus 4K.

ILR_CARD_SMART_MX_MF1K 

Smart MX with Mifare 1K.

ILR_CARD_SMART_MX_MF4K 

Smart MX with Mifare 4K.

ILR_CARD_MF_DESFIRE 

Mifare DESFire.

ILR_CARD_MF_PROX 

Mifare ProX.

ILR_CARD_TYPE_SIZE 

Размер списка.

◆ ilr_log_level

Уровень лога.

Элементы перечислений
ILR_LOG_LEVEL_NONE 

Лог выключен.

Лог сообщения не показываются.

ILR_LOG_LEVEL_ERROR 

Ошибки.

Показывает любые ошибки, которые являются фатальными для операции, но не для службы или приложения.

ILR_LOG_LEVEL_WARNING 

Предупреждения.

Показывает возможные проблемы, которые не являются ошибками.

ILR_LOG_LEVEL_INFO 

Уведомления.

Показывает полезную информацию, в основном успехи.

ILR_LOG_LEVEL_DEBUG 

Отладочные сообщения.

Показывает шаги программы, получаемые и отправляемые данные.

ILR_LOG_LEVEL_SIZE 

Размер списка.

◆ ilr_port_type

Тип порта считывателя.

Элементы перечислений
ILR_PORT_TYPE_UNKNOWN 

Не известно.

ILR_PORT_TYPE_COMPORT 

Имя последовательного порта (например "/dev/ttyACM0").

ILR_PORT_TYPE_CCID 

CCID (Smart Cards) (например "IronLogic Z-2 CCID (01031) 00 00").

ILR_PORT_TYPE_SERVER 

Адрес конвертера в режиме "Сервер" (например "10.0.0.2:1000").

ILR_PORT_TYPE_CLIENT 

Адрес конвертера в режиме "Клиент" (например "40200@25000").

ILR_PORT_TYPE_PROXY 

Адрес конвертера в режиме "Прокси" (например "40200:36D782FB@127.0.0.1:25001")

ILR_PORT_TYPE_SIZE 

Размер списка.

◆ ilr_reader_model

Модель считывателя.

См. также
Список моделей считывателей
Элементы перечислений
ILR_READER_MODEL_UNKNOWN 

Неизвестная модель.

ILR_READER_MODEL_Z2_RDALL 

Z-2 (мод. RD_ALL) / Z-2 USB.

ILR_READER_MODEL_Z2_MF 

Z-2 (мод. MF) / Z-2 USB MF.

ILR_READER_MODEL_Z2_MFI 

Z-2 (мод. MF-I).

ILR_READER_MODEL_Z2_E_HTZ_RF 

Z-2 (мод. E HTZ RF) / Z-2 EHR.

ILR_READER_MODEL_Z1_N_Z 

Z-1 (мод. N Z) / Z-2 Base.

ILR_READER_MODEL_Z2_E_HT_HOTEL 

Z-2 (мод. E HT Hotel) / Z-2 RF-1996.

ILR_READER_MODEL_MATRIX3_RDALL 

Matrix-III (мод. RD_All).

ILR_READER_MODEL_MATRIX3_NET 

Matrix-III (мод. MF K Net) / Matrix-III Net.

ILR_READER_MODEL_CP_Z2_MFI 

СP-Z-2 (мод. MF-I).

ILR_READER_MODEL_MATRIX5_E_S_RF 

Matrix-V (мод. E S RF) / Matrix-V.

ILR_READER_MODEL_MATRIX6 

Matrix-VI (мод. NFC K Net).

ILR_READER_MODEL_Z2_MF_CCID 

Z-2 (мод. MF CCID).

ILR_READER_MODEL_SIZE 

Размер списка.

Функции

◆ ilr_clone_handle()

ILR_API ilr_status ILR_CALL ilr_clone_handle ( ilr_handle  h,
ilr_handle pNewHandle 
)

Клонирует дескриптор поиска считывателей или дескриптор считывателя.

Аргументы
[in]hИсходный дескриптор.
[out]pNewHandleНовый дескриптор.

◆ ilr_close_handle()

ILR_API ilr_status ILR_CALL ilr_close_handle ( ilr_handle  h)

Закрывает дескриптор библиотеки.

Аргументы
[in]hДескриптор библиотеки.

◆ ilr_command_cancel()

ILR_API ilr_status ILR_CALL ilr_command_cancel ( ilr_handle  hCommand)

Отменяет команду. Устанавливает статус ILR_E_ABORT.

Аргументы
[in]hCommandДескриптор команды.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_command_get_progress()

ILR_API ilr_status ILR_CALL ilr_command_get_progress ( ilr_handle  hCommand,
size_t *  pCurrent,
size_t *  pTotal 
)

Возвращает состояние прогресса выполнения команды.

Аргументы
[in]hCommandДескриптор команды.
[out]pCurrentТекущий шаг.
[out]pTotalВсего шагов.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_command_get_status()

ILR_API ilr_status ILR_CALL ilr_command_get_status ( ilr_handle  hCommand,
ilr_status pStatus 
)

Возвращает состояние команды.

Аргументы
[in]hCommandДескриптор команды.
[out]pStatusСостояние команды: =ILR_E_PENDING команда ещё выполняется, иначе - завершена.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_decode_temic_emmarine()

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.

Аргументы
[in]pData3Данные блоков 0..2.
[in]nBlockCountКоличество блоков. Должно быть не меньше 3.
[out]pUIDНомер Em-Marine. Если Em-Marine не обнаружен, то пустой номер.
[out]pConfigOkILR_TRUE, конфигурация Temic для эмуляции Em-Marine правильная. Может быть равно nullptr.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_decode_temic_hid()

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.

Аргументы
[in]pData4Данные блоков 0..3.
[in]nBlockCountКоличество блоков. Должно быть не меньше 4.
[out]pUIDНомер HID. Если HID не обнаружен, то пустой номер.
[out]pWiegandНомер кодировки Wiegand.
[out]pConfigOkILR_TRUE, конфигурация Temic правильная. Может быть равно nullptr.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_encode_temic_emmarine()

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.

Аргументы
[in]rUIDНомер Em-Marine, который нужно эмулировать.
[out]pBuf3Буфер для данных 3-х блоков.
[in]nBlockCountРазмер буфера в блоках.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_encode_temic_hid()

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.

Аргументы
[in]rUIDНомер HID, который нужно эмулировать.
[out]pBuf4Буфер для данных 4-х блоков.
[in]nBlockCountРазмер буфера в блоках.
[in]nWiegandНомер кодировки Wiegand 18..37.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_free_memory()

ILR_API ilr_status ILR_CALL ilr_free_memory ( void *  p)

Освобождает память, которую выделила библиотека.

Память могут выделять функции: ilr_search_get_listen_ports, ilr_reader_mf_rats.

Прим.
Эта функция не требует инициализации библиотеки функцией ilr_init.
Аргументы
[in]pУказатель на память.
Возвращает
Всегда код успеха ILR_OK.

◆ ilr_search_begin_close_port()

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 
)

Запускает асинхронную команду закрытия порта.

Аргументы
[in]hSearchДескриптор поиска считывателей.
[in]nPortTypeТип порта.
[in]pszPortNameИмя порта.
[in]hPortFDСистемный дескриптор порта.
[out]pCommandДескриптор команды.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_search_begin_open_port()

ILR_API ilr_status ILR_CALL ilr_search_begin_open_port ( ilr_handle  hSearch,
ilr_port_type  nPortType,
const char *  pszPortName,
ilr_handle pCommand 
)

Запускает асинхронную команду открытия порта.

Аргументы
[in]hSearchДескриптор поиска считывателей.
[in]nPortTypeТип порта.
[in]pszPortNameИмя порта.
[out]pCommandДескриптор команды.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_search_close_port()

ILR_API ilr_status ILR_CALL ilr_search_close_port ( ilr_handle  hSearch,
ilr_port_type  nPortType,
const char *  pszPortName,
int  hPort 
)

Закрывает порт.

Аргументы
[in]hSearchДескриптор поиска считывателей.
[in]nPortTypeТип порта.
[in]pszPortNameИмя порта.
[in]hPortСистемный дескриптор порта.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке поиска считывателей.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_search_end_open_port()

ILR_API ilr_status ILR_CALL ilr_search_end_open_port ( ilr_handle  hCommand,
int *  pPortFD,
ilr_reader_info pInfo 
)

Возвращает результат открытия порта.

Аргументы
[in]hCommandДескриптор команды.
[out]pPortFDСистемный дескриптор порта.
[out]pInfoИнформация о конвертере (если известно).
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.

◆ ilr_search_get_listen_status()

ILR_API ilr_status ILR_CALL ilr_search_get_listen_status ( ilr_handle  hSearch,
uint16_t  nTcpPort,
ilr_status pStatus 
)

Возвращает состояние Tcp-порта, открытого для прослушки конвертеров в режиме "Клиент".

Аргументы
[in]hSearchДескриптор поиска конвертеров.
[in]nTcpPortНомер TCP порта.
[out]pStatusСостояние порта. ILR_OK порт открыт успешно, ILR_E_PENDING порт в процессе открытия или его нет в списке портов для прослушки, иначе не удалось открыть.
Прим.
Чтобы открыть порт для прослушки нужно добавить его в список портов с помощью функции ilr_search_set_listen_ports, и включить поиск конвертеров в режиме "Клиент" с помощью ilr_search_set_options (установить pOptions->nReaderTypes |= ILR_READER_CLIENT).
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.
Возвращаемые значения
ILR_E_POINTERНеобходимый выходной параметр равен nullptr.

◆ ilr_search_open_port()

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 
)

Открывает порт и возвращает его дескриптор.

Аргументы
[in]hSearchДескриптор поиска считывателей.
[in]nPortTypeТип порта.
[in]pszPortNameИмя порта.
[out]pInfoИнформация о считывателе.
[out]pPortСистемный дескриптор порта.
Прим.
Функция не возвращает управление пока ждёт выполнение команды в потоке поиска считывателей.
Возвращает
ILR_OK в случае успеха или код ошибки в случае неудачи.