101 lines
2.4 KiB
C
101 lines
2.4 KiB
C
//----------------------------------------------------------------------------//
|
|
// GNU GPL OS/K //
|
|
// //
|
|
// Authors: spectral` //
|
|
// NeoX //
|
|
// //
|
|
// Desc: Kaleid general preprocessor constants //
|
|
//----------------------------------------------------------------------------//
|
|
|
|
#ifndef _KALDEFS_H
|
|
#define _KALDEFS_H
|
|
|
|
//------------------------------------------//
|
|
// Actual constants //
|
|
//------------------------------------------//
|
|
|
|
#ifndef TRUE
|
|
#define TRUE 1
|
|
#endif
|
|
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#endif
|
|
|
|
#ifndef NULL
|
|
#define NULL 0L
|
|
#endif
|
|
|
|
#ifndef INITOK
|
|
#define INITOK ((unsigned int)0xCAFEBABE)
|
|
#endif
|
|
|
|
//------------------------------------------//
|
|
// Keywords //
|
|
//------------------------------------------//
|
|
|
|
#ifndef __alignof_is_defined
|
|
#define __alignof_is_defined
|
|
#define alignof _Alignof
|
|
#endif
|
|
|
|
#ifndef __alignas_is_defined
|
|
#define __alignas_is_defined
|
|
#define alignas _Alignas
|
|
#endif
|
|
|
|
#ifndef __bool_true_false_are_defined
|
|
#define __bool_true_false_are_defined
|
|
# define bool _Bool
|
|
# define true 1
|
|
# define false 0
|
|
# ifndef TRUE
|
|
# define TRUE 1
|
|
# endif
|
|
# ifndef FALSE
|
|
# define FALSE 0
|
|
# endif
|
|
#endif
|
|
|
|
//------------------------------------------//
|
|
// Attributes and macros //
|
|
//------------------------------------------//
|
|
|
|
#ifndef _PACKED
|
|
#define _PACKED __attribute__((__packed__))
|
|
#endif
|
|
|
|
#ifndef noreturn
|
|
#define noreturn __attribute__((__noreturn__))
|
|
#endif
|
|
|
|
#ifndef likely
|
|
#define likely(x) (__builtin_expect((x), 1))
|
|
#endif
|
|
|
|
#ifndef unlikely
|
|
#define unlikely(x) (__builtin_expect((x), 0))
|
|
#endif
|
|
|
|
#ifndef _STR
|
|
#define _STR(x) #x
|
|
#endif
|
|
|
|
#ifndef _XSTR
|
|
#define _XSTR(x) _STR(x)
|
|
#endif
|
|
|
|
//------------------------------------------//
|
|
// API specific macros //
|
|
//------------------------------------------//
|
|
|
|
#ifndef KALAPI
|
|
# define KALAPI
|
|
#endif
|
|
|
|
//------------------------------------------//
|
|
// End of header //
|
|
//------------------------------------------//
|
|
|
|
#endif
|