ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
status.h
Go to the documentation of this file.
1#pragma once
2
21#include <time.h>
22#include "../common.h"
23#include "../network/tcp/server.h"
24
30typedef struct {
31 char session_string[64];
32 char ipv4_address[256];
33 char ipv6_address[256];
39 time_t start_time;
40 const char *mode_name;
42
60asciichat_error_t ui_status_gather(tcp_server_t *server, const char *session_string, const char *ipv4_address,
61 const char *ipv6_address, uint16_t port, time_t start_time,
62 const char *mode_name, bool session_is_mdns_only, ui_status_t *out_status);
63
72void ui_status_display(const ui_status_t *status);
73
85
102void ui_status_update(tcp_server_t *server, const char *session_string, const char *ipv4_address,
103 const char *ipv6_address, uint16_t port, time_t start_time, const char *mode_name,
104 bool session_is_mdns_only, uint64_t *last_update_ns);
105
111void ui_status_log_init(void);
112
118void ui_status_log_destroy(void);
119
127void ui_status_log_append(const char *message);
128
135void ui_status_log_clear(void);
unsigned short uint16_t
Definition common.h:57
unsigned long long uint64_t
Definition common.h:59
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:49
void ui_status_log_clear(void)
Clear all log messages from status screen buffer.
Definition status.c:43
void ui_status_display(const ui_status_t *status)
Display status screen.
Definition status.c:194
void ui_status_log_destroy(void)
Cleanup status screen log capture system.
Definition status.c:36
asciichat_error_t ui_status_gather(tcp_server_t *server, const char *session_string, const char *ipv4_address, const char *ipv6_address, uint16_t port, time_t start_time, const char *mode_name, bool session_is_mdns_only, ui_status_t *out_status)
Gather current status information.
Definition status.c:52
void ui_status_update(tcp_server_t *server, const char *session_string, const char *ipv4_address, const char *ipv6_address, uint16_t port, time_t start_time, const char *mode_name, bool session_is_mdns_only, uint64_t *last_update_ns)
Periodically update status display with live logs at FPS rate.
Definition status.c:297
void ui_status_log_init(void)
Initialize status screen log capture system.
Definition status.c:28
void ui_status_log_append(const char *message)
Append a log message to status screen buffer.
bool ui_status_display_interactive(const ui_status_t *status)
Display status screen with interactive keyboard support.
Definition status.c:237
Status information for server/discovery service modes.
Definition status.h:30
bool ipv4_bound
Whether IPv4 socket is bound.
Definition status.h:36
bool ipv6_bound
Whether IPv6 socket is bound.
Definition status.h:37
uint16_t port
TCP listen port.
Definition status.h:34
const char * mode_name
Mode name (e.g., "Server", "Discovery Service")
Definition status.h:40
time_t start_time
Server start time (for uptime calculation)
Definition status.h:39
bool session_is_mdns_only
Whether session is mDNS-only or ACDS.
Definition status.h:38
size_t connected_count
Number of connected clients/servers.
Definition status.h:35
⏱️ High-precision timing utilities using sokol_time.h and uthash