2 * Copyright (C) 2009-2012 the libgit2 contributors
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
8 #ifndef INCLUDE_tree_cache_h__
9 #define INCLUDE_tree_cache_h__
14 struct git_tree_cache
{
15 struct git_tree_cache
*parent
;
16 struct git_tree_cache
**children
;
17 size_t children_count
;
21 char name
[GIT_FLEX_ARRAY
];
24 typedef struct git_tree_cache git_tree_cache
;
26 int git_tree_cache_read(git_tree_cache
**tree
, const char *buffer
, size_t buffer_size
);
27 void git_tree_cache_invalidate_path(git_tree_cache
*tree
, const char *path
);
28 const git_tree_cache
*git_tree_cache_get(const git_tree_cache
*tree
, const char *path
);
29 void git_tree_cache_free(git_tree_cache
*tree
);