diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-05-11 19:30:25 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-20 18:46:55 -0700 |
commit | 46bf043807cc5d8986f41139a8c28491f613c5e0 (patch) | |
tree | b9b3e84edd69fa5eebcf80e67a5287194b98e9a0 /streaming.h | |
parent | fd5db55d8b6668a1ff9583a6636a4d54ad9519f2 (diff) | |
download | git-46bf043807cc5d8986f41139a8c28491f613c5e0.tar.gz |
streaming: a new API to read from the object store
Given an object name, use open_istream() to get a git_istream handle
that you can read_istream() from as if you are using read(2) to read
the contents of the object, and close it with close_istream() when
you are done.
Currently, we do not do anything fancy--it just calls read_sha1_file()
and keeps the contents in memory as a whole, and carve it out as you
request with read_istream().
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'streaming.h')
-rw-r--r-- | streaming.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/streaming.h b/streaming.h new file mode 100644 index 0000000000..18cbe68ac1 --- /dev/null +++ b/streaming.h @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2011, Google Inc. + */ +#ifndef STREAMING_H +#define STREAMING_H 1 +#include "cache.h" + +/* opaque */ +struct git_istream; + +extern struct git_istream *open_istream(const unsigned char *, enum object_type *, unsigned long *); +extern int close_istream(struct git_istream *); +extern ssize_t read_istream(struct git_istream *, char *, size_t); + +#endif /* STREAMING_H */ |