ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
error_codes.h
Go to the documentation of this file.
1
27#pragma once
28
29#include <stdint.h>
30
31/* Undefine Windows macros that conflict with our enum values */
32#ifdef _WIN32
33#undef ERROR_BUFFER_OVERFLOW
34#undef ERROR_INVALID_STATE
35#undef ERROR_FILE_NOT_FOUND
36#endif
37
46typedef enum {
47 /* Standard codes (0-2) - Unix conventions */
52 /* Initialization failures (3-19) */
60 /* Hardware/Device errors (20-39) */
68 /* Network errors (40-59) */
76 /* Session and protocol errors (46-55) */
87 /* Security/Crypto errors (60-79) */
94 /* Runtime errors (80-99) */
108 /* Signal/Crash handlers (100-127) */
113 /* Compression errors (103-104) */
117 /* File system errors (105-109) */
121 /* Process errors (110-119) */
124 /* Reserved (128-255) - Should not be used */
125 /* 128+N typically means "terminated by signal N" on Unix systems */
126
128
135static inline const char *asciichat_error_string(asciichat_error_t code) {
136 switch (code) {
137 case ASCIICHAT_OK:
138 return "Success";
139 case ERROR_GENERAL:
140 return "General error";
141 case ERROR_USAGE:
142 return "Invalid command line usage";
143 case ERROR_MEMORY:
144 return "Memory allocation failed";
145 case ERROR_CONFIG:
146 return "Configuration error";
148 return "Cryptographic initialization failed";
150 return "Logging initialization failed";
152 return "Platform initialization failed";
153 case ERROR_INIT:
154 return "Initialization failed";
155 case ERROR_WEBCAM:
156 return "Webcam error";
158 return "Webcam in use by another application";
160 return "Webcam permission denied";
161 case ERROR_AUDIO:
162 return "Audio device error";
164 return "Audio device in use";
165 case ERROR_TERMINAL:
166 return "Terminal error";
167 case ERROR_NETWORK:
168 return "Network error";
170 return "Cannot bind to network port";
172 return "Cannot connect to server";
174 return "Network timeout";
176 return "Network protocol error";
178 return "Network packet size error";
180 return "Rate limit exceeded";
182 return "Session not found";
184 return "Session is full";
186 return "Invalid password";
188 return "Invalid signature";
190 return "Session string already in use";
192 return "Invalid session string";
193 case ERROR_INTERNAL:
194 return "Internal server error";
196 return "Unknown packet type";
197 case ERROR_CRYPTO:
198 return "Cryptographic error";
199 case ERROR_CRYPTO_KEY:
200 return "Cryptographic key error";
202 return "Authentication failed";
204 return "Cryptographic handshake failed";
206 return "Signature verification failed";
207 case ERROR_THREAD:
208 return "Thread error";
209 case ERROR_BUFFER:
210 return "Buffer error";
212 return "Buffer full";
214 return "Buffer overflow";
215 case ERROR_DISPLAY:
216 return "Display error";
218 return "Invalid program state";
220 return "Invalid parameter";
222 return "Invalid frame data";
224 return "System resources exhausted";
225 case ERROR_FORMAT:
226 return "String formatting operation failed";
227 case ERROR_STRING:
228 return "String manipulation operation failed";
229 case ERROR_NOT_FOUND:
230 return "Resource not found";
232 return "Interrupted by signal";
234 return "Terminated by fatal signal";
236 return "Assertion failed";
238 return "Compression operation failed";
240 return "Decompression operation failed";
242 return "File or directory operation failed";
244 return "File or directory not found";
246 return "Process execution or termination failed";
247 default:
248 return "Unknown error";
249 }
250}
251
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:46
@ ERROR_LOGGING_INIT
Definition error_codes.h:56
@ ERROR_INVALID_STATE
@ ERROR_CRYPTO_HANDSHAKE
Definition error_codes.h:91
@ ERROR_NETWORK_CONNECT
Definition error_codes.h:71
@ ERROR_CRYPTO_KEY
Definition error_codes.h:89
@ ERROR_SIGNAL_INTERRUPT
@ ERROR_UNKNOWN_PACKET
Definition error_codes.h:85
@ ERROR_INVALID_PASSWORD
Definition error_codes.h:80
@ ERROR_COMPRESSION
@ ERROR_ACDS_STRING_INVALID
Definition error_codes.h:83
@ ERROR_ACDS_STRING_TAKEN
Definition error_codes.h:82
@ ERROR_NETWORK_BIND
Definition error_codes.h:70
@ ERROR_FILE_NOT_FOUND
@ ERROR_NETWORK
Definition error_codes.h:69
@ ERROR_PLATFORM_INIT
Definition error_codes.h:57
@ ERROR_WEBCAM_IN_USE
Definition error_codes.h:62
@ ERROR_CRYPTO_VERIFICATION
Definition error_codes.h:92
@ ERROR_RESOURCE_EXHAUSTED
@ ERROR_PROCESS_FAILED
@ ERROR_NOT_FOUND
@ ERROR_BUFFER_FULL
Definition error_codes.h:97
@ ERROR_AUDIO
Definition error_codes.h:64
@ ERROR_NETWORK_PROTOCOL
Definition error_codes.h:73
@ ERROR_DECOMPRESSION
@ ERROR_MEMORY
Definition error_codes.h:53
@ ASCIICHAT_OK
Definition error_codes.h:48
@ ERROR_GENERAL
Definition error_codes.h:49
@ ERROR_STRING
@ ERROR_INVALID_SIGNATURE
Definition error_codes.h:81
@ ERROR_NETWORK_SIZE
Definition error_codes.h:74
@ ERROR_CRYPTO_AUTH
Definition error_codes.h:90
@ ERROR_INIT
Definition error_codes.h:58
@ ERROR_WEBCAM_PERMISSION
Definition error_codes.h:63
@ ERROR_RATE_LIMITED
Definition error_codes.h:77
@ ERROR_SESSION_FULL
Definition error_codes.h:79
@ ERROR_DISPLAY
Definition error_codes.h:99
@ ERROR_CRYPTO_INIT
Definition error_codes.h:55
@ ERROR_INVALID_FRAME
@ ERROR_CONFIG
Definition error_codes.h:54
@ ERROR_FILE_OPERATION
@ ERROR_CRYPTO
Definition error_codes.h:88
@ ERROR_SIGNAL_CRASH
@ ERROR_USAGE
Definition error_codes.h:50
@ ERROR_INVALID_PARAM
@ ERROR_BUFFER_OVERFLOW
Definition error_codes.h:98
@ ERROR_INTERNAL
Definition error_codes.h:84
@ ERROR_AUDIO_IN_USE
Definition error_codes.h:65
@ ERROR_TERMINAL
Definition error_codes.h:66
@ ERROR_ASSERTION_FAILED
@ ERROR_SESSION_NOT_FOUND
Definition error_codes.h:78
@ ERROR_NETWORK_TIMEOUT
Definition error_codes.h:72
@ ERROR_WEBCAM
Definition error_codes.h:61
@ ERROR_BUFFER
Definition error_codes.h:96
@ ERROR_THREAD
Definition error_codes.h:95
@ ERROR_FORMAT