Byte array utils

Byte array utils

Read

Get uint16_t, uint32_t values from the byte array as uint8_t, big-endian sequence.

	inline uint8_t G_BYTE(const uint8_t*& p) {
		return *(p)++; 
	}
	inline uint16_t G_WORD(const uint8_t*& p) {
		uint32_t r = *p++;
		r = (r << 8) + *p++;
		return r;
	}
	inline uint32_t G_DWORD(const uint8_t*& p) {
		uint32_t r = *p++;
		r = (r << 8) + *p++;
		r = (r << 8) + *p++;
		r = (r << 8) + *p++;
		return r;
	}

p is incremented by the number of bytes read.

Writing

Write uint8_t, big-endian uint16_t and uint32_t values to the byte array specified by pointer q.

q is incremented by the number of bytes written.

Background

To simplify operations when generating and disassembling the data payload of wireless packets.

More simplified pack_bytes() and expand_bytes() are also available.

最終更新