161 #ifndef INCLUDED_STATUS
162 #define INCLUDED_STATUS
216 #define STATUS_ADD_DEFINITIONS(definitions) static StatusDefinitionBucket definitions##_bucket = { definitions, ARRAY_SIZE(definitions), StatusAddDefinitions(&definitions##_bucket) }
255 #define WARN_RETURN(status)\
258 DEBUG_WARN_ERR(status);\
265 #define WARN_IF_ERR(expression)\
268 const Status status_ = (expression);\
270 DEBUG_WARN_ERR(status_);\
276 #define RETURN_STATUS_IF_ERR(expression)\
279 const Status status_ = (expression);\
287 #define WARN_RETURN_STATUS_IF_ERR(expression)\
290 const Status status_ = (expression);\
293 DEBUG_WARN_ERR(status_);\
301 #define WARN_THROW(status)\
304 DEBUG_WARN_ERR(status);\
311 #define THROW_STATUS_IF_ERR(expression)\
314 const Status status_ = (expression);\
322 #define WARN_THROW_STATUS_IF_ERR(expression)\
325 const Status status_ = (expression);\
328 DEBUG_WARN_ERR(status_);\
338 #define RETURN_STATUS_FROM_CALLBACK(expression)\
341 const Status status_ = (expression);\
342 if(status_ == INFO::ALL_COMPLETE)\
344 else if(status_ != INFO::OK)\
350 #define RETURN_0_IF_ERR(expression)\
353 const Status status_ = (expression);\
360 #define WARN_IF_FALSE(expression)\
364 debug_warn(L"FYI: WARN_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.");\
369 #define WARN_RETURN_0_IF_FALSE(expression)\
374 debug_warn(L"FYI: WARN_RETURN_0_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.");\
471 #endif // #ifndef INCLUDED_STATUS
StatusDefinitionBucket * next
const Status CANNOT_HANDLE
const Status INVALID_HANDLE
const Status ALL_COMPLETE
const Status NOT_SUPPORTED
const Status INVALID_OFFSET
int ErrnoFromStatus(Status status)
const Status INVALID_VERSION
const wchar_t * description
const Status INVALID_POINTER
const Status INVALID_PARAM
i64 Status
Error handling system.
const Status INVALID_SIZE
const Status INVALID_ALIGNMENT
wchar_t * StatusDescription(Status status, wchar_t *buf, size_t max_chars)
generate textual description of a Status.
const StatusDefinition * definitions
const Status INVALID_FLAG
StatusDefinitionBucket * StatusAddDefinitions(StatusDefinitionBucket *bucket)
(called via STATUS_ADD_DEFINITIONS)