]> git.proxmox.com Git - libgit2.git/blame - src/tree-cache.h
Add BD on ca-certificates
[libgit2.git] / src / tree-cache.h
CommitLineData
b4171320 1/*
359fc2d2 2 * Copyright (C) the libgit2 contributors. All rights reserved.
b4171320
CMN
3 *
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.
6 */
7
8#ifndef INCLUDE_tree_cache_h__
9#define INCLUDE_tree_cache_h__
10
11#include "common.h"
eae0bfdc 12
19c88310 13#include "pool.h"
c2f8b215 14#include "buffer.h"
b4171320
CMN
15#include "git2/oid.h"
16
46bb0067 17typedef struct git_tree_cache {
b4171320
CMN
18 struct git_tree_cache **children;
19 size_t children_count;
20
c2f8b215 21 ssize_t entry_count;
b4171320 22 git_oid oid;
1fa17b5c 23 size_t namelen;
b183ffe7 24 char name[GIT_FLEX_ARRAY];
06280457 25} git_tree_cache;
b4171320 26
c2f8b215 27int git_tree_cache_write(git_buf *out, git_tree_cache *tree);
19c88310 28int git_tree_cache_read(git_tree_cache **tree, const char *buffer, size_t buffer_size, git_pool *pool);
69bffab9 29void git_tree_cache_invalidate_path(git_tree_cache *tree, const char *path);
3ba69ba8 30const git_tree_cache *git_tree_cache_get(const git_tree_cache *tree, const char *path);
46bb0067 31int git_tree_cache_new(git_tree_cache **out, const char *name, git_pool *pool);
6843cebe
CMN
32/**
33 * Read a tree as the root of the tree cache (like for `git read-tree`)
34 */
35int git_tree_cache_read_tree(git_tree_cache **out, const git_tree *tree, git_pool *pool);
b4171320
CMN
36void git_tree_cache_free(git_tree_cache *tree);
37
38#endif