flash/nor/kinetis_ke: add .help fields for tcl commands
[fw/openocd] / src / helper / types.h
index 3f0724c3a65c429f3052094459a46e8493b2cea9..010529ffc3051c9774d8ac857a68b6359391dc29 100644 (file)
  *   GNU General Public License for more details.                          *
  *                                                                         *
  *   You should have received a copy of the GNU General Public License     *
- *   along with this program; if not, write to the                         *
- *   Free Software Foundation, Inc.,                                       *
- *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
-#ifndef TYPES_H
-#define TYPES_H
+
+#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
@@ -122,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)
@@ -149,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)
@@ -188,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);
@@ -196,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);
@@ -204,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);
@@ -297,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;
@@ -338,4 +343,13 @@ typedef uint64_t uintmax_t;
 
 #endif
 
-#endif /* TYPES_H */
+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 */