ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
options/validation.h
Go to the documentation of this file.
1
19
20#pragma once
21
22#include <stdbool.h>
23#include <stddef.h>
24#include <stdint.h>
25
26#include "../common.h"
27#include "../options/options.h" // For strtoint_safe()
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
35
40
52ASCIICHAT_API int validate_opt_port(const char *value_str, char *error_msg, size_t error_msg_size);
53
65ASCIICHAT_API int validate_opt_positive_int(const char *value_str, char *error_msg, size_t error_msg_size);
66
78ASCIICHAT_API int validate_opt_non_negative_int(const char *value_str, char *error_msg, size_t error_msg_size);
79
91ASCIICHAT_API int validate_opt_color_mode(const char *value_str, char *error_msg, size_t error_msg_size);
92
104ASCIICHAT_API int validate_opt_render_mode(const char *value_str, char *error_msg, size_t error_msg_size);
105
117ASCIICHAT_API int validate_opt_palette(const char *value_str, char *error_msg, size_t error_msg_size);
118
130ASCIICHAT_API int validate_opt_log_level(const char *value_str, char *error_msg, size_t error_msg_size);
131
146ASCIICHAT_API int validate_opt_ip_address(const char *value_str, char *parsed_address, size_t address_size,
147 bool is_client, char *error_msg, size_t error_msg_size);
148
160ASCIICHAT_API float validate_opt_float_non_negative(const char *value_str, char *error_msg, size_t error_msg_size);
161
174ASCIICHAT_API float validate_opt_volume(const char *value_str, char *error_msg, size_t error_msg_size);
175
187ASCIICHAT_API int validate_opt_fps(const char *value_str, char *error_msg, size_t error_msg_size);
188
200ASCIICHAT_API int validate_opt_max_clients(const char *value_str, char *error_msg, size_t error_msg_size);
201
213ASCIICHAT_API int validate_opt_compression_level(const char *value_str, char *error_msg, size_t error_msg_size);
214
229ASCIICHAT_API int validate_opt_reconnect(const char *value_str, char *error_msg, size_t error_msg_size);
230
243ASCIICHAT_API int validate_opt_device_index(const char *value_str, char *error_msg, size_t error_msg_size);
244
256ASCIICHAT_API int validate_opt_password(const char *value_str, char *error_msg, size_t error_msg_size);
257
278ASCIICHAT_API int options_collect_identity_keys(options_t *opts, int argc, char *argv[]);
279
289ASCIICHAT_API bool is_remote_key_path(const char *key_path);
290
292
293#ifdef __cplusplus
294}
295#endif
296
⚙️ Common definitions, error codes, macros, and types shared throughout the application
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
float validate_opt_volume(const char *value_str, char *error_msg, size_t error_msg_size)
Validate volume value (0.0-1.0).
Definition validation.c:362
int validate_opt_positive_int(const char *value_str, char *error_msg, size_t error_msg_size)
Validate positive integer.
Definition validation.c:133
int validate_opt_render_mode(const char *value_str, char *error_msg, size_t error_msg_size)
Validate render mode string.
Definition validation.c:185
int validate_opt_color_mode(const char *value_str, char *error_msg, size_t error_msg_size)
Validate color mode string.
Definition validation.c:151
struct options_state options_t
Immutable, RCU-published snapshot of the application's runtime configuration.
int validate_opt_palette(const char *value_str, char *error_msg, size_t error_msg_size)
Validate palette type string.
Definition validation.c:213
int validate_opt_non_negative_int(const char *value_str, char *error_msg, size_t error_msg_size)
Validate non-negative integer.
Definition validation.c:142
asciichat_error_t validate_glyph_palette(const options_t *opts)
Definition validation.c:25
int validate_opt_password(const char *value_str, char *error_msg, size_t error_msg_size)
Validate password (8-256 characters).
Definition validation.c:501
int validate_opt_fps(const char *value_str, char *error_msg, size_t error_msg_size)
Validate FPS value (0 for auto, otherwise 1-144).
Definition validation.c:409
float validate_opt_float_non_negative(const char *value_str, char *error_msg, size_t error_msg_size)
Validate non-negative float value.
Definition validation.c:333
int validate_opt_device_index(const char *value_str, char *error_msg, size_t error_msg_size)
Validate device index (-1 for default, 0+ for specific device).
Definition validation.c:469
int validate_opt_reconnect(const char *value_str, char *error_msg, size_t error_msg_size)
Validate reconnect value.
Definition validation.c:422
int validate_opt_max_clients(const char *value_str, char *error_msg, size_t error_msg_size)
Validate max clients value (1-128).
Definition validation.c:391
int validate_opt_ip_address(const char *value_str, char *parsed_address, size_t address_size, bool is_client, char *error_msg, size_t error_msg_size)
Validate IP address or hostname.
Definition validation.c:281
bool is_remote_key_path(const char *key_path)
Check if a key path is a remote/virtual key (not a local file).
Definition validation.c:612
int validate_opt_port(const char *value_str, char *error_msg, size_t error_msg_size)
Validate port number (1-65535).
Definition validation.c:88
int options_collect_identity_keys(options_t *opts, int argc, char *argv[])
Collect multiple –key flags into identity_keys array.
Definition validation.c:540
int validate_opt_compression_level(const char *value_str, char *error_msg, size_t error_msg_size)
Validate compression level (1-9).
Definition validation.c:400
int validate_opt_log_level(const char *value_str, char *error_msg, size_t error_msg_size)
Validate log level string.
Definition validation.c:247
#define ASCIICHAT_API
Export symbols on Unix platforms (Linux, macOS).
Definition api.h:82
⚙️ Unified options parsing system for ascii-chat with builder pattern and lock-free access