From 655733e272ee3e751db1d192190d3003a76f89f7 Mon Sep 17 00:00:00 2001 From: evgeny Date: Tue, 27 Oct 2026 07:33:08 +0100 Subject: [PATCH] docs(chat): define preference return codes and bounded trampoline inputs --- src/chat/chat_core.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/chat/chat_core.h b/src/chat/chat_core.h index fcf68327..d32b6298 100644 --- a/src/chat/chat_core.h +++ b/src/chat/chat_core.h @@ -206,12 +206,15 @@ int chat_core_set_sound_on_message(struct UTUN_INSTANCE* inst, const char* ch_id struct chat_sound_arg { struct UTUN_INSTANCE* inst; char ch_id[64]; int on; }; void chat_core_set_sound_on_message_trampoline(void* arg); +/* Полный request принадлежит trampoline/u_free;data содержит key+NUL,value+NUL в пределах массива. */ struct save_ui_state_arg { struct UTUN_INSTANCE* inst; char data[1024]; }; void chat_core_save_ui_state_trampoline(void* arg); -// Установка chat-настройки (name=value) через chat_setting API (GUI → uasync) +/* Установить через chat_setting:0 — успех,-1 — неизвестное имя,-2 — валидация,-3 — LAN apply pending. + * Только успешный group_autoconnect запускает пересмотр групп;остальные эффекты — в chat_setting.h. */ int chat_core_set_setting(struct UTUN_INSTANCE* inst, const char* name, const char* value); +/* Trampoline владеет полным request/u_free;data — name+NUL,value+NUL,обе строки проверяются в границах. */ struct chat_setting_arg { struct UTUN_INSTANCE* inst; char data[256]; }; void chat_core_set_setting_trampoline(void* arg);