* include/inttypes.h: New file.

* include/stdint.h: New file.
	* include/cygwin/in.h: Include stdint.h instead of sys/types.h.
	* include/cygwin/types.h: Include stdint.h.  Remove typedefs for
	intN_t and uintN_t since these are defined in stdint.h now.
This commit is contained in:
Corinna Vinschen 2003-04-22 14:55:01 +00:00
parent 650dc784e5
commit e8a57b4fc7
5 changed files with 438 additions and 45 deletions

View File

@ -1,3 +1,11 @@
2003-04-22 Corinna Vinschen <corinna@vinschen.de>
* include/inttypes.h: New file.
* include/stdint.h: New file.
* include/cygwin/in.h: Include stdint.h instead of sys/types.h.
* include/cygwin/types.h: Include stdint.h. Remove typedefs for
intN_t and uintN_t since these are defined in stdint.h now.
2003-04-21 Christopher Faylor <cgf@redhat.com>
* include/cygwin/version.h: Bump DLL major number to 1005. Change DLL

View File

@ -18,7 +18,7 @@
#ifndef _CYGWIN_IN_H
#define _CYGWIN_IN_H
#include <sys/types.h>
#include <stdint.h>
/* Standard well-defined IP protocols. */
enum

View File

@ -18,6 +18,7 @@ extern "C"
#define _CYGWIN_TYPES_H
#include <sys/sysmacros.h>
#include <stdint.h>
#ifndef __timespec_t_defined
#define __timespec_t_defined
@ -109,40 +110,6 @@ typedef unsigned long vm_offset_t;
typedef unsigned long vm_size_t;
#endif /*__vm_size_t_defined*/
#ifndef __int8_t_defined
#define __int8_t_defined
typedef char int8_t;
#endif
#ifndef __int16_t_defined
#define __int16_t_defined
typedef __int16_t int16_t;
#endif
#ifndef __int32_t_defined
#define __int32_t_defined
typedef __int32_t int32_t;
#endif
#ifndef __int64_t_defined
#define __int64_t_defined
typedef __int64_t int64_t;
#endif
#ifndef __uint8_t_defined
#define __uint8_t_defined
typedef unsigned char uint8_t;
#endif
#ifndef __uint16_t_defined
#define __uint16_t_defined
typedef __uint16_t uint16_t;
#endif
#ifndef __uint32_t_defined
#define __uint32_t_defined
typedef __uint32_t uint32_t;
#endif
#ifndef __uint64_t_defined
#define __uint64_t_defined
typedef __uint64_t uint64_t;
#endif
#ifndef __u_int8_t_defined
#define __u_int8_t_defined
typedef unsigned char u_int8_t;
@ -160,16 +127,6 @@ typedef __uint32_t u_int32_t;
typedef __uint64_t u_int64_t;
#endif
#ifndef __uintptr_t_defined
#define __uintptr_t_defined
typedef unsigned long uintptr_t;
#endif
#ifndef __intptr_t_defined
#define __intptr_t_defined
typedef long intptr_t;
#endif
#ifndef __register_t_defined
#define __register_t_defined
typedef __int32_t register_t;

View File

@ -0,0 +1,246 @@
/* inttypes.h - fixed size integer types
Copyright 2003 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#ifndef _INTTYPES_H
#define _INTTYPES_H
#include <stdint.h>
/* fprintf() macros for signed integers */
#define PRId8 "d"
#define PRId16 "d"
#define PRId32 "ld"
#define PRId64 "lld"
#define PRIdLEAST8 "d"
#define PRIdLEAST16 "d"
#define PRIdLEAST32 "ld"
#define PRIdLEAST64 "lld"
#define PRIdFAST8 "d"
#define PRIdFAST16 "ld"
#define PRIdFAST32 "ld"
#define PRIdFAST64 "lld"
#define PRIdMAX "lld"
#define PRIdPTR "ld"
#define PRIi8 "i"
#define PRIi16 "i"
#define PRIi32 "li"
#define PRIi64 "lli"
#define PRIiLEAST8 "i"
#define PRIiLEAST16 "i"
#define PRIiLEAST32 "li"
#define PRIiLEAST64 "lli"
#define PRIiFAST8 "i"
#define PRIiFAST16 "li"
#define PRIiFAST32 "li"
#define PRIiFAST64 "lli"
#define PRIiMAX "lli"
#define PRIiPTR "li"
/* fprintf() macros for unsigned integers */
#define PRIo8 "o"
#define PRIo16 "o"
#define PRIo32 "lo"
#define PRIo64 "llo"
#define PRIoLEAST8 "o"
#define PRIoLEAST16 "o"
#define PRIoLEAST32 "lo"
#define PRIoLEAST64 "llo"
#define PRIoFAST8 "o"
#define PRIoFAST16 "lo"
#define PRIoFAST32 "lo"
#define PRIoFAST64 "llo"
#define PRIoMAX "llo"
#define PRIoPTR "lo"
#define PRIu8 "u"
#define PRIu16 "u"
#define PRIu32 "lu"
#define PRIu64 "llu"
#define PRIuLEAST8 "u"
#define PRIuLEAST16 "u"
#define PRIuLEAST32 "lu"
#define PRIuLEAST64 "llu"
#define PRIuFAST8 "u"
#define PRIuFAST16 "lu"
#define PRIuFAST32 "lu"
#define PRIuFAST64 "llu"
#define PRIuMAX "llu"
#define PRIuPTR "lu"
#define PRIx8 "x"
#define PRIx16 "x"
#define PRIx32 "lx"
#define PRIx64 "llx"
#define PRIxLEAST8 "x"
#define PRIxLEAST16 "x"
#define PRIxLEAST32 "lx"
#define PRIxLEAST64 "llx"
#define PRIxFAST8 "x"
#define PRIxFAST16 "lx"
#define PRIxFAST32 "lx"
#define PRIxFAST64 "llx"
#define PRIxMAX "llx"
#define PRIxPTR "lx"
#define PRIX8 "X"
#define PRIX16 "X"
#define PRIX32 "lX"
#define PRIX64 "llX"
#define PRIXLEAST8 "X"
#define PRIXLEAST16 "X"
#define PRIXLEAST32 "lX"
#define PRIXLEAST64 "llX"
#define PRIXFAST8 "X"
#define PRIXFAST16 "lX"
#define PRIXFAST32 "lX"
#define PRIXFAST64 "llX"
#define PRIXMAX "llX"
#define PRIXPTR "lX"
/* fscanf() macros for signed integers */
#define SCNd8 "hhd"
#define SCNd16 "hd"
#define SCNd32 "ld"
#define SCNd64 "lld"
#define SCNdLEAST8 "hhd"
#define SCNdLEAST16 "hd"
#define SCNdLEAST32 "ld"
#define SCNdLEAST64 "lld"
#define SCNdFAST8 "hhd"
#define SCNdFAST16 "ld"
#define SCNdFAST32 "ld"
#define SCNdFAST64 "lld"
#define SCNdMAX "lld"
#define SCNdPTR "ld"
#define SCNi8 "hhi"
#define SCNi16 "hi"
#define SCNi32 "li"
#define SCNi64 "lli"
#define SCNiLEAST8 "hhi"
#define SCNiLEAST16 "hi"
#define SCNiLEAST32 "li"
#define SCNiLEAST64 "lli"
#define SCNiFAST8 "hhi"
#define SCNiFAST16 "li"
#define SCNiFAST32 "li"
#define SCNiFAST64 "lli"
#define SCNiMAX "lli"
#define SCNiPTR "li"
/* fscanf() macros for unsigned integers */
#define SCNo8 "hho"
#define SCNo16 "ho"
#define SCNo32 "lo"
#define SCNo64 "llo"
#define SCNoLEAST8 "hho"
#define SCNoLEAST16 "ho"
#define SCNoLEAST32 "lo"
#define SCNoLEAST64 "llo"
#define SCNoFAST8 "hho"
#define SCNoFAST16 "lo"
#define SCNoFAST32 "lo"
#define SCNoFAST64 "llo"
#define SCNoMAX "llo"
#define SCNoPTR "lo"
#define SCNu8 "hhu"
#define SCNu16 "hu"
#define SCNu32 "lu"
#define SCNu64 "llu"
#define SCNuLEAST8 "hhu"
#define SCNuLEAST16 "hu"
#define SCNuLEAST32 "lu"
#define SCNuLEAST64 "llu"
#define SCNuFAST8 "hhu"
#define SCNuFAST16 "lu"
#define SCNuFAST32 "lu"
#define SCNuFAST64 "llu"
#define SCNuMAX "llu"
#define SCNuPTR "lu"
#define SCNx8 "hhx"
#define SCNx16 "hx"
#define SCNx32 "lx"
#define SCNx64 "llx"
#define SCNxLEAST8 "hhx"
#define SCNxLEAST16 "hx"
#define SCNxLEAST32 "lx"
#define SCNxLEAST64 "llx"
#define SCNxFAST8 "hhx"
#define SCNxFAST16 "lx"
#define SCNxFAST32 "lx"
#define SCNxFAST64 "llx"
#define SCNxMAX "llx"
#define SCNxPTR "lx"
#ifdef __cplusplus
extern "C" {
#endif
#include <_ansi.h>
typedef struct {
intmax_t quot;
intmax_t rem;
} imaxdiv_t;
#if 0 /* Not yet defined */
intmax_t _EXFUN(imaxabs, (intmax_t));
imaxdiv_t _EXFUN(imaxdiv, (intmax_t, intmax_t));
intmax_t _EXFUN(strtoimax, (const char *, char **, int));
uintmax_t _EXFUN(strtoumax, (const char *, char **, int));
intmax_t _EXFUN(wcstoimax, (const wchar_t *, wchar_t **, int));
uintmax_t _EXFUN(wcstoumax, (const wchar_t *, wchar_t **, int));
#endif
#ifdef __cplusplus
}
#endif
#endif /* _INTTYPES_H */

View File

@ -0,0 +1,182 @@
/* stdint.h - integer types
Copyright 2003 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#ifndef _STDINT_H
#define _STDINT_H
/* Exact-width integer types */
#ifndef __int8_t_defined
#define __int8_t_defined
typedef signed char int8_t;
typedef short int16_t;
typedef long int32_t;
typedef long long int64_t;
#endif
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
#ifndef __uint32_t_defined
#define __uint32_t_defined
typedef unsigned long uint32_t;
#endif
typedef unsigned long long uint64_t;
/* Minimum-width integer types */
typedef signed char int_least8_t;
typedef short int_least16_t;
typedef long int_least32_t;
typedef long long int_least64_t;
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned long uint_least32_t;
typedef unsigned long long uint_least64_t;
/* Fastest minimum-width integer types */
typedef signed char int_fast8_t;
typedef long int_fast16_t;
typedef long int_fast32_t;
typedef long long int_fast64_t;
typedef unsigned char uint_fast8_t;
typedef unsigned long uint_fast16_t;
typedef unsigned long uint_fast32_t;
typedef unsigned long long uint_fast64_t;
/* Integer types capable of holding object pointers */
#ifndef __intptr_t_defined
#define __intptr_t_defined
typedef long intptr_t;
#endif
typedef unsigned long uintptr_t;
/* Greatest-width integer types */
typedef long long intmax_t;
typedef unsigned long long uintmax_t;
/* Limits of exact-width integer types */
#define INT8_MIN (-128)
#define INT16_MIN (-32768)
#define INT32_MIN (-2147483648)
#define INT64_MIN (-9223372036854775808)
#define INT8_MAX (127)
#define INT16_MAX (32767)
#define INT32_MAX (2147483647)
#define INT64_MAX (9223372036854775807)
#define UINT8_MAX (255)
#define UINT16_MAX (65535)
#define UINT32_MAX (4294967295UL)
#define UINT64_MAX (18446744073709551615ULL)
/* Limits of minimum-width integer types */
#define INT_LEAST8_MIN (-128)
#define INT_LEAST16_MIN (-32768)
#define INT_LEAST32_MIN (-2147483648)
#define INT_LEAST64_MIN (-9223372036854775808)
#define INT_LEAST8_MAX (127)
#define INT_LEAST16_MAX (32767)
#define INT_LEAST32_MAX (2147483647)
#define INT_LEAST64_MAX (9223372036854775807)
#define UINT_LEAST8_MAX (255)
#define UINT_LEAST16_MAX (65535)
#define UINT_LEAST32_MAX (4294967295UL)
#define UINT_LEAST64_MAX (18446744073709551615ULL)
/* Limits of fastest minimum-width integer types */
#define INT_FAST8_MIN (-128)
#define INT_FAST16_MIN (-2147483648)
#define INT_FAST32_MIN (-2147483648)
#define INT_FAST64_MIN (-9223372036854775808)
#define INT_FAST8_MAX (127)
#define INT_FAST16_MAX (2147483647)
#define INT_FAST32_MAX (2147483647)
#define INT_FAST64_MAX (9223372036854775807)
#define UINT_FAST8_MAX (255)
#define UINT_FAST16_MAX (4294967295UL)
#define UINT_FAST32_MAX (4294967295UL)
#define UINT_FAST64_MAX (18446744073709551615ULL)
/* Limits of integer types capable of holding object pointers */
#define INTPTR_MIN (-2147483648)
#define INTPTR_MAX (2147483647)
#define UINTPTR_MAX (4294967295UL)
/* Limits of greatest-width integer types */
#define INTMAX_MIN (-9223372036854775808)
#define INTMAX_MAX (9223372036854775807)
#define UINTMAX_MAX (18446744073709551615ULL)
/* Limits of other integer types */
#ifndef PTRDIFF_MIN
#define PTRDIFF_MIN (-2147483648)
#define PTRDIFF_MAX (2147483647)
#endif
#ifndef SIG_ATOMIC_MIN
#define SIG_ATOMIC_MIN (-2147483648)
#endif
#ifndef SIG_ATOMIC_MAX
#define SIG_ATOMIC_MAX (2147483647)
#endif
#ifndef SIZE_MAX
#define SIZE_MAX (4294967295UL)
#endif
#ifndef WCHAR_MIN
#ifdef __WCHAR_MIN__
#define WCHAR_MIN __WCHAR_MIN__
#define WCHAR_MAX __WCHAR_MAX__
#else
#define WCHAR_MIN (0)
#define WCHAR_MAX (65535)
#endif
#endif
#ifndef WINT_MIN
#define WINT_MIN (-2147483648)
#define WINT_MAX (2147483647)
#endif
/* Macros for minimum-width integer constant expressions */
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x ## L
#define INT64_C(x) x ## LL
#define UINT8_C(x) x ## U
#define UINT16_C(x) x ## U
#define UINT32_C(x) x ## UL
#define UINT64_C(x) x ## ULL
/* Macros for greatest-width integer constant expressions */
#define INTMAX_C(x) x ## L
#define UINTMAX_C(x) x ## UL
#endif /* _STDINT_H */