#ifndef VLIBC_STDDEF_H #define VLIBC_STDDEF_H /* * vlibc — . * * Self-contained definitions of the common C types and macros (C23). Every * definition here is derived from compiler builtins, so this header never * borrows from a system header. * * The compatibility profile is exposed by include/vlibc/features.h; it is * included here so consumers always see the configured VLIBC_LEVEL. */ #include /* Integer type of the result of the sizeof operator. */ typedef __SIZE_TYPE__ size_t; /* Signed integer type of the difference of two pointers. */ typedef __PTRDIFF_TYPE__ ptrdiff_t; /* Wide character type. */ typedef __WCHAR_TYPE__ wchar_t; /* Type of the null pointer constant nullptr (C23). */ typedef typeof(nullptr) nullptr_t; /* Null pointer constant. */ #define NULL ((void *)0) /* Offset in bytes of a member from the start of its enclosing object. */ #define offsetof(type, m) __builtin_offsetof(type, m) /* * An object type whose alignment is as great as that of any supported * fundamental type; suitable as the storage type for aligned allocation. */ typedef struct { long long vll; long double vld; } max_align_t; #endif /* VLIBC_STDDEF_H */