6 struct object_list
*next
;
14 unsigned char sha1
[20];
16 struct object_list
*refs
;
20 extern int track_object_refs
;
22 extern struct object
**objs
;
25 struct object
*lookup_object(const unsigned char *sha1
);
27 /** Returns the object, having looked it up as being the given type. **/
28 struct object
*lookup_object_type(const unsigned char *sha1
, const char *type
);
30 void created_object(const unsigned char *sha1
, struct object
*obj
);
32 /** Returns the object, having parsed it to find out what it is. **/
33 struct object
*parse_object(const unsigned char *sha1
);
35 /** Returns the object, with potentially excess memory allocated. **/
36 struct object
*lookup_unknown_object(const unsigned char *sha1
);
38 void add_ref(struct object
*refer
, struct object
*target
);
40 void mark_reachable(struct object
*obj
, unsigned int mask
);
42 struct object_list
*object_list_insert(struct object
*item
,
43 struct object_list
**list_p
);
45 void object_list_append(struct object
*item
,
46 struct object_list
**list_p
);
48 unsigned object_list_length(struct object_list
*list
);
50 int object_list_contains(struct object_list
*list
, struct object
*obj
);