#ifndef	QUARK_TYPES_H
#define	QUARK_TYPES_H

#include <stddef.h>

#ifndef VOID
#define VOID		void
#endif


#ifndef __BIT_TYPES_DEFINED__
#define	__BIT_TYPES_DEFINED__
typedef	signed char		   int8_t;
typedef	unsigned char		 u_int8_t;
typedef	short			  int16_t;
typedef	unsigned short		u_int16_t;
typedef	int			  int32_t;
typedef	unsigned int		u_int32_t;
typedef	long long		  int64_t;
typedef	unsigned long long	u_int64_t;
typedef int32_t			register_t;
#endif

#ifndef __QBIT_TYPES_DEFINED__
#define	__QBIT_TYPES_DEFINED__

typedef float			float32_t;
typedef double			float64_t;
typedef unsigned long		bool_t;

/*
 * Only a quick size fix
 */

struct __QVector
{
	u_int32_t	A;
	u_int32_t	B;
	u_int32_t	C;
	u_int32_t	D;
};

typedef struct __QVector		vector128_t;

#endif

/*

#ifndef NULL
#define NULL  0L
#endif

#ifndef _SIZE_T
#define _SIZE_T 1
typedef unsigned int size_t;
#endif

#ifndef offsetof
#define offsetof(type,memb)  (size_t) &(((type *) 0L)->memb)
#endif
*/


#ifndef TRUE
#define TRUE		1
#endif
#ifndef FALSE
#define FALSE		0
#endif

#ifndef __cplusplus
#ifndef max
#define   max(a,b)    ((a) > (b) ? (a) : (b))
#endif

#ifndef min
#define   min(a,b)    ((a) <= (b) ? (a) : (b))
#endif
#endif

#endif	/* PUBLIC_QUARK_TYPES_H */
