byte[] array to uint16_t

uint16_t myInt = buf[3] << 8 | buf[4];  // shift one byte by 8 and OR the two to get your result .

kind-of-thing...

but I'm not sure if the endianness is correct...