moved libs to the lib directory

This commit is contained in:
2025-11-13 18:40:06 +03:00
parent 4678ff1690
commit dda7ed6db8
634 changed files with 3 additions and 2 deletions

162
lib/l502/l502api.h Normal file
View File

@ -0,0 +1,162 @@
/***************************************************************************//**
@file l502api.h
Файл содержит все необходимые описания типов, констант и функций для работы
с модулем L-502 из пользовательской программы.
@date 11.03.2012
@author Borisov Alexey <borisov@lcard.ru>
******************************************************************************/
#ifndef L502_API_H
#define L502_API_H
#include "l502api_compat.h"
#include "x502api.h"
#ifdef __cplusplus
extern "C" {
#endif
/***************************************************************************//**
@addtogroup func_open
@{
*******************************************************************************/
/***************************************************************************//**
@brief Получение списка серийных номеров модулей L-502
Функция возвращает список номеров всех найденных модулей L-502, независимо от
того, открыты они сейчас или нет.
Если нужен список только тех модулей, которые не открыты (то есть
только тех, с которыми можно установить соединение), то для этого можно
передать в функцию флаг #X502_GETDEVS_FLAGS_ONLY_NOT_OPENED.
@param[in] serials Массив размером size*#X502_SERIAL_SIZE байт, в который
будут сохранены серийные номера найденных модулей.
Может быть NULL, если size=0, а devcnt!=NULL, в случае,
если нужно только получить количество модулей в системе.
@param[in] size Определяет, сколько максимально серийных номеров может
быть сохранено в массив serial. Будут сохранены только
первые size серийных номеров.
Может быть 0, если serials=NULL
@param[in] flags Флаги из #t_x502_getdevs_flags, определяющие поведение
функции.
@param[out] devcnt Если devcnt!=NULL, то в данную переменную сохраняется
общее число найденных модулей L502
(может быть больше size).
@return Если <0 - код ошибки, иначе количество сохраненных
серийных номеров в массиве serials (всегда <= size)
*******************************************************************************/
X502_EXPORT(int32_t) L502_GetSerialList(char serials[][X502_SERIAL_SIZE], uint32_t size,
uint32_t flags, uint32_t *devcnt);
/***************************************************************************//**
@brief Открытие модуля L-502 по его серийному номеру
Функция устанавливает связь с модулем L-502 по его серийному номеру.
После успешного выполнения этой функции, пользователь получает эксклюзивный
доступ к модулю через описатель модуля. До закрытия связи с помощью
X502_Close() никто другой установить связь с модулем не сможет
(будет возвращена ошибка #X502_ERR_DEVICE_ACCESS_DENIED).
Если в качестве серийного номера передан NULL или пустая строка, то будет
установлена связь с первым найденным модулем, с которым получится успешно
ее установить.
Если в системе нет ни одного модуля, то будет возвращена ошибка
#X502_ERR_DEVICE_NOT_FOUND. Если в системе присутствуют модули L-502, но
соединение ни с одним из них установить не удалось, то будет возвращена
ошибка, полученная при попытке установить соединение с последним
найденным модулем.
После завершения работы с устройством соединение должно быть закрыто с
помощью X502_Close().
@param[in] hnd Описатель устройства.
@param[in] serial Указатель на строку с серийным номером открываемого
модуля или NULL.
@return Код ошибки.
*******************************************************************************/
X502_EXPORT(int32_t) L502_Open(t_x502_hnd hnd, const char *serial);
/** @} */
/***************************************************************************//**
@addtogroup func_devrec
@{
*******************************************************************************/
/***************************************************************************//**
@brief Получить список записей, соответствующих подключенным модулям L502
Функция находит все подключенные модули L-502 и инициализирует
записи о каждом найденном устройстве и сохраняет их в переданный список
(если не нулевой).
Возвращенные в списке записи должны быть очищены после использования
с помощью X502_FreeDevRecordList() (также в случае повторного
вызов L502_GetDevRecordsList() с тем же массивом записей, записи, полученные
при предыдущем вызове, должны быть сперва очищены).
@param[in] list Массив для сохранения записей о найденных устройствах.
Должен содержать место для сохранения не менее size записей.
Может быть NULL, если size=0, а devcnt!=NULL, в случае,
если нужно только получить количество модулей в системе.
@param[in] size Определяет, сколько максимально записей может
быть сохранено в массив list. Будут сохранены только
первые size записей, если устройств найденно больше.
@param[in] flags Флаги из #t_x502_getdevs_flags, определяющие поведение
функции.
@param[out] devcnt Если не нулевой указатель, то в данную переменную сохраняется
общее число найденных модулей L-502 (может быть больше size).
@return Если <0 --- код ошибки, иначе количество сохраненных
записей о найденных устройствах (всегда <= size).
Именно на этот размер нужно сделать в дальнейшем
X502_FreeDevRecordList() для освобождения памяти,
выделенной под информацию, на которую ссылается запись.
******************************************************************************/
X502_EXPORT(int32_t) L502_GetDevRecordsList(t_x502_devrec *list, uint32_t size,
uint32_t flags, uint32_t *devcnt) ;
/** @} */
/***************************************************************************//**
@addtogroup func_misc
@{
*******************************************************************************/
/**************************************************************************//**
@brief Получить версию драйвера модуля L-502
Функция возвращает версию драйвера, установленного для
указанного открытого устройства.
Версия возвращается в виде 32-битного числа.
Строковое представление возвращенной версии - четыре числа,
старшее соответствует старшему байту, младшее - младшему.
Старший байт - мажорная версия, второй по старшинству байт - минорная,
третий - ревизия, четвертый - номер сборки (не используется - всегда 0).
Это та версия, которая отображается в диспетчере устройств в Windows или
с помощью modinfo в Linux.
Данная функция доступна только для устройств с интерфейсом PCI/PCI-Express (L502)
@param[in] hnd Описатель модуля.
@param[out] ver 32-битное число, представляющее собой версию драйвера
@return Код ошибки.
*****************************************************************************/
X502_EXPORT(int32_t) L502_GetDriverVersion(t_x502_hnd hnd, uint32_t* ver);
/** @} */
#ifdef __cplusplus
}
#endif
#endif