ascii-chat 0.11.33
Video chat in your terminal
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#undef ERROR_NOT_SUPPORTED
37#undef ERROR_INVALID_PASSWORD
38#undef ERROR_NOT_FOUND
39#endif
40
49typedef enum {
50 /* Standard codes (0-2) - Unix conventions */
55 /* Initialization failures (3-19) */
63 /* Hardware/Device errors (20-39) */
76 /* Network errors (40-59) */
84 /* Session and protocol errors (46-55) */
95 /* Security/Crypto errors (60-79) */
102 /* Runtime errors (80-99) */
116 /* Signal/Crash handlers (100-127) */
121 /* Compression errors (103-104) */
125 /* File system errors (105-109) */
129 /* Process errors (110-119) */
132 /* YouTube/URL streaming errors (111-116) */
139 /* Reserved (128-255) - Should not be used */
140 /* 128+N typically means "terminated by signal N" on Unix systems */
141
143
150static inline const char *asciichat_error_string(asciichat_error_t code) {
151 switch (code) {
152 case ASCIICHAT_OK:
153 return "Success";
154 case ERROR_GENERAL:
155 return "General error";
156 case ERROR_USAGE:
157 return "Invalid command line usage";
158 case ERROR_MEMORY:
159 return "Memory allocation failed";
160 case ERROR_CONFIG:
161 return "Configuration error";
163 return "Cryptographic initialization failed";
165 return "Logging initialization failed";
167 return "Platform initialization failed";
168 case ERROR_INIT:
169 return "Initialization failed";
170 case ERROR_WEBCAM:
171 return "Webcam error";
173 return "Webcam in use by another application";
175 return "Webcam permission denied";
176 case ERROR_AUDIO:
177 return "Audio device error";
179 return "Audio device in use";
180 case ERROR_TERMINAL:
181 return "Terminal error";
182 case ERROR_MEDIA_INIT:
183 return "Media source initialization failed";
184 case ERROR_MEDIA_OPEN:
185 return "Failed to open media file or stream";
187 return "Media decoding failed";
188 case ERROR_MEDIA_SEEK:
189 return "Media seek operation failed";
191 return "Operation not supported";
192 case ERROR_NETWORK:
193 return "Network error";
195 return "Cannot bind to network port";
197 return "Cannot connect to server";
199 return "Network timeout";
201 return "Network protocol error";
203 return "Network packet size error";
205 return "Rate limit exceeded";
207 return "Session not found";
209 return "Session is full";
211 return "Invalid password";
213 return "Invalid signature";
215 return "Session string already in use";
217 return "Invalid session string";
218 case ERROR_INTERNAL:
219 return "Internal server error";
221 return "Unknown packet type";
222 case ERROR_CRYPTO:
223 return "Cryptographic error";
224 case ERROR_CRYPTO_KEY:
225 return "Cryptographic key error";
227 return "Authentication failed";
229 return "Cryptographic handshake failed";
231 return "Signature verification failed";
232 case ERROR_THREAD:
233 return "Thread error";
234 case ERROR_BUFFER:
235 return "Buffer error";
237 return "Buffer full";
239 return "Buffer overflow";
240 case ERROR_DISPLAY:
241 return "Display error";
243 return "Invalid program state";
245 return "Invalid parameter";
247 return "Invalid frame data";
249 return "System resources exhausted";
250 case ERROR_FORMAT:
251 return "String formatting operation failed";
252 case ERROR_STRING:
253 return "String manipulation operation failed";
254 case ERROR_NOT_FOUND:
255 return "Resource not found";
257 return "Interrupted by signal";
259 return "Terminated by fatal signal";
261 return "Assertion failed";
263 return "Compression operation failed";
265 return "Decompression operation failed";
267 return "File or directory operation failed";
269 return "File or directory not found";
271 return "Process execution or termination failed";
273 return "Invalid YouTube URL format";
275 return "YouTube URL extraction failed";
277 return "Video cannot be played";
279 return "YouTube network error";
281 return "YouTube support not compiled";
282 default:
283 return "Unknown error";
284 }
285}
286
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:49
@ ERROR_LOGGING_INIT
Definition error_codes.h:59
@ ERROR_INVALID_STATE
@ ERROR_CRYPTO_HANDSHAKE
Definition error_codes.h:99
@ ERROR_MEDIA_SEEK
Definition error_codes.h:73
@ ERROR_NETWORK_CONNECT
Definition error_codes.h:79
@ ERROR_CRYPTO_KEY
Definition error_codes.h:97
@ ERROR_SIGNAL_INTERRUPT
@ ERROR_UNKNOWN_PACKET
Definition error_codes.h:93
@ ERROR_INVALID_PASSWORD
Definition error_codes.h:88
@ ERROR_COMPRESSION
@ ERROR_ACDS_STRING_INVALID
Definition error_codes.h:91
@ ERROR_ACDS_STRING_TAKEN
Definition error_codes.h:90
@ ERROR_NETWORK_BIND
Definition error_codes.h:78
@ ERROR_FILE_NOT_FOUND
@ ERROR_NETWORK
Definition error_codes.h:77
@ ERROR_PLATFORM_INIT
Definition error_codes.h:60
@ ERROR_YOUTUBE_NOT_SUPPORTED
@ ERROR_WEBCAM_IN_USE
Definition error_codes.h:65
@ ERROR_CRYPTO_VERIFICATION
@ ERROR_RESOURCE_EXHAUSTED
@ ERROR_PROCESS_FAILED
@ ERROR_NOT_FOUND
@ ERROR_BUFFER_FULL
@ ERROR_AUDIO
Definition error_codes.h:67
@ ERROR_YOUTUBE_NETWORK
@ ERROR_NETWORK_PROTOCOL
Definition error_codes.h:81
@ ERROR_DECOMPRESSION
@ ERROR_MEMORY
Definition error_codes.h:56
@ ASCIICHAT_OK
Definition error_codes.h:51
@ ERROR_GENERAL
Definition error_codes.h:52
@ ERROR_STRING
@ ERROR_MEDIA_DECODE
Definition error_codes.h:72
@ ERROR_INVALID_SIGNATURE
Definition error_codes.h:89
@ ERROR_NETWORK_SIZE
Definition error_codes.h:82
@ ERROR_CRYPTO_AUTH
Definition error_codes.h:98
@ ERROR_INIT
Definition error_codes.h:61
@ ERROR_WEBCAM_PERMISSION
Definition error_codes.h:66
@ ERROR_RATE_LIMITED
Definition error_codes.h:85
@ ERROR_YOUTUBE_EXTRACT_FAILED
@ ERROR_SESSION_FULL
Definition error_codes.h:87
@ ERROR_DISPLAY
@ ERROR_MEDIA_INIT
Definition error_codes.h:70
@ ERROR_CRYPTO_INIT
Definition error_codes.h:58
@ ERROR_INVALID_FRAME
@ ERROR_CONFIG
Definition error_codes.h:57
@ ERROR_FILE_OPERATION
@ ERROR_CRYPTO
Definition error_codes.h:96
@ ERROR_SIGNAL_CRASH
@ ERROR_USAGE
Definition error_codes.h:53
@ ERROR_INVALID_PARAM
@ ERROR_BUFFER_OVERFLOW
@ ERROR_INTERNAL
Definition error_codes.h:92
@ ERROR_MEDIA_OPEN
Definition error_codes.h:71
@ ERROR_AUDIO_IN_USE
Definition error_codes.h:68
@ ERROR_TERMINAL
Definition error_codes.h:69
@ ERROR_ASSERTION_FAILED
@ ERROR_SESSION_NOT_FOUND
Definition error_codes.h:86
@ ERROR_NETWORK_TIMEOUT
Definition error_codes.h:80
@ ERROR_WEBCAM
Definition error_codes.h:64
@ ERROR_BUFFER
@ ERROR_YOUTUBE_INVALID_URL
@ ERROR_THREAD
@ ERROR_NOT_SUPPORTED
Definition error_codes.h:74
@ ERROR_YOUTUBE_UNPLAYABLE
@ ERROR_FORMAT