ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
parsing.h
Go to the documentation of this file.
1#pragma once
2
44#include "../common.h"
45
46/* ============================================================================
47 * Protocol Message Parsing Functions
48 * @{
49 */
50
82asciichat_error_t safe_parse_size_message(const char *message, unsigned int *width, unsigned int *height);
83
113asciichat_error_t safe_parse_audio_message(const char *message, unsigned int *num_samples);
114
117/* ============================================================================
118 * Integer Parsing Functions
119 * @{
120 */
121
132asciichat_error_t parse_long(const char *str, long *out_value, long min_value, long max_value);
133
142asciichat_error_t parse_ulong(const char *str, unsigned long *out_value, unsigned long min_value,
143 unsigned long max_value);
144
153asciichat_error_t parse_ulonglong(const char *str, unsigned long long *out_value, unsigned long long min_value,
154 unsigned long long max_value);
155
164asciichat_error_t parse_port(const char *str, uint16_t *out_port);
165
174asciichat_error_t parse_int32(const char *str, int32_t *out_value, int32_t min_value, int32_t max_value);
175
184asciichat_error_t parse_uint32(const char *str, uint32_t *out_value, uint32_t min_value, uint32_t max_value);
185
unsigned short uint16_t
Definition common.h:57
unsigned int uint32_t
Definition common.h:58
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:46
asciichat_error_t safe_parse_size_message(const char *message, unsigned int *width, unsigned int *height)
Parse SIZE message format.
Definition parsing.c:14
asciichat_error_t safe_parse_audio_message(const char *message, unsigned int *num_samples)
Parse AUDIO message format.
Definition parsing.c:62
asciichat_error_t parse_ulonglong(const char *str, unsigned long long *out_value, unsigned long long min_value, unsigned long long max_value)
Parse unsigned long long integer with range validation.
Definition parsing.c:179
asciichat_error_t parse_uint32(const char *str, uint32_t *out_value, uint32_t min_value, uint32_t max_value)
Parse unsigned 32-bit integer with range validation.
Definition parsing.c:259
asciichat_error_t parse_ulong(const char *str, unsigned long *out_value, unsigned long min_value, unsigned long max_value)
Parse unsigned long integer with range validation.
Definition parsing.c:137
asciichat_error_t parse_long(const char *str, long *out_value, long min_value, long max_value)
Parse signed long integer with range validation.
Definition parsing.c:96
asciichat_error_t parse_int32(const char *str, int32_t *out_value, int32_t min_value, int32_t max_value)
Parse signed 32-bit integer with range validation.
Definition parsing.c:240
asciichat_error_t parse_port(const char *str, uint16_t *out_port)
Parse port number (1-65535) from string.
Definition parsing.c:221