Exemplo n.º 1
0
	inline int
	unpack_body(uint8_t* src, int src_len)
	{
		if (src_len < body_size()) {
			return -1;
		}
		id = read64be(src);
		src += 8;
		seq = read64be(src);
		src += 8;
		round = read64be(src);
		return 0;
	}
Exemplo n.º 2
0
	inline int
	unpack_body(uint8_t* src, int src_len)
	{
		if (src_len < 8) {
			return -1;
		}
		id = read64be(src);
		return 0;
	}
Exemplo n.º 3
0
	inline int
	unpack_body(uint8_t* src, int src_len)
	{
		if (src_len < body_size()) {
			return -1;
		}
		id = read64be(src);
		src += 8;
		seq = read64be(src);
		src += 8;
		round = read64be(src);
		src += 8;
		next = read64be(src);
		src += 8;
		uint32_t next_content_size = read32be(src);
		src += 4;
		if (src_len < 8+8+8+8+4 + next_content_size) {
			return -2;
		}
		next_content = std::string((const char*)src, next_content_size);
		return 0;
	}
Exemplo n.º 4
0
	inline int
	unpack_body(uint8_t* src, int src_len)
	{
		if (src_len < body_size()) {
			return -1;
		}
		id = read64be(src);
		src += 8;
		uint16_t address_size = read16be(src);
		src += 2;
		if (src_len < 8 + 2 + address_size) {
			return -2;
		}
		address = std::string((const char*)src, address_size);
		return 0;
	}
Exemplo n.º 5
0
uint64_t read64(bool be,void *p)
{
  return (be)?(read64be(p)):(read64le(p));
}