X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Ftypes.h;h=79eac13ae7df8796a436086ade7ffcccb0037a7a;hb=4088b1e622cff0673f2859de5ee611da736bdba7;hp=86b62c23a7b3c28a411c8454e63f9542318d6b67;hpb=4d32b6eee972c59a29d8a03ea5b62ee6af9c952d;p=openocd.git diff --git a/src/helper/types.h b/src/helper/types.h index 86b62c23a7..79eac13ae7 100644 --- a/src/helper/types.h +++ b/src/helper/types.h @@ -33,8 +33,6 @@ #include #endif -typedef struct jtag_tap_s jtag_tap_t; - #ifdef HAVE_STDBOOL_H #include #else /* HAVE_STDBOOL_H */ @@ -56,6 +54,10 @@ typedef bool _Bool; #endif /* HAVE_STDBOOL_H */ +/// turns a macro argument into a string constant +#define stringify(s) __stringify(s) +#define __stringify(s) #s + /* DANGER!!!! here be dragons! * * Leave these fn's as byte accesses because it is safe @@ -123,13 +125,14 @@ static inline void h_u16_to_be(uint8_t* buf, int val) buf[1] = (uint8_t) (val >> 0); } -#ifdef __ECOS +#if defined(__ECOS) + /* eCos plain lacks these definition... A series of upstream patches * could probably repair it, but it seems like too much work to be * worth it. */ - +#if !defined(_STDINT_H) #define PRIx32 "x" #define PRId32 "d" #define SCNx32 "x" @@ -151,6 +154,14 @@ typedef uint64_t uintmax_t; #define INT64_MAX 0x7fffffffffffffffLL #define INT64_MIN (-INT64_MAX - 1LL) #define UINT64_MAX (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL) +#endif + + #ifndef LLONG_MAX + #define ULLONG_MAX UINT64_C(0xFFFFFFFFFFFFFFFF) + #define LLONG_MAX INT64_C(0x7FFFFFFFFFFFFFFF) + #define LLONG_MIN ULLONG_MAX + #endif + #define ULLONG_MAX 18446744073709551615