Функции и типы, связанные с поиском конвертеров. Подробнее...
Классы | |
struct | ilg_search_options |
Настройки поиска конвертеров. Подробнее... | |
Определения типов | |
typedef ilg_bool(ILG_CALL * | ilg_filter_port_callback) (ilg_port_type nPortType, const char *pszPortName, void *pUserData) |
Тип функции обратного вызова для фильтрации портов при поиске конвертеров. Подробнее... | |
typedef void(ILG_CALL * | ilg_search_message_callback) (ilg_search_msg nMsg, const void *pMsgData, void *pUserData) |
Тип функции обратного вызова для получения уведомлений от дескриптора поиска. Подробнее... | |
Перечисления | |
enum | ilg_search_msg { ILG_SEARCH_MSG_COMMAND_FINISH , ILG_SEARCH_MSG_CONVERTER_FOUND , ILG_SEARCH_MSG_CONVERTER_LOST , ILG_SEARCH_MSG_LIST_CHANGED , ILG_SEARCH_MSG_LISTEN_PORT_OPEN , ILG_SEARCH_MSG_LISTEN_PORT_CLOSED , ILG_SEARCH_MSG_LISTEN_ERROR } |
Сообщение поиска конвертеров. Подробнее... | |
enum | ilg_converter_types : uint32_t { ILG_CONVERTER_ILUSB = (1 << 0) , ILG_CONVERTER_TPUSB = (1 << 1) , ILG_CONVERTER_SERVER = (1 << 2) , ILG_CONVERTER_CLIENT = (1 << 3) } |
Флаги типов конвертеров. Подробнее... | |
Функции | |
ILG_API ilg_status ILG_CALL | ilg_set_filter_port_callback (ilg_filter_port_callback pCallback, void *pUserData=nullptr) |
Устанавливает функцию обратного вызова для фильтрации портов при поиске конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_get_search (ilg_handle *pSearch) |
Создаёт дескриптор поиска конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_set_message_callback (ilg_handle hSearch, ilg_search_message_callback pCallback, void *pUserData=nullptr) |
Устанавливает функцию обратного вызова для уведомлений поиска конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_enable_message_queue (ilg_handle hSearch, ilg_bool fEnable=ILG_TRUE) |
Включает/выключает очередь сообщений. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_get_message (ilg_handle hSearch, ilg_search_msg *pMsg, const void **pMsgData, ilg_bool *pFound) |
Извлекает следующее сообщение из очереди. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_set_options (ilg_handle hSearch, const ilg_search_options *pOptions) |
Устанавливает параметры поиска конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_get_options (ilg_handle hSearch, ilg_search_options *pOptions) |
Возвращает параметры поиска конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_set_listen_ports (ilg_handle hSearch, const uint16_t *pPorts, size_t nCount) |
Устанавливает список портов для прослушки конвертеров к режиме "Клиент". Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_get_listen_ports (ilg_handle hSearch, uint16_t *pBuf, size_t *pSize) |
Возвращает список портов для прослушки конвертеров к режиме "Клиент". Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_scan (ilg_handle hSearch, ilg_bool fReset=ILG_FALSE) |
Ищет конвертеры. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_begin_scan (ilg_handle hSearch, ilg_bool fReset, ilg_handle *pCommand) |
Запускает асинхронную команду поиска конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_get_converter_count (ilg_handle hSearch, size_t *pCount) |
Возвращает количество найденных конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_get_converter_info (ilg_handle hSearch, size_t nIdx, ilg_converter_info *pInfo) |
Возвращает информацию о найденном конвертере. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_set_auto_scan (ilg_handle hSearch, ilg_bool fEnable=ILG_TRUE, ilg_bool fWait=ILG_TRUE) |
Включает/выключает авто поиск конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_begin_set_auto_scan (ilg_handle hSearch, ilg_bool fEnable, ilg_handle *pCommand) |
Запускает асинхронную команду вкл/выкл режим авто поиска конвертеров. Подробнее... | |
ILG_API ilg_status ILG_CALL | ilg_search_get_auto_scan (ilg_handle hSearch, ilg_bool *pEnabled) |
Возвращает флаг авто поиска конвертеров. Подробнее... | |
Функции и типы, связанные с поиском конвертеров.
Ссылки на инфо о создании дескриптора поиска, поиске конвертеров, настройке поиска.
typedef ilg_bool(ILG_CALL * ilg_filter_port_callback) (ilg_port_type nPortType, const char *pszPortName, void *pUserData) |
Тип функции обратного вызова для фильтрации портов при поиске конвертеров.
[in] | nPortType | Тип порта. |
[in] | pszPortName | Имя порта. |
[in] | pUserData | Указатель на данные пользователя. |
typedef void(ILG_CALL * ilg_search_message_callback) (ilg_search_msg nMsg, const void *pMsgData, void *pUserData) |
Тип функции обратного вызова для получения уведомлений от дескриптора поиска.
[in] | nMsg | Тип сообщения. |
[in] | pMsgData | Указатель на данные сообщения. Тип данных зависит от типа сообщения. |
[in] | pUserData | Указатель на данные пользователя. |
pMsgData
действителен до выхода из этой функции. enum ilg_converter_types : uint32_t |
Флаги типов конвертеров.
enum ilg_search_msg |
Сообщение поиска конвертеров.
Элементы перечислений | |
---|---|
ILG_SEARCH_MSG_COMMAND_FINISH | Завершилась асинхронная команда, созданная функцией с префиксом "ilg_search_begin_". Параметр - дескриптор команды (дескриптор действителен до следующего сообщения этого типа или до следующего вызова GetMessage), его не нужно закрывать функцией ilg_close_handle. |
ILG_SEARCH_MSG_CONVERTER_FOUND | Конвертер найден, параметр ilg_converter_info*. |
ILG_SEARCH_MSG_CONVERTER_LOST | Конвертер потерян, параметр ilg_converter_info*. |
ILG_SEARCH_MSG_LIST_CHANGED | Список конвертеров изменён.
|
ILG_SEARCH_MSG_LISTEN_PORT_OPEN | TCP порт для прослушки открыт, параметр uint16_t номер TCP порта. |
ILG_SEARCH_MSG_LISTEN_PORT_CLOSED | TCP порт для прослушки закрыт, параметр uint16_t номер TCP порта. |
ILG_SEARCH_MSG_LISTEN_ERROR | Ошибка TCP порта для прослушки, параметр ilg_listen_error_info*. |
ILG_API ilg_status ILG_CALL ilg_get_search | ( | ilg_handle * | pSearch | ) |
Создаёт дескриптор поиска конвертеров.
[out] | pSearch | Дескриптор поиска конвертеров. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_begin_scan | ( | ilg_handle | hSearch, |
ilg_bool | fReset, | ||
ilg_handle * | pCommand | ||
) |
Запускает асинхронную команду поиска конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | fReset | ILG_TRUE , очистить список найденных перед поиском. |
[out] | pCommand | Дескриптор команды. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_begin_set_auto_scan | ( | ilg_handle | hSearch, |
ilg_bool | fEnable, | ||
ilg_handle * | pCommand | ||
) |
Запускает асинхронную команду вкл/выкл режим авто поиска конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | fEnable | ILG_TRUE , включает поиск в реальном времени, иначе - выключает. |
[out] | pCommand | Дескриптор команды. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_enable_message_queue | ( | ilg_handle | hSearch, |
ilg_bool | fEnable = ILG_TRUE |
||
) |
Включает/выключает очередь сообщений.
Эта функция устанавливает/снимает флаг "очередь включена" в дескрипторе поиска. Очередь сообщений предназначена для синхронизации обработки сообщений поиска.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | fEnable | ILG_TRUE , включить очередь, иначе - выключить. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_get_auto_scan | ( | ilg_handle | hSearch, |
ilg_bool * | pEnabled | ||
) |
Возвращает флаг авто поиска конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[out] | pEnabled | ILG_TRUE , авто поиск включен, иначе - выключен. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_get_converter_count | ( | ilg_handle | hSearch, |
size_t * | pCount | ||
) |
Возвращает количество найденных конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[out] | pCount | Количество найденных конвертеров. |
*pCount
в переменной, и уже её использовать в цикле.ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_get_converter_info | ( | ilg_handle | hSearch, |
size_t | nIdx, | ||
ilg_converter_info * | pInfo | ||
) |
Возвращает информацию о найденном конвертере.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | nIdx | Позиция в списке найденных конвертеров. |
[out] | pInfo | Информация о конвертере. |
pInfo
ссылки pszPortName
и pszConnect
действительны до следующего вызова ilg_search_get_converter_count и пока жив дескриптор hSearch
.ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_get_listen_ports | ( | ilg_handle | hSearch, |
uint16_t * | pBuf, | ||
size_t * | pSize | ||
) |
Возвращает список портов для прослушки конвертеров к режиме "Клиент".
Возвращает список TCP-портов, которые открываются для прослушки, к этим портам подключаются IP-конвертеры в режиме "Клиент". Установить список можно с помощью функциеи ilg_search_set_listen_ports.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in,out] | pBuf | Указатель на буфер для списка портов. Может быть равен nullptr . |
[in,out] | pSize | Размер буфера в словах uint16_t . |
pBuf
равен nullptr
, то буфер не используется, возвращается только требуемый размер для буфера pBuf
.pSize
устанавливается требуемый размер для буфера pBuf
.pSize
равно ILG_AUTOALLOCATE, то библиотека сама выделяет память. pBuf
должен ссылаться на указатель, в который будет записан адрес выделенной памяти. После использования памяти нужно освободить функцией ilg_free_memory ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_E_POINTER | Необходимый выходной параметр равен nullptr . |
ILG_E_BUFFER_TOO_SMALL | Размер буфера не достаточный. |
ILG_E_OUTOFMEMORY | Не удалось выделить память. |
ILG_API ilg_status ILG_CALL ilg_search_get_message | ( | ilg_handle | hSearch, |
ilg_search_msg * | pMsg, | ||
const void ** | pMsgData, | ||
ilg_bool * | pFound | ||
) |
Извлекает следующее сообщение из очереди.
[in] | hSearch | Дескриптор поиска конвертеров. |
[out] | pMsg | Тип сообщения. |
[out] | pMsgData | Указатель на данные пользователя, которые были установлены функцией ilg_search_set_message_callback. |
[out] | pFound | ILG_TRUE , если сообщение успешно извлечено, иначе - очередь пуста. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_get_options | ( | ilg_handle | hSearch, |
ilg_search_options * | pOptions | ||
) |
Возвращает параметры поиска конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[out] | pOptions | Опции поиска конвертеров. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_scan | ( | ilg_handle | hSearch, |
ilg_bool | fReset = ILG_FALSE |
||
) |
Ищет конвертеры.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | fReset | ILG_TRUE , очищает список найденных конвертеров перед началом поиска. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_set_auto_scan | ( | ilg_handle | hSearch, |
ilg_bool | fEnable = ILG_TRUE , |
||
ilg_bool | fWait = ILG_TRUE |
||
) |
Включает/выключает авто поиск конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | fEnable | ILG_TRUE , включает авто поиск, иначе - выключает. |
[in] | fWait | ILG_TRUE , ждёт полного завершения команды, иначе только устанавливает флаг. |
fWait
=ILG_TRUE
, то функция не возвращает управление пока ждёт выполнение команды в потоке поиска конвертеров.ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_set_listen_ports | ( | ilg_handle | hSearch, |
const uint16_t * | pPorts, | ||
size_t | nCount | ||
) |
Устанавливает список портов для прослушки конвертеров к режиме "Клиент".
Устанавливает список TCP-портов, к которым будут подключаться IP-конвертеры в режиме "Клиент". Получить список можно функцией ilg_search_get_listen_ports.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | pPorts | Массив портов. Если равно nullptr , то очищает список. |
[in] | nCount | Количество элементов массива портов. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_set_message_callback | ( | ilg_handle | hSearch, |
ilg_search_message_callback | pCallback, | ||
void * | pUserData = nullptr |
||
) |
Устанавливает функцию обратного вызова для уведомлений поиска конвертеров.
Устанавливает функцию для получения сообщений от дескриптора поиска конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | pCallback | Указатель на функцию, которую библиотека будет вызывать при возникновении события поиска конвертеров. |
[in] | pUserData | Указатель на данные пользователя, который будет передаваться в функцию. |
ILG_E_BLOCKING_CALL_NOT_ALLOWED
.ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_search_set_options | ( | ilg_handle | hSearch, |
const ilg_search_options * | pOptions | ||
) |
Устанавливает параметры поиска конвертеров.
[in] | hSearch | Дескриптор поиска конвертеров. |
[in] | pOptions | Опции поиска конвертеров. |
ILG_OK
в случае успеха или код ошибки в случае неудачи. ILG_API ilg_status ILG_CALL ilg_set_filter_port_callback | ( | ilg_filter_port_callback | pCallback, |
void * | pUserData = nullptr |
||
) |
Устанавливает функцию обратного вызова для фильтрации портов при поиске конвертеров.
[in] | pCallback | Указатель на функцию, которую поток поиска будет вызывать при нахождении порта. |
[in] | pUserData | Указатель на данные пользователя, который будет передаваться в функцию. |
ILG_E_BLOCKING_CALL_NOT_ALLOWED
.ILG_OK
в случае успеха или код ошибки в случае неудачи.