////////////////////////////////////////////////////////////////////////////////////////////
/// \file HwCom_BasicTypes.h
/// \par Copyright
/// Copyright 2010-2019 STAR COOPERATION GmbH. All rights reserved.
/// \brief
/// This file contains the definitions for basic variable types.							
////////////////////////////////////////////////////////////////////////////////////////////

#ifndef _HWCOM_BASICTYPES_H_
#define _HWCOM_BASICTYPES_H_

#ifdef SEG_WINDOWS_DRIVER

// Windows driver code cannot include stdint

/// \brief signed 8 bit type
typedef signed char             s08;

/// \brief signed 16 bit type
typedef signed short            s16;

/// \brief signed 32 bit type
typedef signed int              s32;

/// \brief signed 64 bit type
typedef signed long long        s64;

/// \brief unsigned 8 bit type
typedef unsigned char           u08;

/// \brief unsigned 16 bit type
typedef unsigned short          u16;

/// \brief unsigned 32 bit type
typedef unsigned int            u32;

/// \brief unsigned 64 bit type
typedef unsigned long long      u64;

/// \brief boolean type. 0: false. 1: true
typedef unsigned char           COM_Bool;


#else

#include <stdint.h>

/// \brief signed 8 bit type
typedef int8_t              s08;

/// \brief signed 16 bit type
typedef int16_t             s16;

/// \brief signed 32 bit type
typedef int32_t             s32;

/// \brief signed 64 bit type
typedef int64_t             s64;

/// \brief unsigned 8 bit type
typedef uint8_t             u08;

/// \brief unsigned 16 bit type
typedef uint16_t            u16;

/// \brief unsigned 32 bit type
typedef uint32_t            u32;

/// \brief unsigned 64 bit type
typedef uint64_t            u64;

/// \brief boolean type. 0: false. 1: true
typedef uint8_t             COM_Bool;

#endif


#endif /* _HWCOM_BASICTYPES_H_ */
