summaryrefslogtreecommitdiff
path: root/include/qhy/stdint.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/qhy/stdint.h')
-rw-r--r--include/qhy/stdint.h527
1 files changed, 527 insertions, 0 deletions
diff --git a/include/qhy/stdint.h b/include/qhy/stdint.h
new file mode 100644
index 0000000..8c6e626
--- /dev/null
+++ b/include/qhy/stdint.h
@@ -0,0 +1,527 @@
+#include "qhyccdstruct.h"
+
+#ifdef LINUX
+
+/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library 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.1 of the License, or (at your option) any later version.
+
+ The GNU C Library 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 the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/*
+ * ISO C99: 7.18 Integer types <stdint.h>
+ */
+
+#ifndef _STDINT_H
+#define _STDINT_H 1
+
+#ifdef __APPLE__
+
+#include "stdint.h.mac"
+
+#else
+
+#include <features.h>
+#include <bits/wchar.h>
+#include <bits/wordsize.h>
+
+/* Exact integral types. */
+
+/* Signed. */
+
+/* There is some amount of overlap with <sys/types.h> as known by inet code */
+#ifndef __int8_t_defined
+# define __int8_t_defined
+typedef signed char int8_t;
+typedef short int int16_t;
+typedef int int32_t;
+# if __WORDSIZE == 64
+typedef long int int64_t;
+# else
+__extension__
+typedef long long int int64_t;
+# endif
+#endif
+
+/* Unsigned. */
+typedef unsigned char uint8_t;
+typedef unsigned short int uint16_t;
+#ifndef __uint32_t_defined
+typedef unsigned int uint32_t;
+# define __uint32_t_defined
+#endif
+#if __WORDSIZE == 64
+typedef unsigned long int uint64_t;
+#else
+__extension__
+typedef unsigned long long int uint64_t;
+#endif
+
+
+/* Small types. */
+
+/* Signed. */
+typedef signed char int_least8_t;
+typedef short int int_least16_t;
+typedef int int_least32_t;
+#if __WORDSIZE == 64
+typedef long int int_least64_t;
+#else
+__extension__
+typedef long long int int_least64_t;
+#endif
+
+/* Unsigned. */
+typedef unsigned char uint_least8_t;
+typedef unsigned short int uint_least16_t;
+typedef unsigned int uint_least32_t;
+#if __WORDSIZE == 64
+typedef unsigned long int uint_least64_t;
+#else
+__extension__
+typedef unsigned long long int uint_least64_t;
+#endif
+
+
+/* Fast types. */
+
+/* Signed. */
+typedef signed char int_fast8_t;
+#if __WORDSIZE == 64
+typedef long int int_fast16_t;
+typedef long int int_fast32_t;
+typedef long int int_fast64_t;
+#else
+typedef int int_fast16_t;
+typedef int int_fast32_t;
+__extension__
+typedef long long int int_fast64_t;
+#endif
+
+/* Unsigned. */
+typedef unsigned char uint_fast8_t;
+#if __WORDSIZE == 64
+typedef unsigned long int uint_fast16_t;
+typedef unsigned long int uint_fast32_t;
+typedef unsigned long int uint_fast64_t;
+#else
+typedef unsigned int uint_fast16_t;
+typedef unsigned int uint_fast32_t;
+__extension__
+typedef unsigned long long int uint_fast64_t;
+#endif
+
+
+/* Types for `void *' pointers. */
+#if __WORDSIZE == 64
+# ifndef __intptr_t_defined
+typedef long int intptr_t;
+# define __intptr_t_defined
+# endif
+typedef unsigned long int uintptr_t;
+#else
+# ifndef __intptr_t_defined
+typedef int intptr_t;
+# define __intptr_t_defined
+# endif
+typedef unsigned int uintptr_t;
+#endif
+
+
+/* Largest integral types. */
+#if __WORDSIZE == 64
+typedef long int intmax_t;
+typedef unsigned long int uintmax_t;
+#else
+__extension__
+typedef long long int intmax_t;
+__extension__
+typedef unsigned long long int uintmax_t;
+#endif
+
+
+# if __WORDSIZE == 64
+# define __INT64_C(c) c ## L
+# define __UINT64_C(c) c ## UL
+# else
+# define __INT64_C(c) c ## LL
+# define __UINT64_C(c) c ## ULL
+# endif
+
+/* Limits of integral types. */
+
+/* Minimum of signed integral types. */
+# define INT8_MIN (-128)
+# define INT16_MIN (-32767-1)
+# define INT32_MIN (-2147483647-1)
+# define INT64_MIN (-__INT64_C(9223372036854775807)-1)
+/* Maximum of signed integral types. */
+# define INT8_MAX (127)
+# define INT16_MAX (32767)
+# define INT32_MAX (2147483647)
+# define INT64_MAX (__INT64_C(9223372036854775807))
+
+/* Maximum of unsigned integral types. */
+# define UINT8_MAX (255)
+# define UINT16_MAX (65535)
+# define UINT32_MAX (4294967295U)
+# define UINT64_MAX (__UINT64_C(18446744073709551615))
+
+
+/* Minimum of signed integral types having a minimum size. */
+# define INT_LEAST8_MIN (-128)
+# define INT_LEAST16_MIN (-32767-1)
+# define INT_LEAST32_MIN (-2147483647-1)
+# define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1)
+/* Maximum of signed integral types having a minimum size. */
+# define INT_LEAST8_MAX (127)
+# define INT_LEAST16_MAX (32767)
+# define INT_LEAST32_MAX (2147483647)
+# define INT_LEAST64_MAX (__INT64_C(9223372036854775807))
+
+/* Maximum of unsigned integral types having a minimum size. */
+# define UINT_LEAST8_MAX (255)
+# define UINT_LEAST16_MAX (65535)
+# define UINT_LEAST32_MAX (4294967295U)
+# define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615))
+
+
+/* Minimum of fast signed integral types having a minimum size. */
+# define INT_FAST8_MIN (-128)
+# if __WORDSIZE == 64
+# define INT_FAST16_MIN (-9223372036854775807L-1)
+# define INT_FAST32_MIN (-9223372036854775807L-1)
+# else
+# define INT_FAST16_MIN (-2147483647-1)
+# define INT_FAST32_MIN (-2147483647-1)
+# endif
+# define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)
+/* Maximum of fast signed integral types having a minimum size. */
+# define INT_FAST8_MAX (127)
+# if __WORDSIZE == 64
+# define INT_FAST16_MAX (9223372036854775807L)
+# define INT_FAST32_MAX (9223372036854775807L)
+# else
+# define INT_FAST16_MAX (2147483647)
+# define INT_FAST32_MAX (2147483647)
+# endif
+# define INT_FAST64_MAX (__INT64_C(9223372036854775807))
+
+/* Maximum of fast unsigned integral types having a minimum size. */
+# define UINT_FAST8_MAX (255)
+# if __WORDSIZE == 64
+# define UINT_FAST16_MAX (18446744073709551615UL)
+# define UINT_FAST32_MAX (18446744073709551615UL)
+# else
+# define UINT_FAST16_MAX (4294967295U)
+# define UINT_FAST32_MAX (4294967295U)
+# endif
+# define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))
+
+
+/* Values to test for integral types holding `void *' pointer. */
+# if __WORDSIZE == 64
+# define INTPTR_MIN (-9223372036854775807L-1)
+# define INTPTR_MAX (9223372036854775807L)
+# define UINTPTR_MAX (18446744073709551615UL)
+# else
+# define INTPTR_MIN (-2147483647-1)
+# define INTPTR_MAX (2147483647)
+# define UINTPTR_MAX (4294967295U)
+# endif
+
+
+/* Minimum for largest signed integral type. */
+# define INTMAX_MIN (-__INT64_C(9223372036854775807)-1)
+/* Maximum for largest signed integral type. */
+# define INTMAX_MAX (__INT64_C(9223372036854775807))
+
+/* Maximum for largest unsigned integral type. */
+# define UINTMAX_MAX (__UINT64_C(18446744073709551615))
+
+
+/* Limits of other integer types. */
+
+/* Limits of `ptrdiff_t' type. */
+# if __WORDSIZE == 64
+# define PTRDIFF_MIN (-9223372036854775807L-1)
+# define PTRDIFF_MAX (9223372036854775807L)
+# else
+# define PTRDIFF_MIN (-2147483647-1)
+# define PTRDIFF_MAX (2147483647)
+# endif
+
+/* Limits of `sig_atomic_t'. */
+# define SIG_ATOMIC_MIN (-2147483647-1)
+# define SIG_ATOMIC_MAX (2147483647)
+
+/* Limit of `size_t' type. */
+# if __WORDSIZE == 64
+# define SIZE_MAX (18446744073709551615UL)
+# else
+# define SIZE_MAX (4294967295U)
+# endif
+
+/* Limits of `wchar_t'. */
+# ifndef WCHAR_MIN
+/* These constants might also be defined in <wchar.h>. */
+# define WCHAR_MIN __WCHAR_MIN
+# define WCHAR_MAX __WCHAR_MAX
+# endif
+
+/* Limits of `wint_t'. */
+# define WINT_MIN (0u)
+# define WINT_MAX (4294967295u)
+
+/* Signed. */
+# define INT8_C(c) c
+# define INT16_C(c) c
+# define INT32_C(c) c
+# if __WORDSIZE == 64
+# define INT64_C(c) c ## L
+# else
+# define INT64_C(c) c ## LL
+# endif
+
+/* Unsigned. */
+# define UINT8_C(c) c
+# define UINT16_C(c) c
+# define UINT32_C(c) c ## U
+# if __WORDSIZE == 64
+# define UINT64_C(c) c ## UL
+# else
+# define UINT64_C(c) c ## ULL
+# endif
+
+/* Maximal type. */
+# if __WORDSIZE == 64
+# define INTMAX_C(c) c ## L
+# define UINTMAX_C(c) c ## UL
+# else
+# define INTMAX_C(c) c ## LL
+# define UINTMAX_C(c) c ## ULL
+# endif
+
+
+#endif /* linux */
+
+#endif /* stdint.h */
+
+#else
+
+#include <wchar.h>
+
+/* stdint.h standard header */
+#pragma once
+#ifndef _STDINT
+#define _STDINT
+#ifndef RC_INVOKED
+#include <yvals.h>
+
+/* NB: assumes
+ byte has 8 bits
+ long is 32 bits
+ pointer can convert to and from long long
+ long long is longest type
+ */
+
+_C_STD_BEGIN
+ /* TYPE DEFINITIONS */
+typedef signed char int8_t;
+typedef short int16_t;
+typedef int int32_t;
+
+typedef unsigned char uint8_t;
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+
+typedef signed char int_least8_t;
+typedef short int_least16_t;
+typedef int int_least32_t;
+
+typedef unsigned char uint_least8_t;
+typedef unsigned short uint_least16_t;
+typedef unsigned int uint_least32_t;
+
+typedef char int_fast8_t;
+typedef int int_fast16_t;
+typedef int int_fast32_t;
+
+typedef unsigned char uint_fast8_t;
+typedef unsigned int uint_fast16_t;
+typedef unsigned int uint_fast32_t;
+
+#ifndef _INTPTR_T_DEFINED
+ #define _INTPTR_T_DEFINED
+ #ifdef _WIN64
+typedef __int64 intptr_t;
+ #else /* _WIN64 */
+typedef _W64 int intptr_t;
+ #endif /* _WIN64 */
+#endif /* _INTPTR_T_DEFINED */
+
+#ifndef _UINTPTR_T_DEFINED
+ #define _UINTPTR_T_DEFINED
+ #ifdef _WIN64
+typedef unsigned __int64 uintptr_t;
+ #else /* _WIN64 */
+typedef _W64 unsigned int uintptr_t;
+ #endif /* _WIN64 */
+#endif /* _UINTPTR_T_DEFINED */
+
+typedef _Longlong int64_t;
+typedef _ULonglong uint64_t;
+
+typedef _Longlong int_least64_t;
+typedef _ULonglong uint_least64_t;
+
+typedef _Longlong int_fast64_t;
+typedef _ULonglong uint_fast64_t;
+
+typedef _Longlong intmax_t;
+typedef _ULonglong uintmax_t;
+
+ /* LIMIT MACROS */
+#define INT8_MIN (-0x7f - _C2)
+#define INT16_MIN (-0x7fff - _C2)
+#define INT32_MIN (-0x7fffffff - _C2)
+
+#define INT8_MAX 0x7f
+#define INT16_MAX 0x7fff
+#define INT32_MAX 0x7fffffff
+#define UINT8_MAX 0xff
+#define UINT16_MAX 0xffff
+#define UINT32_MAX 0xffffffff
+
+#define INT_LEAST8_MIN (-0x7f - _C2)
+#define INT_LEAST16_MIN (-0x7fff - _C2)
+#define INT_LEAST32_MIN (-0x7fffffff - _C2)
+
+#define INT_LEAST8_MAX 0x7f
+#define INT_LEAST16_MAX 0x7fff
+#define INT_LEAST32_MAX 0x7fffffff
+#define UINT_LEAST8_MAX 0xff
+#define UINT_LEAST16_MAX 0xffff
+#define UINT_LEAST32_MAX 0xffffffff
+
+#define INT_FAST8_MIN (-0x7f - _C2)
+#define INT_FAST16_MIN (-0x7fff - _C2)
+#define INT_FAST32_MIN (-0x7fffffff - _C2)
+
+#define INT_FAST8_MAX 0x7f
+#define INT_FAST16_MAX 0x7fff
+#define INT_FAST32_MAX 0x7fffffff
+#define UINT_FAST8_MAX 0xff
+#define UINT_FAST16_MAX 0xffff
+#define UINT_FAST32_MAX 0xffffffff
+
+ #if _INTPTR == 0 || _INTPTR == 1
+#define INTPTR_MAX 0x7fffffff
+#define INTPTR_MIN (-INTPTR_MAX - _C2)
+#define UINTPTR_MAX 0xffffffff
+
+ #else /* _INTPTR == 2 */
+#define INTPTR_MIN (-_LLONG_MAX - _C2)
+#define INTPTR_MAX _LLONG_MAX
+#define UINTPTR_MAX _ULLONG_MAX
+#endif /* _INTPTR */
+
+#define INT8_C(x) (x)
+#define INT16_C(x) (x)
+#define INT32_C(x) ((x) + (INT32_MAX - INT32_MAX))
+
+#define UINT8_C(x) (x)
+#define UINT16_C(x) (x)
+#define UINT32_C(x) ((x) + (UINT32_MAX - UINT32_MAX))
+
+#ifdef _WIN64
+ #define PTRDIFF_MIN INT64_MIN
+ #define PTRDIFF_MAX INT64_MAX
+#else /* _WIN64 */
+ #define PTRDIFF_MIN INT32_MIN
+ #define PTRDIFF_MAX INT32_MAX
+#endif /* _WIN64 */
+
+#define SIG_ATOMIC_MIN INT32_MIN
+#define SIG_ATOMIC_MAX INT32_MAX
+
+#ifndef SIZE_MAX
+ #ifdef _WIN64
+ #define SIZE_MAX UINT64_MAX
+ #else /* _WIN64 */
+ #define SIZE_MAX UINT32_MAX
+ #endif /* _WIN64 */
+#endif /* SIZE_MAX */
+
+#ifndef WCHAR_MIN
+#define WCHAR_MIN 0x0000
+#endif
+#define WCHAR_MAX 0xffff
+
+#define WINT_MIN 0x0000
+#define WINT_MAX 0xffff
+
+ #define INT64_MIN (-0x7fffffffffffffff - _C2)
+ #define INT64_MAX 0x7fffffffffffffff
+ #define UINT64_MAX 0xffffffffffffffffU
+
+ #define INT_LEAST64_MIN (-0x7fffffffffffffff - _C2)
+ #define INT_LEAST64_MAX 0x7fffffffffffffff
+ #define UINT_LEAST64_MAX 0xffffffffffffffffU
+
+ #define INT_FAST64_MIN (-0x7fffffffffffffff - _C2)
+ #define INT_FAST64_MAX 0x7fffffffffffffff
+ #define UINT_FAST64_MAX 0xffffffffffffffffU
+
+ #define INTMAX_MIN (-0x7fffffffffffffff - _C2)
+ #define INTMAX_MAX 0x7fffffffffffffff
+ #define UINTMAX_MAX 0xffffffffffffffffU
+
+#define INT64_C(x) ((x) + (INT64_MAX - INT64_MAX))
+#define UINT64_C(x) ((x) + (UINT64_MAX - UINT64_MAX))
+#define INTMAX_C(x) INT64_C(x)
+#define UINTMAX_C(x) UINT64_C(x)
+_C_STD_END
+#endif /* RC_INVOKED */
+#endif /* _STDINT */
+
+ #if defined(_STD_USING)
+using _CSTD int8_t; using _CSTD int16_t;
+using _CSTD int32_t; using _CSTD int64_t;
+
+using _CSTD uint8_t; using _CSTD uint16_t;
+using _CSTD uint32_t; using _CSTD uint64_t;
+
+using _CSTD int_least8_t; using _CSTD int_least16_t;
+using _CSTD int_least32_t; using _CSTD int_least64_t;
+using _CSTD uint_least8_t; using _CSTD uint_least16_t;
+using _CSTD uint_least32_t; using _CSTD uint_least64_t;
+
+using _CSTD intmax_t; using _CSTD uintmax_t;
+
+using _CSTD uintptr_t;
+using _CSTD intptr_t;
+
+using _CSTD int_fast8_t; using _CSTD int_fast16_t;
+using _CSTD int_fast32_t; using _CSTD int_fast64_t;
+using _CSTD uint_fast8_t; using _CSTD uint_fast16_t;
+using _CSTD uint_fast32_t; using _CSTD uint_fast64_t;
+ #endif /* defined(_STD_USING) */
+
+/*
+ * Copyright (c) 1992-2009 by P.J. Plauger. ALL RIGHTS RESERVED.
+ * Consult your license regarding permissions and restrictions.
+V5.20:0009 */
+
+#endif