---
name: "Status.h"
section: "3"
platform: "linux"
package: "libzycore-doc"
version: "1.5.2-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Status.h"
---

# Status.h(3)

## NAME

include/Zycore/Status.h

## SYNOPSIS

`#include <Zycore/Types.h>`\

### 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

### #define ZYAN\_CHECK(status)

**Value:**.PP

```
    do \
    { \
        const ZyanStatus status_047620348 = (status); \
        if (!ZYAN_SUCCESS(status_047620348)) \
        { \
            return status_047620348; \
        } \
    } while (0)
```

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

**Parameters**

*status* The zyan status-code to check.

### #define ZYAN\_FAILED(status) ((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.

### #define ZYAN\_MAKE\_STATUS(error, module, code) (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.

### #define ZYAN\_MODULE\_ARGPARSE 0x003u

The zycore arg-parse submodule id.

### #define ZYAN\_MODULE\_USER 0x3FFu

The base module id for user-defined status codes.

### #define ZYAN\_MODULE\_ZYCORE 0x001u

The zycore generic module id.

### #define ZYAN\_STATUS\_ACCESS\_DENIED ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x06u)

Insufficient privileges to perform the requested operation.

### #define ZYAN\_STATUS\_ARG\_MISSES\_VALUE ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ARGPARSE, 0x03u)

An argument that expected a value misses its value.

### #define ZYAN\_STATUS\_ARG\_NOT\_UNDERSTOOD ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ARGPARSE, 0x00u)

Argument was not expected.

### #define ZYAN\_STATUS\_BAD\_SYSTEMCALL ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x0Bu)

An unknown error occurred during a system function call.

### #define ZYAN\_STATUS\_CODE(status) ((status) & 0xFFFFFu)

Returns the code of a zyan status-code.

**Parameters**

*status* The zyan status-code.

**Returns**

The code of the zyan status-code.

### #define ZYAN\_STATUS\_FAILED ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x01u)

The operation failed with an generic error.

### #define ZYAN\_STATUS\_FALSE ZYAN\_MAKE\_STATUS(0u, ZYAN\_MODULE\_ZYCORE, 0x03u)

The operation completed successfully and returned `ZYAN_FALSE`.

### #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.

### #define ZYAN\_STATUS\_INVALID\_ARGUMENT ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x04u)

An invalid argument was passed to a function.

### #define ZYAN\_STATUS\_INVALID\_OPERATION ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x05u)

An attempt was made to perform an invalid operation.

### #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.

### #define ZYAN\_STATUS\_MODULE(status) (((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.

### #define ZYAN\_STATUS\_NOT\_ENOUGH\_MEMORY ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x0Au)

Insufficient memory to perform the operation.

### #define ZYAN\_STATUS\_NOT\_FOUND ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x07u)

The requested entity was not found.

### #define ZYAN\_STATUS\_OUT\_OF\_RANGE ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x08u)

An index passed to a function was out of bounds.

### #define ZYAN\_STATUS\_OUT\_OF\_RESOURCES ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ZYCORE, 0x0Cu)

The process ran out of resources while performing an operation.

### #define ZYAN\_STATUS\_REQUIRED\_ARG\_MISSING ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ARGPARSE, 0x04u)

A required argument is missing.

### #define ZYAN\_STATUS\_SUCCESS ZYAN\_MAKE\_STATUS(0u, ZYAN\_MODULE\_ZYCORE, 0x00u)

The operation completed successfully.

### #define ZYAN\_STATUS\_TOO\_FEW\_ARGS ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ARGPARSE, 0x01u)

Too few arguments were provided.

### #define ZYAN\_STATUS\_TOO\_MANY\_ARGS ZYAN\_MAKE\_STATUS(1u, ZYAN\_MODULE\_ARGPARSE, 0x02u)

Too many arguments were provided.

### #define ZYAN\_STATUS\_TRUE ZYAN\_MAKE\_STATUS(0u, ZYAN\_MODULE\_ZYCORE, 0x02u)

The operation completed successfully and returned `ZYAN_TRUE`.

### #define ZYAN\_SUCCESS(status) (!((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

### typedef ZyanU32 ZyanStatus

Defines the `ZyanStatus` data type.

## Author

Generated automatically by Doxygen for Zycore from the source code.
