ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
asciichat_errno.c File Reference

🚨 Custom error code system with formatted messages, thread-local storage, and errno mapping More...

Go to the source code of this file.

Macros

#define MAX_THREAD_ERRORS   64
 

Functions

void log_labeled (const char *label, log_color_t color, const char *message,...)
 Print a labeled message with color.
 
void asciichat_set_errno (asciichat_error_t code, const char *file, int line, const char *function, const char *context_message)
 Set error code with basic context.
 
void asciichat_set_errno_with_message (asciichat_error_t code, const char *file, int line, const char *function, const char *format,...)
 Set error code with formatted message.
 
void asciichat_set_errno_with_system_error (asciichat_error_t code, const char *file, int line, const char *function, int sys_errno)
 Set error code with system error (errno)
 
void asciichat_set_errno_with_system_error_and_message (asciichat_error_t code, const char *file, int line, const char *function, int sys_errno, const char *format,...)
 Set error code with system error and formatted message.
 
void asciichat_set_errno_with_wsa_error (asciichat_error_t code, const char *file, int line, const char *function, int wsa_error)
 Set error code with Windows socket error (WSA error)
 
bool asciichat_has_wsa_error (void)
 Check if current error has WSA error code.
 
bool asciichat_has_errno (asciichat_error_context_t *context)
 Check if error occurred and get full context.
 
void asciichat_clear_errno (void)
 Clear the current error state.
 
asciichat_error_t asciichat_get_errno (void)
 Get current error code.
 
void asciichat_fatal_with_context (asciichat_error_t code, const char *file, int line, const char *function, const char *format,...)
 Exit with error code and context (used by FATAL macro)
 
void asciichat_print_error_context (const asciichat_error_context_t *context)
 Print full error context to stderr.
 
void asciichat_error_stats_init (void)
 Initialize error statistics system.
 
void asciichat_error_stats_record (asciichat_error_t code)
 Record an error in statistics.
 
void asciichat_error_stats_print (void)
 Print error statistics to stderr.
 
void asciichat_error_stats_reset (void)
 Reset all error statistics to zero.
 
asciichat_error_stats_t asciichat_error_stats_get (void)
 Get current error statistics.
 
asciichat_error_t asciichat_get_thread_error (int thread_id)
 Get error code for a specific thread.
 
void asciichat_set_thread_error (int thread_id, asciichat_error_t code)
 Set error code for a specific thread.
 
void asciichat_clear_thread_error (int thread_id)
 Clear error code for a specific thread.
 
void asciichat_errno_suppress (bool suppress)
 Suppress error logging and reporting.
 
void asciichat_errno_cleanup (void)
 Cleanup error system resources.
 

Variables

__thread asciichat_error_context_t asciichat_errno_context
 Thread-local error context storage.
 
__thread asciichat_error_t asciichat_errno = ASCIICHAT_OK
 Thread-local current error code.
 

Detailed Description

🚨 Custom error code system with formatted messages, thread-local storage, and errno mapping

Definition in file asciichat_errno.c.

Macro Definition Documentation

◆ MAX_THREAD_ERRORS

#define MAX_THREAD_ERRORS   64

Definition at line 57 of file asciichat_errno.c.

Variable Documentation

◆ error_code

◆ thread_id

◆ valid