return (uint32_t)(buf[0] | buf[1] << 8 | buf[2] << 16 | buf[3] << 24);
}
+static inline uint32_t le_to_h_u24(const uint8_t* buf)
+{
+ return (uint32_t)(buf[0] | buf[1] << 8 | buf[2] << 16);
+}
+
static inline uint16_t le_to_h_u16(const uint8_t* buf)
{
return (uint16_t)(buf[0] | buf[1] << 8);
return (uint32_t)(buf[3] | buf[2] << 8 | buf[1] << 16 | buf[0] << 24);
}
+static inline uint32_t be_to_h_u24(const uint8_t* buf)
+{
+ return (uint32_t)(buf[2] | buf[1] << 8 | buf[0] << 16);
+}
+
static inline uint16_t be_to_h_u16(const uint8_t* buf)
{
return (uint16_t)(buf[1] | buf[0] << 8);
buf[3] = (uint8_t) (val >> 0);
}
+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_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_t* buf, int val)
{
buf[1] = (uint8_t) (val >> 8);
#define PRIi32 "i"
#define PRIu32 "u"
#define PRId8 PRId32
+#define SCNx64 "llx"
+#define PRIx64 "llx"
typedef CYG_ADDRWORD intptr_t;
typedef int64_t intmax_t;
#define UINT64_MAX (__CONCAT(INT64_MAX, U) * 2ULL + 1ULL)
#endif
- #ifndef LLONG_MAX
+ #ifndef LLONG_MAX
#define ULLONG_MAX UINT64_C(0xFFFFFFFFFFFFFFFF)
#define LLONG_MAX INT64_C(0x7FFFFFFFFFFFFFFF)
#define LLONG_MIN ULLONG_MAX
- #endif
+ #endif
#define ULLONG_MAX 18446744073709551615