Zycore 1.5.1.0
Loading...
Searching...
No Matches
Macros | Typedefs
Status.h File Reference
#include <Zycore/Types.h>
Include dependency graph for Status.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ZYAN_MAKE_STATUS(error, module, code)    (ZyanStatus)((((error) & 0x01u) << 31u) | (((module) & 0x7FFu) << 20u) | ((code) & 0xFFFFFu))
 
#define ZYAN_SUCCESS(status)    (!((status) & 0x80000000u))
 
#define ZYAN_FAILED(status)    ((status) & 0x80000000u)
 
#define ZYAN_CHECK(status)
 
#define ZYAN_STATUS_MODULE(status)    (((status) >> 20) & 0x7FFu)
 
#define ZYAN_STATUS_CODE(status)    ((status) & 0xFFFFFu)
 
#define ZYAN_MODULE_ZYCORE   0x001u
 
#define ZYAN_MODULE_ARGPARSE   0x003u
 
#define ZYAN_MODULE_USER   0x3FFu
 
#define ZYAN_STATUS_SUCCESS    ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x00u)
 
#define ZYAN_STATUS_FAILED    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x01u)
 
#define ZYAN_STATUS_TRUE    ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x02u)
 
#define ZYAN_STATUS_FALSE    ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x03u)
 
#define ZYAN_STATUS_INVALID_ARGUMENT    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x04u)
 
#define ZYAN_STATUS_INVALID_OPERATION    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x05u)
 
#define ZYAN_STATUS_ACCESS_DENIED    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x06u)
 
#define ZYAN_STATUS_NOT_FOUND    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x07u)
 
#define ZYAN_STATUS_OUT_OF_RANGE    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x08u)
 
#define ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x09u)
 
#define ZYAN_STATUS_NOT_ENOUGH_MEMORY    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Au)
 
#define ZYAN_STATUS_BAD_SYSTEMCALL    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Bu)
 
#define ZYAN_STATUS_OUT_OF_RESOURCES    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Cu)
 
#define ZYAN_STATUS_MISSING_DEPENDENCY    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Du)
 
#define ZYAN_STATUS_ARG_NOT_UNDERSTOOD    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x00u)
 
#define ZYAN_STATUS_TOO_FEW_ARGS    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x01u)
 
#define ZYAN_STATUS_TOO_MANY_ARGS    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x02u)
 
#define ZYAN_STATUS_ARG_MISSES_VALUE    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x03u)
 
#define ZYAN_STATUS_REQUIRED_ARG_MISSING    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x04u)
 

Typedefs

typedef ZyanU32 ZyanStatus
 

Detailed Description

Status code definitions and check macros.

Macro Definition Documentation

◆ ZYAN_CHECK

#define ZYAN_CHECK (   status)
Value:
do \
{ \
const ZyanStatus status_047620348 = (status); \
if (!ZYAN_SUCCESS(status_047620348)) \
{ \
return status_047620348; \
} \
} while (0)
ZyanU32 ZyanStatus
Definition Status.h:48
#define ZYAN_SUCCESS(status)
Definition Status.h:81

Checks if a zyan operation was successful and returns with the status-code, if not.

Parameters
statusThe zyan status-code to check.

◆ ZYAN_FAILED

#define ZYAN_FAILED (   status)     ((status) & 0x80000000u)

Checks if a zyan operation failed.

Parameters
statusThe zyan status-code to check.
Returns
ZYAN_TRUE, if the operation failed or ZYAN_FALSE, if not.

◆ ZYAN_MAKE_STATUS

#define ZYAN_MAKE_STATUS (   error,
  module,
  code 
)     (ZyanStatus)((((error) & 0x01u) << 31u) | (((module) & 0x7FFu) << 20u) | ((code) & 0xFFFFFu))

Defines a zyan status code.

Parameters
error1, if the status code signals an error or 0, if not.
moduleThe module id.
codeThe actual code.
Returns
The zyan status code.

◆ ZYAN_MODULE_ARGPARSE

#define ZYAN_MODULE_ARGPARSE   0x003u

The zycore arg-parse submodule id.

◆ ZYAN_MODULE_USER

#define ZYAN_MODULE_USER   0x3FFu

The base module id for user-defined status codes.

◆ ZYAN_MODULE_ZYCORE

#define ZYAN_MODULE_ZYCORE   0x001u

The zycore generic module id.

◆ ZYAN_STATUS_ACCESS_DENIED

#define ZYAN_STATUS_ACCESS_DENIED    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x06u)

Insufficient privileges to perform the requested operation.

◆ ZYAN_STATUS_ARG_MISSES_VALUE

#define ZYAN_STATUS_ARG_MISSES_VALUE    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x03u)

An argument that expected a value misses its value.

◆ ZYAN_STATUS_ARG_NOT_UNDERSTOOD

#define ZYAN_STATUS_ARG_NOT_UNDERSTOOD    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x00u)

Argument was not expected.

◆ ZYAN_STATUS_BAD_SYSTEMCALL

#define ZYAN_STATUS_BAD_SYSTEMCALL    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Bu)

An unknown error occurred during a system function call.

◆ ZYAN_STATUS_CODE

#define ZYAN_STATUS_CODE (   status)     ((status) & 0xFFFFFu)

Returns the code of a zyan status-code.

Parameters
statusThe zyan status-code.
Returns
The code of the zyan status-code.

◆ ZYAN_STATUS_FAILED

#define ZYAN_STATUS_FAILED    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x01u)

The operation failed with an generic error.

◆ ZYAN_STATUS_FALSE

#define ZYAN_STATUS_FALSE    ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x03u)

The operation completed successfully and returned ZYAN_FALSE.

◆ ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE

#define ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x09u)

A buffer passed to a function was too small to complete the requested operation.

◆ ZYAN_STATUS_INVALID_ARGUMENT

#define ZYAN_STATUS_INVALID_ARGUMENT    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x04u)

An invalid argument was passed to a function.

◆ ZYAN_STATUS_INVALID_OPERATION

#define ZYAN_STATUS_INVALID_OPERATION    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x05u)

An attempt was made to perform an invalid operation.

◆ ZYAN_STATUS_MISSING_DEPENDENCY

#define ZYAN_STATUS_MISSING_DEPENDENCY    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Du)

A dependency library was not found or does have an unexpected version number or feature-set.

◆ ZYAN_STATUS_MODULE

#define ZYAN_STATUS_MODULE (   status)     (((status) >> 20) & 0x7FFu)

Returns the module id of a zyan status-code.

Parameters
statusThe zyan status-code.
Returns
The module id of the zyan status-code.

◆ ZYAN_STATUS_NOT_ENOUGH_MEMORY

#define ZYAN_STATUS_NOT_ENOUGH_MEMORY    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Au)

Insufficient memory to perform the operation.

◆ ZYAN_STATUS_NOT_FOUND

#define ZYAN_STATUS_NOT_FOUND    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x07u)

The requested entity was not found.

◆ ZYAN_STATUS_OUT_OF_RANGE

#define ZYAN_STATUS_OUT_OF_RANGE    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x08u)

An index passed to a function was out of bounds.

◆ ZYAN_STATUS_OUT_OF_RESOURCES

#define ZYAN_STATUS_OUT_OF_RESOURCES    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Cu)

The process ran out of resources while performing an operation.

◆ ZYAN_STATUS_REQUIRED_ARG_MISSING

#define ZYAN_STATUS_REQUIRED_ARG_MISSING    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x04u)

A required argument is missing.

◆ ZYAN_STATUS_SUCCESS

#define ZYAN_STATUS_SUCCESS    ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x00u)

The operation completed successfully.

◆ ZYAN_STATUS_TOO_FEW_ARGS

#define ZYAN_STATUS_TOO_FEW_ARGS    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x01u)

Too few arguments were provided.

◆ ZYAN_STATUS_TOO_MANY_ARGS

#define ZYAN_STATUS_TOO_MANY_ARGS    ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x02u)

Too many arguments were provided.

◆ ZYAN_STATUS_TRUE

#define ZYAN_STATUS_TRUE    ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x02u)

The operation completed successfully and returned ZYAN_TRUE.

◆ ZYAN_SUCCESS

#define ZYAN_SUCCESS (   status)     (!((status) & 0x80000000u))

Checks if a zyan operation was successful.

Parameters
statusThe zyan status-code to check.
Returns
ZYAN_TRUE, if the operation succeeded or ZYAN_FALSE, if not.

Typedef Documentation

◆ ZyanStatus

typedef ZyanU32 ZyanStatus

Defines the ZyanStatus data type.