unsafe extern "C" fn stream_ctx_read(
    context: *mut c_void,
    buffer: *mut c_char,
    len: c_int
) -> c_int