# 2.1.1 Attributes

ZIX_ALLOCATED

  Allocated pointer.

ZIX_ALLOC_COUNT_SIZE(n, s)

  Function with calloc-like parameters.

  Parameters:

    - n – 1-based index of number of elements parameter

    - s – 1-based index of element size parameter

ZIX_ALLOC_SIZE(s)

  Function with malloc-like parameters.

  Parameters:

    - s – 1-based index of size parameter

ZIX_ALWAYS_INLINE_FUNC

  Function should always be inlined.

ZIX_CONST_FUNC

  Function only reads its parameters.

ZIX_LOG_FUNC(fmt, arg1)

  Function with printf-like parameters.

  Parameters:

    - fmt – 1-based index of format string parameter

    - arg1 – 1-based index of first format argument parameter

ZIX_MALLOC_FUNC

  Function allocates pointer-free memory.

ZIX_NODISCARD

  Function return value must be used.

ZIX_NONBLOCKING

  Function doesn’t allocate or block.

ZIX_NONNULL

  Non-null pointer.

ZIX_NULLABLE

  Nullable pointer.

ZIX_PURE_FUNC

  Function only reads memory.

ZIX_REALTIME

  Function is nonblocking and constant time.

ZIX_UNSPECIFIED

  Pointer with unspecified nullability.

ZIX_UNUSED(name)

  Unused parameter.