29 lines
1.0 KiB
C
29 lines
1.0 KiB
C
#ifndef JLV135_CLI_BLOCK_H
|
||
#define JLV135_CLI_BLOCK_H
|
||
|
||
#include <stdbool.h>
|
||
|
||
// Структура блока конфигурации (модуля)
|
||
typedef struct jl_block
|
||
{
|
||
const char *name; // Имя блока (wifi, modbus, display, и т.д.)
|
||
|
||
// Метод get: отображает все параметры блока с текущими значениями
|
||
// Возвращает 0 при успехе, != 0 при ошибке
|
||
int (*get)(void);
|
||
|
||
// Метод set: изменяет параметры блока
|
||
// argc - количество аргументов после "set <blockname>"
|
||
// argv - массив аргументов
|
||
// Возвращает 0 при успехе, != 0 при ошибке
|
||
int (*set)(int argc, const char *argv[]);
|
||
} jl_block_t;
|
||
|
||
// Получить список всех доступных блоков
|
||
const jl_block_t *jl_block_get_all(void);
|
||
|
||
// Найти блок по имени
|
||
const jl_block_t *jl_block_find(const char *name);
|
||
|
||
#endif // JLV135_CLI_BLOCK_H
|