Linus Torvalds | a733cb6 | 2005-06-28 14:21:02 -0700 | [diff] [blame] | 1 | #ifndef PACK_H |
| 2 | #define PACK_H |
| 3 | |
Linus Torvalds | 01247d8 | 2005-06-28 22:15:57 -0700 | [diff] [blame] | 4 | /* |
| 5 | * The packed object type is stored in 3 bits. |
| 6 | * The type value 0 is a reserved prefix if ever there is more than 7 |
| 7 | * object types, or any future format extensions. |
| 8 | */ |
Linus Torvalds | a733cb6 | 2005-06-28 14:21:02 -0700 | [diff] [blame] | 9 | enum object_type { |
Linus Torvalds | 01247d8 | 2005-06-28 22:15:57 -0700 | [diff] [blame] | 10 | OBJ_EXT = 0, |
| 11 | OBJ_COMMIT = 1, |
| 12 | OBJ_TREE = 2, |
| 13 | OBJ_BLOB = 3, |
| 14 | OBJ_TAG = 4, |
| 15 | /* 5/6 for future expansion */ |
| 16 | OBJ_DELTA = 7, |
Linus Torvalds | a733cb6 | 2005-06-28 14:21:02 -0700 | [diff] [blame] | 17 | }; |
| 18 | |
| 19 | /* |
| 20 | * Packed object header |
| 21 | */ |
| 22 | #define PACK_SIGNATURE 0x5041434b /* "PACK" */ |
Linus Torvalds | 01247d8 | 2005-06-28 22:15:57 -0700 | [diff] [blame] | 23 | #define PACK_VERSION 2 |
Linus Torvalds | a733cb6 | 2005-06-28 14:21:02 -0700 | [diff] [blame] | 24 | struct pack_header { |
| 25 | unsigned int hdr_signature; |
| 26 | unsigned int hdr_version; |
| 27 | unsigned int hdr_entries; |
| 28 | }; |
| 29 | |
Junio C Hamano | f3bf922 | 2005-06-30 17:15:39 -0700 | [diff] [blame] | 30 | extern int verify_pack(struct packed_git *, int); |
Junio C Hamano | f925339 | 2005-06-29 02:51:27 -0700 | [diff] [blame] | 31 | |
Linus Torvalds | a733cb6 | 2005-06-28 14:21:02 -0700 | [diff] [blame] | 32 | #endif |