summaryrefslogtreecommitdiff
path: root/packfile-list.h
blob: 2b4b98b22673a4a17634c2b27c5201825d693cac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef PACKFILE_LIST_H
#define PACKFILE_LIST_H

struct object_id;

struct packfile_list {
	struct packfile_list_entry *head, *tail;
};

struct packfile_list_entry {
	struct packfile_list_entry *next;
	struct packed_git *pack;
};

void packfile_list_clear(struct packfile_list *list);
void packfile_list_remove(struct packfile_list *list, struct packed_git *pack);
void packfile_list_prepend(struct packfile_list *list, struct packed_git *pack);
void packfile_list_append(struct packfile_list *list, struct packed_git *pack,
			  int skip_dup_check);

/*
 * Find the pack within the "packs" list whose index contains the object
 * "oid". For general object lookups, you probably don't want this; use
 * find_pack_entry() instead.
 */
struct packed_git *packfile_list_find_oid(struct packfile_list_entry *packs,
					  const struct object_id *oid);

#endif