/**
 * Required headers
 *  * stdint.h
 */
/**
 * A table of contents for a change, indicating where each section is, to allow
 * seeking inside a change file.
 */
;
/**
 * Errors that can arise when working with change files
 */
;
enum error ;
/* sizeof(struct offsets) */
;
/** An "author" is (strangely) a list of key-value pairs */
;
/**
 * A list of key-value collections (BTreeMap)
 */
;
void ;
;
/**
 * The parts of a given change that is blake3-hashed.
 *
 * The actual hashing happens on the serialized (w/bincode) version of this
 * struct. Decoding the 'changes' field will take quite a bit of doing, it's a
 * fairly convoluted field.
 */
;
void ;
/**
 * Decode the 'struct offsets' from the given fd
 *
 * Return 0 if decoding completed successfully, a negative number indicates an
 * error.
 */
int ;
/**
 * Decompress and decode the hashed parts of a .change file. The
 * struct hashed pointer argument is populated with the result.
 * 
 */
enum error ;
;
;
/**
 * structure for keeping track of multiple changes
 */
;
void ;
void ;
/**
 * either fetch a change that's already loaded, or load a change into
 * the changestore.
 */
struct change *;
int ;