typedef ssize_t (raw_input_func_t)(void*, uint8_t*, size_t);
void reliable_read(raw_input_func_t* input_func, void* userdata, uint8_t* buf, size_t len);
typedef ssize_t (raw_input_func_t)(void*, uint8_t*, size_t);
void reliable_read(raw_input_func_t* input_func, void* userdata, uint8_t* buf, size_t len);