34#ifndef SQSH_PRIVATE_MAPPER_H
35#define SQSH_PRIVATE_MAPPER_H
39#include "sqsh_reader_private.h"
40#include "sqsh_utils_private.h"
64 uint64_t archive_size;
159 uint64_t address, uint64_t offset,
size_t size);
174 struct CxRcRadixTree maps;
175 uint64_t archive_offset;
176 uint64_t block_count;
270 uint64_t segment_count;
377 uint64_t upper_limit;
379 struct SqshReader reader;
395 const uint64_t start_address, uint64_t upper_limit);
#define SQSH_NO_EXPORT
Do not export symbol.
#define SQSH_NO_UNUSED
Warn if return value is unused.
size_t sqsh_index_t
typedef used for indexing
SQSH_NO_EXPORT size_t sqsh__map_reader_remaining_direct(const struct SqshMapReader *reader)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_reader_init(struct SqshMapReader *reader, struct SqshMapManager *mapper, const uint64_t start_address, uint64_t upper_limit)
SQSH_NO_EXPORT int sqsh__map_iterator_cleanup(struct SqshMapIterator *iterator)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_manager_init(struct SqshMapManager *manager, const void *input, const struct SqshConfig *config)
SQSH_NO_EXPORT SQSH_NO_UNUSED bool sqsh__map_iterator_next(struct SqshMapIterator *iterator, int *err)
SQSH_NO_EXPORT SQSH_NO_UNUSED uint64_t sqsh__map_reader_address(const struct SqshMapReader *reader)
SQSH_NO_EXPORT const uint8_t * sqsh__map_reader_data(const struct SqshMapReader *reader)
SQSH_NO_EXPORT size_t sqsh__map_iterator_block_size(const struct SqshMapIterator *iterator)
SQSH_NO_EXPORT size_t sqsh__map_reader_size(const struct SqshMapReader *reader)
SQSH_NO_EXPORT size_t sqsh__map_iterator_size(const struct SqshMapIterator *iterator)
SQSH_NO_EXPORT int sqsh__mapper_cleanup(struct SqshMapper *mapper)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_reader_advance(struct SqshMapReader *reader, uint64_t offset, size_t size)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_iterator_init(struct SqshMapIterator *iterator, struct SqshMapManager *manager, uint64_t address)
SQSH_NO_EXPORT int sqsh__map_manager_release(struct SqshMapManager *manager, const struct SqshMapSlice *mapping)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_reader_all(struct SqshMapReader *reader)
SQSH_NO_EXPORT int sqsh__map_reader_cleanup(struct SqshMapReader *reader)
SQSH_NO_EXPORT const uint8_t * sqsh__map_iterator_data(const struct SqshMapIterator *iterator)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__mapper_init(struct SqshMapper *mapper, const void *source, const struct SqshConfig *config)
SQSH_NO_EXPORT int sqsh__map_slice_cleanup(struct SqshMapSlice *mapping)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_manager_get(struct SqshMapManager *manager, sqsh_index_t index, const struct SqshMapSlice **target)
SQSH_NO_EXPORT const uint8_t * sqsh__map_slice_data(const struct SqshMapSlice *mapping)
SQSH_NO_EXPORT int sqsh__map_manager_cleanup(struct SqshMapManager *manager)
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_slice_init(struct SqshMapSlice *mapping, struct SqshMapper *mapper, uint64_t address, uint64_t offset, size_t size)
SQSH_NO_EXPORT size_t sqsh__map_slice_size(const struct SqshMapSlice *mapping)
SQSH_NO_EXPORT uint64_t sqsh__map_manager_size(const struct SqshMapManager *manager)
SQSH_NO_EXPORT size_t sqsh__map_manager_block_size(const struct SqshMapManager *manager)
The SqshConfig struct contains all the configuration options for a sqsh session.
SQSH_NO_EXPORT SQSH_NO_UNUSED int sqsh__map_iterator_skip(struct SqshMapIterator *iterator, uint64_t *offset)
Skips blocks until the block containing the offset is reached. Note that calling this function will i...
A reader over a mapping of data.
Represents a view into the data of an archive.
The mapper that is used to map chunks of the archive into memory.
The implementation of a memory mapper.