Integrate shared C transport with desktop and Android frontends, add radio probes and detailed Windows diagnostics, and fix GUI build dependencies and early configuration startup errors.
29 lines
1.3 KiB
C
29 lines
1.3 KiB
C
/* Причины отказа конфигурации для CLI/GUI, отдельно от фильтров журнала.
|
|
* Каждый поток хранит свой ограниченный список ошибок. Операция чтения/подготовки
|
|
* очищает его на входе; вызывающий копирует результат до следующей операции.
|
|
* Сообщения не должны содержать приватные ключи и другие секретные значения. */
|
|
#ifndef CONFIG_ERROR_H
|
|
#define CONFIG_ERROR_H
|
|
|
|
#include "../lib/debug_config.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
void config_error_clear(void); /* Начать новую операцию в текущем потоке. */
|
|
const char *config_error_text(void); /* Заимствованный UTF-8, пустой при отсутствии ошибок. */
|
|
void config_error_append(const char *format, ...); /* Добавить причину, сохранив errno. */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/* Записать причину независимо от фильтра, затем вывести обычную CONFIG-диагностику. */
|
|
#define CONFIG_ERROR(...) do { \
|
|
config_error_append(__VA_ARGS__); \
|
|
DEBUG_ERROR(DEBUG_CATEGORY_CONFIG, __VA_ARGS__); \
|
|
} while (0)
|
|
|
|
#endif
|