40 #define BYTES_TO_UINT16(n, p) {n = ((uint16_t)(p)[0] + ((uint16_t)(p)[1] << 8));} 42 #define BYTES_TO_UINT24(n, p) {n = ((uint16_t)(p)[0] + ((uint16_t)(p)[1] << 8) + \ 43 ((uint16_t)(p)[2] << 16));} 45 #define BYTES_TO_UINT32(n, p) {n = ((uint32_t)(p)[0] + ((uint32_t)(p)[1] << 8) + \ 46 ((uint32_t)(p)[2] << 16) + ((uint32_t)(p)[3] << 24));} 48 #define BYTES_TO_UINT40(n, p) {n = ((uint64_t)(p)[0] + ((uint64_t)(p)[1] << 8) + \ 49 ((uint64_t)(p)[2] << 16) + ((uint64_t)(p)[3] << 24) + \ 50 ((uint64_t)(p)[4] << 32));} 52 #define BYTES_TO_UINT64(n, p) {n = ((uint64_t)(p)[0] + ((uint64_t)(p)[1] << 8) + \ 53 ((uint64_t)(p)[2] << 16) + ((uint64_t)(p)[3] << 24) + \ 54 ((uint64_t)(p)[4] << 32) + ((uint64_t)(p)[5] << 40) + \ 55 ((uint64_t)(p)[6] << 48) + ((uint64_t)(p)[7] << 56));} 63 #define UINT16_TO_BYTES(n) ((uint8_t) (n)), ((uint8_t)((n) >> 8)) 65 #define UINT32_TO_BYTES(n) ((uint8_t) (n)), ((uint8_t)((n) >> 8)), ((uint8_t)((n) >> 16)), ((uint8_t)((n) >> 24)) 73 #define UINT16_TO_BYTE0(n) ((uint8_t) (n)) 75 #define UINT16_TO_BYTE1(n) ((uint8_t) ((n) >> 8)) 78 #define UINT32_TO_BYTE0(n) ((uint8_t) (n)) 80 #define UINT32_TO_BYTE1(n) ((uint8_t) ((n) >> 8)) 82 #define UINT32_TO_BYTE2(n) ((uint8_t) ((n) >> 16)) 84 #define UINT32_TO_BYTE3(n) ((uint8_t) ((n) >> 24)) 92 #define BSTREAM_TO_INT8(n, p) {n = (int8_t)(*(p)++);} 94 #define BSTREAM_TO_UINT8(n, p) {n = (uint8_t)(*(p)++);} 96 #define BSTREAM_TO_UINT16(n, p) {BYTES_TO_UINT16(n, p); p += 2;} 98 #define BSTREAM_TO_UINT24(n, p) {BYTES_TO_UINT24(n, p); p += 3;} 100 #define BSTREAM_TO_UINT32(n, p) {BYTES_TO_UINT32(n, p); p += 4;} 102 #define BSTREAM_TO_UINT40(n, p) {BYTES_TO_UINT40(n, p); p += 5;} 104 #define BSTREAM_TO_UINT64(n, p) {n = BstreamToUint64(p); p += 8;} 106 #define BSTREAM_TO_BDA(bda, p) {BdaCpy(bda, p); p += BDA_ADDR_LEN;} 108 #define BSTREAM_TO_BDA64(bda, p) {bda = BstreamToBda64(p); p += BDA_ADDR_LEN;} 116 #define UINT8_TO_BSTREAM(p, n) {*(p)++ = (uint8_t)(n);} 118 #define UINT16_TO_BSTREAM(p, n) {*(p)++ = (uint8_t)(n); *(p)++ = (uint8_t)((n) >> 8);} 120 #define UINT24_TO_BSTREAM(p, n) {*(p)++ = (uint8_t)(n); *(p)++ = (uint8_t)((n) >> 8); \ 121 *(p)++ = (uint8_t)((n) >> 16);} 123 #define UINT32_TO_BSTREAM(p, n) {*(p)++ = (uint8_t)(n); *(p)++ = (uint8_t)((n) >> 8); \ 124 *(p)++ = (uint8_t)((n) >> 16); *(p)++ = (uint8_t)((n) >> 24);} 126 #define UINT40_TO_BSTREAM(p, n) {*(p)++ = (uint8_t)(n); *(p)++ = (uint8_t)((n) >> 8); \ 127 *(p)++ = (uint8_t)((n) >> 16); *(p)++ = (uint8_t)((n) >> 24); \ 128 *(p)++ = (uint8_t)((n) >> 32);} 130 #define UINT64_TO_BSTREAM(p, n) {Uint64ToBstream(p, n); p += sizeof(uint64_t);} 132 #define BDA_TO_BSTREAM(p, bda) {BdaCpy(p, bda); p += BDA_ADDR_LEN;} 134 #define BDA64_TO_BSTREAM(p, bda) {Bda64ToBstream(p, bda); p += BDA_ADDR_LEN;} 142 #define UINT16_TO_BUF(p, n) {(p)[0] = (uint8_t)(n); (p)[1] = (uint8_t)((n) >> 8);} 144 #define UINT24_TO_BUF(p, n) {(p)[0] = (uint8_t)(n); (p)[1] = (uint8_t)((n) >> 8); \ 145 (p)[2] = (uint8_t)((n) >> 16);} 147 #define UINT32_TO_BUF(p, n) {(p)[0] = (uint8_t)(n); (p)[1] = (uint8_t)((n) >> 8); \ 148 (p)[2] = (uint8_t)((n) >> 16); (p)[3] = (uint8_t)((n) >> 24);} 150 #define UINT40_TO_BUF(p, n) {(p)[0] = (uint8_t)(n); (p)[1] = (uint8_t)((n) >> 8); \ 151 (p)[2] = (uint8_t)((n) >> 16); (p)[3] = (uint8_t)((n) >> 24);\ 152 (p)[4] = (uint8_t)((n) >> 32);} 160 #define BYTES_UINT16_CMP(p, n) ((p)[1] == UINT16_TO_BYTE1(n) && (p)[0] == UINT16_TO_BYTE0(n)) 168 #define FLT_TO_UINT32(m, e) ((m) | ((int32_t)(e) * 16777216)) 170 #define UINT32_TO_FLT(m, e, n) {m = UINT32_TO_FLT_M(n); e = UINT32_TO_FLT_E(n);} 172 #define UINT32_TO_FLT_M(n) ((((n) & 0x00FFFFFF) >= 0x00800000) ? \ 173 ((int32_t)(((n) | 0xFF000000))) : ((int32_t)((n) & 0x00FFFFFF))) 175 #define UINT32_TO_FLT_E(n) ((int8_t)(n >> 24)) 183 #define SFLT_TO_UINT16(m, e) ((m) | (0xF000 & ((int16_t)(e) * 4096))) 185 #define UINT16_TO_SFLT(m, e, n) {m = UINT16_TO_SFLT_M(n); e = UINT16_TO_SFLT_E(n);} 187 #define UINT16_TO_SFLT_M(n) ((((n) & 0x0FFF) >= 0x0800) ? \ 188 ((int16_t)(((n) | 0xF000))) : ((int16_t)((n) & 0x0FFF))) 190 #define UINT16_TO_SFLT_E(n) (((n >> 12) >= 0x0008) ? \ 191 ((int8_t)(((n >> 12) | 0xF0))) : ((int8_t)(n >> 12))) void Bda64ToBstream(uint8_t *p, uint64_t bda)
Convert BDA64 to bstream.
void Uint64ToBstream(uint8_t *p, uint64_t n)
Convert uint64_t to bstream.
uint64_t BstreamToUint64(const uint8_t *p)
Convert bstream to uint64_t.
unsigned long long uint64_t
Unsigned 64-bit value.
Bluetooth device address utilities.
uint64_t BstreamToBda64(const uint8_t *p)
Convert bstream to BDA64.
unsigned char uint8_t
Unsigned 8-bit value.