OSDN Git Service

Check in released NDK version r4.
[android-x86/prebuilt.git] / ndk / android-ndk-r4 / linux / platforms / android-3 / arch-arm / usr / include / inttypes.h
diff --git a/ndk/android-ndk-r4/linux/platforms/android-3/arch-arm/usr/include/inttypes.h b/ndk/android-ndk-r4/linux/platforms/android-3/arch-arm/usr/include/inttypes.h
new file mode 100644 (file)
index 0000000..ca303cb
--- /dev/null
@@ -0,0 +1,258 @@
+/*     $OpenBSD: inttypes.h,v 1.9 2006/01/15 00:47:51 millert Exp $    */
+
+/*
+ * Copyright (c) 1997, 2005 Todd C. Miller <Todd.Miller@courtesan.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef        _INTTYPES_H_
+#define        _INTTYPES_H_
+
+#include <stdint.h>
+#include <sys/cdefs.h>
+
+#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
+/*
+ * 7.8.1 Macros for format specifiers
+ *
+ * Each of the following object-like macros expands to a string
+ * literal containing a conversion specifier, possibly modified by
+ * a prefix such as hh, h, l, or ll, suitable for use within the
+ * format argument of a formatted input/output function when
+ * converting the corresponding integer type.  These macro names
+ * have the general form of PRI (character string literals for the
+ * fprintf family) or SCN (character string literals for the fscanf
+ * family), followed by the conversion specifier, followed by a
+ * name corresponding to a similar typedef name.  For example,
+ * PRIdFAST32 can be used in a format string to print the value of
+ * an integer of type int_fast32_t.
+ */
+
+/* fprintf macros for signed integers */
+#define        PRId8                   "d"             /* int8_t */
+#define        PRId16                  "d"             /* int16_t */
+#define        PRId32                  "d"             /* int32_t */
+#define        PRId64                  "lld"           /* int64_t */
+
+#define        PRIdLEAST8              "d"             /* int_least8_t */
+#define        PRIdLEAST16             "d"             /* int_least16_t */
+#define        PRIdLEAST32             "d"             /* int_least32_t */
+#define        PRIdLEAST64             "lld"           /* int_least64_t */
+
+#define        PRIdFAST8               "d"             /* int_fast8_t */
+#define        PRIdFAST16              "d"             /* int_fast16_t */
+#define        PRIdFAST32              "d"             /* int_fast32_t */
+#define        PRIdFAST64              "lld"           /* int_fast64_t */
+
+#define        PRIdMAX                 "jd"            /* intmax_t */
+#define        PRIdPTR                 "ld"            /* intptr_t */
+
+#define        PRIi8                   "i"             /* int8_t */
+#define        PRIi16                  "i"             /* int16_t */
+#define        PRIi32                  "i"             /* int32_t */
+#define        PRIi64                  "lli"           /* int64_t */
+
+#define        PRIiLEAST8              "i"             /* int_least8_t */
+#define        PRIiLEAST16             "i"             /* int_least16_t */
+#define        PRIiLEAST32             "i"             /* int_least32_t */
+#define        PRIiLEAST64             "lli"           /* int_least64_t */
+
+#define        PRIiFAST8               "i"             /* int_fast8_t */
+#define        PRIiFAST16              "i"             /* int_fast16_t */
+#define        PRIiFAST32              "i"             /* int_fast32_t */
+#define        PRIiFAST64              "lli"           /* int_fast64_t */
+
+#define        PRIiMAX                 "ji"            /* intmax_t */
+#define        PRIiPTR                 "li"            /* intptr_t */
+
+/* fprintf macros for unsigned integers */
+#define        PRIo8                   "o"             /* int8_t */
+#define        PRIo16                  "o"             /* int16_t */
+#define        PRIo32                  "o"             /* int32_t */
+#define        PRIo64                  "llo"           /* int64_t */
+
+#define        PRIoLEAST8              "o"             /* int_least8_t */
+#define        PRIoLEAST16             "o"             /* int_least16_t */
+#define        PRIoLEAST32             "o"             /* int_least32_t */
+#define        PRIoLEAST64             "llo"           /* int_least64_t */
+
+#define        PRIoFAST8               "o"             /* int_fast8_t */
+#define        PRIoFAST16              "o"             /* int_fast16_t */
+#define        PRIoFAST32              "o"             /* int_fast32_t */
+#define        PRIoFAST64              "llo"           /* int_fast64_t */
+
+#define        PRIoMAX                 "jo"            /* intmax_t */
+#define        PRIoPTR                 "lo"            /* intptr_t */
+
+#define        PRIu8                   "u"             /* uint8_t */
+#define        PRIu16                  "u"             /* uint16_t */
+#define        PRIu32                  "u"             /* uint32_t */
+#define        PRIu64                  "llu"           /* uint64_t */
+
+#define        PRIuLEAST8              "u"             /* uint_least8_t */
+#define        PRIuLEAST16             "u"             /* uint_least16_t */
+#define        PRIuLEAST32             "u"             /* uint_least32_t */
+#define        PRIuLEAST64             "llu"           /* uint_least64_t */
+
+#define        PRIuFAST8               "u"             /* uint_fast8_t */
+#define        PRIuFAST16              "u"             /* uint_fast16_t */
+#define        PRIuFAST32              "u"             /* uint_fast32_t */
+#define        PRIuFAST64              "llu"           /* uint_fast64_t */
+
+#define        PRIuMAX                 "ju"            /* uintmax_t */
+#define        PRIuPTR                 "lu"            /* uintptr_t */
+
+#define        PRIx8                   "x"             /* uint8_t */
+#define        PRIx16                  "x"             /* uint16_t */
+#define        PRIx32                  "x"             /* uint32_t */
+#define        PRIx64                  "llx"           /* uint64_t */
+
+#define        PRIxLEAST8              "x"             /* uint_least8_t */
+#define        PRIxLEAST16             "x"             /* uint_least16_t */
+#define        PRIxLEAST32             "x"             /* uint_least32_t */
+#define        PRIxLEAST64             "llx"           /* uint_least64_t */
+
+#define        PRIxFAST8               "x"             /* uint_fast8_t */
+#define        PRIxFAST16              "x"             /* uint_fast16_t */
+#define        PRIxFAST32              "x"             /* uint_fast32_t */
+#define        PRIxFAST64              "llx"           /* uint_fast64_t */
+
+#define        PRIxMAX                 "jx"            /* uintmax_t */
+#define        PRIxPTR                 "lx"            /* uintptr_t */
+
+#define        PRIX8                   "X"             /* uint8_t */
+#define        PRIX16                  "X"             /* uint16_t */
+#define        PRIX32                  "X"             /* uint32_t */
+#define        PRIX64                  "llX"           /* uint64_t */
+
+#define        PRIXLEAST8              "X"             /* uint_least8_t */
+#define        PRIXLEAST16             "X"             /* uint_least16_t */
+#define        PRIXLEAST32             "X"             /* uint_least32_t */
+#define        PRIXLEAST64             "llX"           /* uint_least64_t */
+
+#define        PRIXFAST8               "X"             /* uint_fast8_t */
+#define        PRIXFAST16              "X"             /* uint_fast16_t */
+#define        PRIXFAST32              "X"             /* uint_fast32_t */
+#define        PRIXFAST64              "llX"           /* uint_fast64_t */
+
+#define        PRIXMAX                 "jX"            /* uintmax_t */
+#define        PRIXPTR                 "lX"            /* uintptr_t */
+
+/* fscanf macros for signed integers */
+#define        SCNd8                   "hhd"           /* int8_t */
+#define        SCNd16                  "hd"            /* int16_t */
+#define        SCNd32                  "d"             /* int32_t */
+#define        SCNd64                  "lld"           /* int64_t */
+
+#define        SCNdLEAST8              "hhd"           /* int_least8_t */
+#define        SCNdLEAST16             "hd"            /* int_least16_t */
+#define        SCNdLEAST32             "d"             /* int_least32_t */
+#define        SCNdLEAST64             "lld"           /* int_least64_t */
+
+#define        SCNdFAST8               "hhd"           /* int_fast8_t */
+#define        SCNdFAST16              "hd"            /* int_fast16_t */
+#define        SCNdFAST32              "d"             /* int_fast32_t */
+#define        SCNdFAST64              "lld"           /* int_fast64_t */
+
+#define        SCNdMAX                 "jd"            /* intmax_t */
+#define        SCNdPTR                 "ld"            /* intptr_t */
+
+#define        SCNi8                   "hhi"           /* int8_t */
+#define        SCNi16                  "hi"            /* int16_t */
+#define        SCNi32                  "i"             /* int32_t */
+#define        SCNi64                  "lli"           /* int64_t */
+
+#define        SCNiLEAST8              "hhi"           /* int_least8_t */
+#define        SCNiLEAST16             "hi"            /* int_least16_t */
+#define        SCNiLEAST32             "i"             /* int_least32_t */
+#define        SCNiLEAST64             "lli"           /* int_least64_t */
+
+#define        SCNiFAST8               "hhi"           /* int_fast8_t */
+#define        SCNiFAST16              "hi"            /* int_fast16_t */
+#define        SCNiFAST32              "i"             /* int_fast32_t */
+#define        SCNiFAST64              "lli"           /* int_fast64_t */
+
+#define        SCNiMAX                 "ji"            /* intmax_t */
+#define        SCNiPTR                 "li"            /* intptr_t */
+
+/* fscanf macros for unsigned integers */
+#define        SCNo8                   "hho"           /* uint8_t */
+#define        SCNo16                  "ho"            /* uint16_t */
+#define        SCNo32                  "o"             /* uint32_t */
+#define        SCNo64                  "llo"           /* uint64_t */
+
+#define        SCNoLEAST8              "hho"           /* uint_least8_t */
+#define        SCNoLEAST16             "ho"            /* uint_least16_t */
+#define        SCNoLEAST32             "o"             /* uint_least32_t */
+#define        SCNoLEAST64             "llo"           /* uint_least64_t */
+
+#define        SCNoFAST8               "hho"           /* uint_fast8_t */
+#define        SCNoFAST16              "ho"            /* uint_fast16_t */
+#define        SCNoFAST32              "o"             /* uint_fast32_t */
+#define        SCNoFAST64              "llo"           /* uint_fast64_t */
+
+#define        SCNoMAX                 "jo"            /* uintmax_t */
+#define        SCNoPTR                 "lo"            /* uintptr_t */
+
+#define        SCNu8                   "hhu"           /* uint8_t */
+#define        SCNu16                  "hu"            /* uint16_t */
+#define        SCNu32                  "u"             /* uint32_t */
+#define        SCNu64                  "llu"           /* uint64_t */
+
+#define        SCNuLEAST8              "hhu"           /* uint_least8_t */
+#define        SCNuLEAST16             "hu"            /* uint_least16_t */
+#define        SCNuLEAST32             "u"             /* uint_least32_t */
+#define        SCNuLEAST64             "llu"           /* uint_least64_t */
+
+#define        SCNuFAST8               "hhu"           /* uint_fast8_t */
+#define        SCNuFAST16              "hu"            /* uint_fast16_t */
+#define        SCNuFAST32              "u"             /* uint_fast32_t */
+#define        SCNuFAST64              "llu"           /* uint_fast64_t */
+
+#define        SCNuMAX                 "ju"            /* uintmax_t */
+#define        SCNuPTR                 "lu"            /* uintptr_t */
+
+#define        SCNx8                   "hhx"           /* uint8_t */
+#define        SCNx16                  "hx"            /* uint16_t */
+#define        SCNx32                  "x"             /* uint32_t */
+#define        SCNx64                  "llx"           /* uint64_t */
+
+#define        SCNxLEAST8              "hhx"           /* uint_least8_t */
+#define        SCNxLEAST16             "hx"            /* uint_least16_t */
+#define        SCNxLEAST32             "x"             /* uint_least32_t */
+#define        SCNxLEAST64             "llx"           /* uint_least64_t */
+
+#define        SCNxFAST8               "hhx"           /* uint_fast8_t */
+#define        SCNxFAST16              "hx"            /* uint_fast16_t */
+#define        SCNxFAST32              "x"             /* uint_fast32_t */
+#define        SCNxFAST64              "llx"           /* uint_fast64_t */
+
+#define        SCNxMAX                 "jx"            /* uintmax_t */
+#define        SCNxPTR                 "lx"            /* uintptr_t */
+
+#endif /* __cplusplus || __STDC_FORMAT_MACROS */
+
+typedef struct {
+       intmax_t quot;          /* quotient */
+       intmax_t rem;           /* remainder */
+} imaxdiv_t;
+
+__BEGIN_DECLS
+intmax_t       imaxabs(intmax_t);
+imaxdiv_t      imaxdiv(intmax_t, intmax_t);
+intmax_t       strtoimax(const char *, char **, int);
+uintmax_t      strtoumax(const char *, char **, int);
+__END_DECLS
+
+#endif /* _INTTYPES_H_ */