flash/nor/kinetis_ke: add .help fields for tcl commands
[fw/openocd] / src / helper / types.h
index 1854ba85bee2deff7bed3ce6e039b509e5af7870..010529ffc3051c9774d8ac857a68b6359391dc29 100644 (file)
 #ifndef OPENOCD_HELPER_TYPES_H
 #define OPENOCD_HELPER_TYPES_H
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <stddef.h>
+#include <assert.h>
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
 #ifndef __cplusplus
 
 #define false  0
-#define true           1
+#define true   1
 
-typedef int _Bool;
-#else
-typedef bool _Bool;
 #endif /* __cplusplus */
 #endif /* HAVE__BOOL */
-
-#define bool _Bool
-
 #endif /* HAVE_STDBOOL_H */
 
 /// turns a macro argument into a string constant
@@ -121,19 +120,19 @@ static inline uint64_t le_to_h_u64(const uint8_t *buf)
                          (uint64_t)buf[7] << 56);
 }
 
-static inline uint32_t le_to_h_u32(const uint8_tbuf)
+static inline uint32_t le_to_h_u32(const uint8_t *buf)
 {
-       return (uint32_t)(buf[0] | buf[1] << 8 | buf[2] << 16 | buf[3] << 24);
+       return (uint32_t)((uint32_t)buf[0] | (uint32_t)buf[1] << 8 | (uint32_t)buf[2] << 16 | (uint32_t)buf[3] << 24);
 }
 
-static inline uint32_t le_to_h_u24(const uint8_tbuf)
+static inline uint32_t le_to_h_u24(const uint8_t *buf)
 {
-       return (uint32_t)(buf[0] | buf[1] << 8 | buf[2] << 16);
+       return (uint32_t)((uint32_t)buf[0] | (uint32_t)buf[1] << 8 | (uint32_t)buf[2] << 16);
 }
 
-static inline uint16_t le_to_h_u16(const uint8_tbuf)
+static inline uint16_t le_to_h_u16(const uint8_t *buf)
 {
-       return (uint16_t)(buf[0] | buf[1] << 8);
+       return (uint16_t)((uint16_t)buf[0] | (uint16_t)buf[1] << 8);
 }
 
 static inline uint64_t be_to_h_u64(const uint8_t *buf)
@@ -148,19 +147,19 @@ static inline uint64_t be_to_h_u64(const uint8_t *buf)
                          (uint64_t)buf[0] << 56);
 }
 
-static inline uint32_t be_to_h_u32(const uint8_tbuf)
+static inline uint32_t be_to_h_u32(const uint8_t *buf)
 {
-       return (uint32_t)(buf[3] | buf[2] << 8 | buf[1] << 16 | buf[0] << 24);
+       return (uint32_t)((uint32_t)buf[3] | (uint32_t)buf[2] << 8 | (uint32_t)buf[1] << 16 | (uint32_t)buf[0] << 24);
 }
 
-static inline uint32_t be_to_h_u24(const uint8_tbuf)
+static inline uint32_t be_to_h_u24(const uint8_t *buf)
 {
-       return (uint32_t)(buf[2] | buf[1] << 8 | buf[0] << 16);
+       return (uint32_t)((uint32_t)buf[2] | (uint32_t)buf[1] << 8 | (uint32_t)buf[0] << 16);
 }
 
-static inline uint16_t be_to_h_u16(const uint8_tbuf)
+static inline uint16_t be_to_h_u16(const uint8_t *buf)
 {
-       return (uint16_t)(buf[1] | buf[0] << 8);
+       return (uint16_t)((uint16_t)buf[1] | (uint16_t)buf[0] << 8);
 }
 
 static inline void h_u64_to_le(uint8_t *buf, int64_t val)
@@ -187,7 +186,7 @@ static inline void h_u64_to_be(uint8_t *buf, int64_t val)
        buf[7] = (uint8_t) (val >> 0);
 }
 
-static inline void h_u32_to_le(uint8_tbuf, int val)
+static inline void h_u32_to_le(uint8_t *buf, int val)
 {
        buf[3] = (uint8_t) (val >> 24);
        buf[2] = (uint8_t) (val >> 16);
@@ -195,7 +194,7 @@ static inline void h_u32_to_le(uint8_t* buf, int val)
        buf[0] = (uint8_t) (val >> 0);
 }
 
-static inline void h_u32_to_be(uint8_tbuf, int val)
+static inline void h_u32_to_be(uint8_t *buf, int val)
 {
        buf[0] = (uint8_t) (val >> 24);
        buf[1] = (uint8_t) (val >> 16);
@@ -203,27 +202,27 @@ static inline void h_u32_to_be(uint8_t* buf, int val)
        buf[3] = (uint8_t) (val >> 0);
 }
 
-static inline void h_u24_to_le(uint8_tbuf, int val)
+static inline void h_u24_to_le(uint8_t *buf, int val)
 {
        buf[2] = (uint8_t) (val >> 16);
        buf[1] = (uint8_t) (val >> 8);
        buf[0] = (uint8_t) (val >> 0);
 }
 
-static inline void h_u24_to_be(uint8_tbuf, int val)
+static inline void h_u24_to_be(uint8_t *buf, int val)
 {
        buf[0] = (uint8_t) (val >> 16);
        buf[1] = (uint8_t) (val >> 8);
        buf[2] = (uint8_t) (val >> 0);
 }
 
-static inline void h_u16_to_le(uint8_tbuf, int val)
+static inline void h_u16_to_le(uint8_t *buf, int val)
 {
        buf[1] = (uint8_t) (val >> 8);
        buf[0] = (uint8_t) (val >> 0);
 }
 
-static inline void h_u16_to_be(uint8_tbuf, int val)
+static inline void h_u16_to_be(uint8_t *buf, int val)
 {
        buf[0] = (uint8_t) (val >> 8);
        buf[1] = (uint8_t) (val >> 0);
@@ -296,14 +295,21 @@ static inline int parity_u32(uint32_t x)
  */
 
 #if !defined(_STDINT_H)
-#define PRIx32 "x"
 #define PRId32 "d"
-#define SCNx32 "x"
 #define PRIi32 "i"
+#define PRIo32 "o"
 #define PRIu32 "u"
+#define PRIx32 "x"
+#define PRIX32 "X"
+#define SCNx32 "x"
 #define PRId8 PRId32
 #define SCNx64 "llx"
+#define PRId64 "lld"
+#define PRIi64 "lli"
+#define PRIo64 "llo"
+#define PRIu64 "llu"
 #define PRIx64 "llx"
+#define PRIX64 "llX"
 
 typedef CYG_ADDRWORD intptr_t;
 typedef int64_t intmax_t;
@@ -337,4 +343,13 @@ typedef uint64_t uintmax_t;
 
 #endif
 
+typedef uint64_t target_addr_t;
+#define TARGET_ADDR_MAX UINT64_MAX
+#define TARGET_PRIdADDR PRId64
+#define TARGET_PRIuADDR PRIu64
+#define TARGET_PRIoADDR PRIo64
+#define TARGET_PRIxADDR PRIx64
+#define TARGET_PRIXADDR PRIX64
+#define TARGET_ADDR_FMT "0x%8.8" TARGET_PRIxADDR
+
 #endif /* OPENOCD_HELPER_TYPES_H */