git/reftable/reftable-blocksource.h

/*
Copyright 2020 Google LLC

Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file or at
https://developers.google.com/open-source/licenses/bsd
*/

#ifndef REFTABLE_BLOCKSOURCE_H
#define REFTABLE_BLOCKSOURCE_H

#include <stdint.h>

/* block_source is a generic wrapper for a seekable readable file.
 */
struct reftable_block_source {};

/* a contiguous segment of bytes. It keeps track of its generating block_source
 * so it can return itself into the pool. */
struct reftable_block {};

/* block_source_vtable are the operations that make up block_source */
struct reftable_block_source_vtable {};

/* opens a file on the file system as a block_source */
int reftable_block_source_from_file(struct reftable_block_source *block_src,
				    const char *name);

#endif