36#include "platform/windows/getopt.h"
53 char **remaining_argv;
59 return defaults_result;
69 if (remaining_argc > 0) {
70 (void)fprintf(stderr,
"Error: Unexpected arguments after options:\n");
71 for (
int i = 0; i < remaining_argc; i++) {
72 (void)fprintf(stderr,
" %s\n", remaining_argv[i]);
75 return option_error_invalid();
90 (void)fprintf(desc,
"Error: Failed to create options config\n");
96 (void)fprintf(desc,
"USAGE:\n");
97 (void)fprintf(desc,
" %s [address][:port] [options...]\n\n", config->
program_name);
105 (void)fprintf(desc,
" %s\n", pos_arg->
examples[i]);
107 (void)fprintf(desc,
"\n");
🖼️ ASCII Art Conversion and Output Interface
⚠️‼️ Error and/or exit() when things go bad.
void options_config_print_usage(const options_config_t *config, FILE *stream)
Print usage/help text.
asciichat_error_t options_config_set_defaults(const options_config_t *config, void *options_struct)
Set default values in options struct.
asciichat_error_t options_config_parse(const options_config_t *config, int argc, char **argv, void *options_struct, int *remaining_argc, char ***remaining_argv)
Parse command-line arguments.
void options_config_destroy(options_config_t *config)
Free options config.
Options builder API for flexible command-line option configuration.
const options_config_t * options_preset_client(const char *program_name, const char *description)
Get client mode options preset.
asciichat_error_t
Error and exit codes - unified status values (0-255)
void usage_client(FILE *desc)
Print client mode usage/help text.
🌍 IP Address Parsing and Formatting Utilities
Levenshtein distance algorithm for fuzzy string matching.
🔊 Audio Capture and Playback Interface for ascii-chat
asciichat_error_t parse_client_options(int argc, char **argv, options_t *opts)
Parse client-specific command-line options.
Client mode option parsing.
Application limits and constraints.
📝 Logging API with multiple log levels and terminal output control
Common utilities and helpers for option parsing.
Validation functions for options parsing.
⚙️ Command-line options parsing and configuration management for ascii-chat
Password prompting utilities with secure input and formatting.
positional_arg_descriptor_t * positional_args
Array of positional argument descriptors.
const char * program_name
For usage header.
size_t num_positional_args
Number of positional arguments.
const char * description
For usage header.
Consolidated options structure.
Positional argument descriptor.
const char * section_heading
Section heading for examples (e.g., "ADDRESS FORMATS")
const char ** examples
Array of example strings with descriptions.
size_t num_examples
Number of examples.
Cross-platform system functions interface for ascii-chat.
Common SIMD utilities and structures.