123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /*
- * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #pragma once
- #include <bits/stdint.h>
- #include <sys/cdefs.h>
- __BEGIN_DECLS
- #define PRId8 "d"
- #define PRId16 "d"
- #define PRId32 "d"
- #define PRId64 "lld"
- #define PRIi8 "d"
- #define PRIi16 "d"
- #define PRIi32 "d"
- #ifndef __LP64__
- # define PRIi64 "lld"
- #else
- # define PRIi64 "ld"
- #endif
- #define PRIu8 "u"
- #define PRIo8 "o"
- #define PRIo16 "o"
- #define PRIo32 "o"
- #ifndef __LP64__
- # define PRIo64 "llo"
- #else
- # define PRIo64 "lo"
- #endif
- #define PRIu16 "u"
- #define PRIu32 "u"
- #ifndef __LP64__
- # define PRIu64 "llu"
- # define PRIuPTR "x"
- #else
- # define PRIu64 "lu"
- # define PRIuPTR "lx"
- #endif
- #define PRIx8 "b"
- #define PRIX8 "hhX"
- #define PRIx16 "w"
- #define PRIX16 "hX"
- #define PRIx32 "x"
- #define PRIX32 "X"
- #ifndef __LP64__
- # define PRIx64 "llx"
- # define PRIX64 "llX"
- # define PRIxPTR "x"
- #else
- # define PRIx64 "lx"
- # define PRIX64 "lX"
- # define PRIxPTR "lx"
- #endif
- #define __PRI64_PREFIX "ll"
- #define __PRIPTR_PREFIX
- #define PRIdPTR __PRIPTR_PREFIX "d"
- #define PRIiPTR __PRIPTR_PREFIX "i"
- #define PRIXPTR __PRIPTR_PREFIX "X"
- #define PRIdMAX __PRI64_PREFIX "d"
- #define PRIoMAX __PRI64_PREFIX "o"
- #define PRIuMAX __PRI64_PREFIX "u"
- #define SCNdMAX __PRI64_PREFIX "d"
- #define SCNoMAX __PRI64_PREFIX "o"
- #define SCNuMAX __PRI64_PREFIX "u"
- #define SCNu64 __PRI64_PREFIX "u"
- #define SCNd64 __PRI64_PREFIX "d"
- #define SCNi64 __PRI64_PREFIX "i"
- #define SCNx64 __PRI64_PREFIX "x"
- #define SCNd8 "hhd"
- #define SCNd16 "hd"
- #define SCNd32 "ld"
- #define SCNi8 "hhi"
- #define SCNi16 "hi"
- #define SCNi32 "li"
- #define SCNu8 "hhu"
- #define SCNu16 "hu"
- #define SCNu32 "lu"
- #define SCNx8 "hhx"
- #define SCNx16 "hx"
- #define SCNx32 "lx"
- typedef struct imaxdiv_t {
- intmax_t quot;
- intmax_t rem;
- } imaxdiv_t;
- imaxdiv_t imaxdiv(intmax_t, intmax_t);
- intmax_t strtoimax(const char*, char** endptr, int base);
- uintmax_t strtoumax(const char*, char** endptr, int base);
- __END_DECLS
|