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

# Types.h(3)

## NAME

include/Zycore/Types.h

## SYNOPSIS

`#include <Zycore/Defines.h>`\
 `#include <stdint.h>`\
 `#include <stddef.h>`\

### Macros

\#define **ZYAN\_INT8\_MIN**   INT8\_MIN\
 \#define **ZYAN\_INT16\_MIN**   INT16\_MIN\
 \#define **ZYAN\_INT32\_MIN**   INT32\_MIN\
 \#define **ZYAN\_INT64\_MIN**   INT64\_MIN\
 \#define **ZYAN\_INT8\_MAX**   INT8\_MAX\
 \#define **ZYAN\_INT16\_MAX**   INT16\_MAX\
 \#define **ZYAN\_INT32\_MAX**   INT32\_MAX\
 \#define **ZYAN\_INT64\_MAX**   INT64\_MAX\
 \#define **ZYAN\_UINT8\_MAX**   UINT8\_MAX\
 \#define **ZYAN\_UINT16\_MAX**   UINT16\_MAX\
 \#define **ZYAN\_UINT32\_MAX**   UINT32\_MAX\
 \#define **ZYAN\_UINT64\_MAX**   UINT64\_MAX\
 \#define **ZYAN\_NULL**   ((void\*)0)\
 \#define **ZYAN\_FALSE**   0u\
 \#define **ZYAN\_TRUE**   1u\
 \#define **ZYAN\_TERNARY\_FALSE**   (-1)\
 \#define **ZYAN\_TERNARY\_UNKNOWN**   0x00\
 \#define **ZYAN\_TERNARY\_TRUE**   0x01\

### Typedefs

typedef uint8\_t **ZyanU8**\
 typedef uint16\_t **ZyanU16**\
 typedef uint32\_t **ZyanU32**\
 typedef uint64\_t **ZyanU64**\
 typedef int8\_t **ZyanI8**\
 typedef int16\_t **ZyanI16**\
 typedef int32\_t **ZyanI32**\
 typedef int64\_t **ZyanI64**\
 typedef size\_t **ZyanUSize**\
 typedef ptrdiff\_t **ZyanISize**\
 typedef uintptr\_t **ZyanUPointer**\
 typedef intptr\_t **ZyanIPointer**\
 typedef void \* **ZyanVoidPointer**\
 typedef const void \* **ZyanConstVoidPointer**\
 typedef ZyanU8 **ZyanBool**\
 typedef ZyanI8 **ZyanTernary**\
 typedef char \* **ZyanCharPointer**\
 typedef const char \* **ZyanConstCharPointer**\

### Functions

**ZYAN\_STATIC\_ASSERT** (sizeof(ZyanU8)==1)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanU16)==2)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanU32)==4)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanU64)==8)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanI8)==1)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanI16)==2)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanI32)==4)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanI64)==8)\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanUSize)==sizeof(void \*))\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanISize)==sizeof(void \*))\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanUPointer)==sizeof(void \*))\
 **ZYAN\_STATIC\_ASSERT** (sizeof(ZyanIPointer)==sizeof(void \*))\
 **ZYAN\_STATIC\_ASSERT** ((ZyanI8) -1 \> \> 1\<(ZyanI8)((ZyanU8) -1 \> \> 1))\

## Detailed Description

Includes and defines some default data types.

## Typedef Documentation

### typedef ZyanU8 ZyanBool

Defines the `ZyanBool` data-type.

Represents a default boolean data-type where `0` is interpreted as `false` and all other values as `true`.

### typedef char\* ZyanCharPointer

Defines the `ZyanCharPointer` data-type.

This type is most often used to represent null-terminated strings aka. C-style strings.

### typedef const char\* ZyanConstCharPointer

Defines the `ZyanConstCharPointer` data-type.

This type is most often used to represent null-terminated strings aka. C-style strings.

### typedef const void\* ZyanConstVoidPointer

Defines the `ZyanConstVoidPointer` data-type.

### typedef ZyanI8 ZyanTernary

Defines the `ZyanTernary` data-type.

The `ZyanTernary` is a balanced ternary type that uses three truth values indicating `true`, `false` and an indeterminate third value.

### typedef void\* ZyanVoidPointer

Defines the `ZyanVoidPointer` data-type.

## Author

Generated automatically by Doxygen for Zycore from the source code.
