GATE
results.h File Reference

Status, result and error code definitions. More...

#include "gate/gate_core_api.h"
#include "gate/gatetypes.h"

Classes

struct  gate_error_info_class
 
struct  gate_exception_info_class
 

Macros

#define GATE_RESULT_OK   0 /* operation succeeded */
 
#define GATE_RESULT_OK_PARTIAL   1 /* operation succeeded, but only a part of the task was completed, further operations required */
 
#define GATE_RESULT_OK_UNCHANGED   2 /* operation succeeded, but no updated was required and no change was applied */
 
#define GATE_RESULT_ERROR   -32768
 
#define GATE_RESULT_FAILED   (GATE_RESULT_ERROR + 0x001)
 
#define GATE_RESULT_CANCELED   (GATE_RESULT_ERROR + 0x002)
 
#define GATE_RESULT_INVALIDARG   (GATE_RESULT_ERROR + 0x003)
 
#define GATE_RESULT_ACCESSDENIED   (GATE_RESULT_ERROR + 0x004)
 
#define GATE_RESULT_PERMISSIONDENIED   (GATE_RESULT_ERROR + 0x005)
 
#define GATE_RESULT_NOTDEFINED   (GATE_RESULT_ERROR + 0x006)
 
#define GATE_RESULT_NOTAVAILABLE   (GATE_RESULT_ERROR + 0x007)
 
#define GATE_RESULT_NOTIMPLEMENTED   (GATE_RESULT_ERROR + 0x008)
 
#define GATE_RESULT_NOMATCH   (GATE_RESULT_ERROR + 0x009)
 
#define GATE_RESULT_NOTSUPPORTED   (GATE_RESULT_ERROR + 0x00a)
 
#define GATE_RESULT_NOTREQUIRED   (GATE_RESULT_ERROR + 0x00b)
 
#define GATE_RESULT_NOTREADY   (GATE_RESULT_ERROR + 0x00c)
 
#define GATE_RESULT_SECURITYBREACH   (GATE_RESULT_ERROR + 0x00d)
 
#define GATE_RESULT_ALREADYEXISTS   (GATE_RESULT_ERROR + 0x00e)
 
#define GATE_RESULT_INVALIDSTATE   (GATE_RESULT_ERROR + 0x00f)
 
#define GATE_RESULT_OUTOFMEMORY   (GATE_RESULT_ERROR + 0x021)
 
#define GATE_RESULT_OUTOFRESOURCES   (GATE_RESULT_ERROR + 0x022)
 
#define GATE_RESULT_OUTOFBOUNDS   (GATE_RESULT_ERROR + 0x023)
 
#define GATE_RESULT_NULLPOINTER   (GATE_RESULT_ERROR + 0x024)
 
#define GATE_RESULT_BADCAST   (GATE_RESULT_ERROR + 0x025)
 
#define GATE_RESULT_ARITHMETICERROR   (GATE_RESULT_ERROR + 0x026)
 
#define GATE_RESULT_OVERFLOW   (GATE_RESULT_ERROR + 0x027)
 
#define GATE_RESULT_UNDERFLOW   (GATE_RESULT_ERROR + 0x028)
 
#define GATE_RESULT_LOCKED   (GATE_RESULT_ERROR + 0x029)
 
#define GATE_RESULT_TIMEOUT   (GATE_RESULT_ERROR + 0x02a)
 
#define GATE_RESULT_BADADDRESS   (GATE_RESULT_ERROR + 0x02b)
 
#define GATE_RESULT_BLOCKED   (GATE_RESULT_ERROR + 0x02c)
 
#define GATE_RESULT_DEVICEERROR   (GATE_RESULT_ERROR + 0x02d)
 
#define GATE_RESULT_EXECUTIONFAILED   (GATE_RESULT_ERROR + 0x031)
 
#define GATE_RESULT_EXECUTIONINTERRUPTED   (GATE_RESULT_ERROR + 0x032)
 
#define GATE_RESULT_CRITICALERROR   (GATE_RESULT_ERROR + 0x033)
 
#define GATE_RESULT_UNKNOWNEXCEPTION   (GATE_RESULT_ERROR + 0x034)
 
#define GATE_RESULT_PRECONDITIONFAILED   (GATE_RESULT_ERROR + 0x035)
 
#define GATE_RESULT_PREPARATIONFAILED   (GATE_RESULT_ERROR + 0x036)
 
#define GATE_RESULT_BADINSTRUCTION   (GATE_RESULT_ERROR + 0x037)
 
#define GATE_RESULT_INVALIDHEADER   (GATE_RESULT_ERROR + 0x081)
 
#define GATE_RESULT_INVALIDDATA   (GATE_RESULT_ERROR + 0x082)
 
#define GATE_RESULT_INVALIDCONTENT   (GATE_RESULT_ERROR + 0x083)
 
#define GATE_RESULT_INCORRECTSIZE   (GATE_RESULT_ERROR + 0x084)
 
#define GATE_RESULT_INCORRECTTYPE   (GATE_RESULT_ERROR + 0x085)
 
#define GATE_RESULT_ENDOFSTREAM   (GATE_RESULT_ERROR + 0x086)
 
#define GATE_RESULT_INVALIDINPUT   (GATE_RESULT_ERROR + 0x087)
 
#define GATE_RESULT_INVALIDOUTPUT   (GATE_RESULT_ERROR + 0x088)
 
#define GATE_RESULT_BUFFERTOOSMALL   (GATE_RESULT_ERROR + 0x089)
 
#define GATE_RESULT_NODATA   (GATE_RESULT_ERROR + 0x08a)
 
#define GATE_RESULT_APPLICATIONERROR   (GATE_RESULT_ERROR + 0x100)
 
#define GATE_RESULT_LOGICALERROR   (GATE_RESULT_ERROR + 0x101)
 
#define GATE_RESULT_USERERROR   (GATE_RESULT_ERROR + 0x102)
 
#define GATE_RESULT_UNKNOWNERROR   (GATE_RESULT_ERROR + 0xfff)
 
#define GATE_SUCCEEDED(resultcode)   ((gate_result_t)(resultcode) >= GATE_RESULT_OK)
 
#define GATE_FAILED(resultcode)   ((gate_result_t)(resultcode) < GATE_RESULT_OK)
 
#define GATE_RESULT_TO_EXITCODE(result)   ((result < 0) ? (result - GATE_RESULT_ERROR + 1) : 0)
 
#define GATE_BREAK_IF_FAILED(resultcode)   { if(GATE_FAILED(resultcode)) { break; } }
 
#define GATE_RETURN_IF_FAILED(resultcode)   { if(GATE_FAILED(resultcode)) { return resultcode; } }
 
#define GATE_CONTINUE_IF_FAILED(resultcode)   { if(GATE_FAILED(resultcode)) { continue; } }
 

Typedefs

typedef struct gate_error_info_class gate_error_info_t
 
typedef struct gate_exception_info_class gate_exception_info_t
 

Functions

GATE_CORE_API char const * gate_result_text (gate_result_t resultcode)
 Returns a text representation of the given result code.
 
GATE_CORE_API void gate_panic (gate_result_t resultcode, char const *message)
 Logs the given fatal error code and message and immediately stops the running process.
 

Detailed Description

Status, result and error code definitions.

Function Documentation

◆ gate_panic()

GATE_CORE_API void gate_panic ( gate_result_t resultcode,
char const * message )

Logs the given fatal error code and message and immediately stops the running process.

Parameters
[in]resultcodePointer to root node
[in]messageCompare function to evalute key
Returns
This function does not return and exits the running process

◆ gate_result_text()

GATE_CORE_API char const * gate_result_text ( gate_result_t resultcode)

Returns a text representation of the given result code.

Parameters
[in]resultcodeGATE_RESULT_* code to be translated
Returns
Pointer to static text representing the given result code