GIT 1.1.5
[gitweb.git] / pack.h
diff --git a/pack.h b/pack.h
index 08e120dca664f43f8c12a2ce59cb28a67315500a..657deaa3f43ebe8627caa93798dd8ae5d956601d 100644 (file)
--- a/pack.h
+++ b/pack.h
@@ -1,23 +1,32 @@
 #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;
        unsigned int hdr_entries;
 };
 
+extern int verify_pack(struct packed_git *, int);
+
 #endif