#ifndef STDDEF_H
#define STDDEF_H

#include <commonlib/helpers.h>
#include <rules.h>

typedef long ptrdiff_t;
#ifndef __SIZE_TYPE__
#define __SIZE_TYPE__ unsigned long
#endif
typedef __SIZE_TYPE__ size_t;
/* There is a GCC macro for a size_t type, but not
 * for a ssize_t type. Below construct tricks GCC
 * into making __SIZE_TYPE__ signed.
 */
#define unsigned signed
typedef __SIZE_TYPE__ ssize_t;
#undef unsigned

typedef int wchar_t;
typedef unsigned int wint_t;

#define NULL ((void *)0)

/* The devicetree data structures are only mutable in ramstage. All other
   stages have a constant devicetree. */
#if !ENV_RAMSTAGE
#define DEVTREE_EARLY 1
#else
#define DEVTREE_EARLY 0
#endif

#if DEVTREE_EARLY
#define DEVTREE_CONST const
#else
#define DEVTREE_CONST
#endif

/* Work around non-writable data segment in execute-in-place romstage on x86. */
#if defined(__PRE_RAM__) && IS_ENABLED(CONFIG_ARCH_X86)
#define MAYBE_STATIC
#else
#define MAYBE_STATIC static
#endif

#ifndef __ROMCC__
/* Provide a pointer to address 0 that thwarts any "accessing this is
 * undefined behaviour and do whatever" trickery in compilers.
 * Use when you _really_ need to read32(zeroptr) (ie. read address 0).
 */
extern char zeroptr[];
#endif

#endif /* STDDEF_H */
