Every stream must have this struct as its first element, so the
API can talk to it. You'd define your stream as
struct my_stream {
git_stream parent;
...
}
and fill the functions
int (*)(struct git_stream *)
connect
int (*)(git_cert **, struct git_stream *)
certificate
int (*)(struct git_stream *, const char *)
set_proxy
ssize_t (*)(struct git_stream *, void *, size_t)
read
ssize_t (*)(struct git_stream *, const char *, size_t, int)
write
int (*)(struct git_stream *)
close
void (*)(struct git_stream *)
free