/* * Copyright (C) 2015 by Multi-Tech Systems * * This file is part of libmts. * * libmts is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * libmts is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with libmts. If not, see . * */ /*! \file MTS_Stdint.h \brief A set of defined types \date 28MAR12 \author Sean Godinez A set of defined types */ #ifndef MTS_STDINT_H #define MTS_STDINT_H #ifdef WIN32 typedef __int8 int8_t; typedef __int16 int16_t; typedef __int32 int32_t; typedef __int64 int64_t; typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; #ifndef INT8_MIN #define INT8_MIN (-127i8 - 1) #endif #ifndef INT16_MIN #define INT16_MIN (-32767i16 - 1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647i32 - 1) #endif #ifndef INT64_MIN #define INT64_MIN (-9223372036854775807i64 - 1) #endif #ifndef INT8_MAX #define INT8_MAX (127i8) #endif #ifndef INT16_MAX #define INT16_MAX (32767i16) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647i32) #endif #ifndef INT64_MAX #define INT64_MAX (9223372036854775807i64) #endif #ifndef UINT8_MAX #define UINT8_MAX (0xffui8) #endif #ifndef UINT16_MAX #define UINT16_MAX (0xffffui16) #endif #ifndef UINT32_MAX #define UINT32_MAX (0xffffffffui32) #endif #ifndef UINT64_MAX #define UINT64_MAX (0xffffffffffffffffui64) #endif #elif __cplusplus #ifdef STDINT #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS #endif #include #else #include #endif #else #include #endif #endif