summaryrefslogtreecommitdiff
path: root/pack.h
diff options
context:
space:
mode:
Diffstat (limited to 'pack.h')
-rw-r--r--pack.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/pack.h b/pack.h
index 08e120d..83ac321 100644
--- a/pack.h
+++ b/pack.h
@@ -1,19 +1,26 @@
#ifndef PACK_H
#define PACK_H
+/*
+ * The packed object type is stored in 3 bits.
+ * The type value 0 is a reserved prefix if ever there is more than 7
+ * object types, or any future format extensions.
+ */
enum object_type {
- OBJ_NONE,
- OBJ_COMMIT,
- OBJ_TREE,
- OBJ_BLOB,
- OBJ_TAG,
- OBJ_DELTA,
+ OBJ_EXT = 0,
+ OBJ_COMMIT = 1,
+ OBJ_TREE = 2,
+ OBJ_BLOB = 3,
+ OBJ_TAG = 4,
+ /* 5/6 for future expansion */
+ OBJ_DELTA = 7,
};
/*
* Packed object header
*/
#define PACK_SIGNATURE 0x5041434b /* "PACK" */
+#define PACK_VERSION 2
struct pack_header {
unsigned int hdr_signature;
unsigned int hdr_version;