Loading...
Searching...
No Matches
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)
#define | ZYAN_SUCCESS(status)
#define | ZYAN_FAILED(status)
#define | ZYAN_CHECK(status)
#define | ZYAN_STATUS_MODULE(status)
#define | ZYAN_STATUS_CODE(status)
#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)
ZyanStatus
ZyanU32 ZyanStatus
Definition Status.h:48
ZYAN_SUCCESS
#define ZYAN_SUCCESS(status)
Definition Status.h:81

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

Parameters

  status | The zyan status-code to check.

## ZYAN_FAILED

#define ZYAN_FAILED | ( |  | status | ) |

Value:
((status) & 0x80000000u)

Checks if a zyan operation failed.

Parameters

  status | The 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 )

Value:
(ZyanStatus)((((error) & 0x01u) << 31u) | (((module) & 0x7FFu) << 20u) | ((code) & 0xFFFFFu))

Defines a zyan status code.

Parameters

  error | 1, if the status code signals an error or 0, if not.
  module | The module id.
  code | The 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 | ) |

Value:
((status) & 0xFFFFFu)

Returns the code of a zyan status-code.

Parameters

  status | The 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 | ) |

Value:
(((status) >> 20) & 0x7FFu)

Returns the module id of a zyan status-code.

Parameters

  status | The 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 | ) |

Value:
(!((status) & 0x80000000u))

Checks if a zyan operation was successful.

Parameters

  status | The 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.