summaryrefslogtreecommitdiff
path: root/csum-file.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 03:27:56 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-27 03:27:56 (GMT)
commitc38138cd78f284b261a02323e8f18a1dee87c7fa (patch)
tree0a356b92c85c4d545a9b83073a4a7c769c408251 /csum-file.h
parent9b66ec04741b4030e7654dcb7b978a29a8214b31 (diff)
downloadgit-c38138cd78f284b261a02323e8f18a1dee87c7fa.zip
git-c38138cd78f284b261a02323e8f18a1dee87c7fa.tar.gz
git-c38138cd78f284b261a02323e8f18a1dee87c7fa.tar.bz2
git-pack-objects: write the pack files with a SHA1 csum
We want to be able to check their integrity later, and putting the sha1-sum of the contents at the end is a good thing. The writing routines are generic, so we could try to re-use them for the index file, instead of having the same logic duplicated. Update unpack-objects to know about the extra 20 bytes at the end of the index.
Diffstat (limited to 'csum-file.h')
-rw-r--r--csum-file.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/csum-file.h b/csum-file.h
new file mode 100644
index 0000000..1086f04
--- /dev/null
+++ b/csum-file.h
@@ -0,0 +1,17 @@
+#ifndef CSUM_FILE_H
+#define CSUM_FILE_H
+
+/* A SHA1-protected file */
+struct sha1file {
+ int fd, error;
+ unsigned long offset;
+ SHA_CTX ctx;
+ unsigned char buffer[8192];
+};
+
+extern struct sha1file *sha1create(const char *fmt, ...);
+extern int sha1close(struct sha1file *);
+extern int sha1write(struct sha1file *, void *, unsigned int);
+extern int sha1write_compressed(struct sha1file *, void *, unsigned int);
+
+#endif