Segment Collection implementation. More...
#include <stdlib.h>
#include <errno.h>
#include "segcol.h"
#include "segcol_internal.h"
#include "type_limits.h"
#include "debug.h"
Go to the source code of this file.
Functions | |
int | segcol_create_impl (segcol_t **segcol, void *impl, struct segcol_funcs *funcs) |
Creates a segcol_t using a specific implementation. | |
void * | segcol_get_impl (segcol_t *segcol) |
Gets the implementation of a segcol_t. | |
void * | segcol_iter_get_impl (segcol_iter_t *iter) |
Gets the implementation of a segcol_t. | |
int | segcol_free (segcol_t *segcol) |
Frees the resources of a segcol_t. | |
int | segcol_append (segcol_t *segcol, segment_t *seg) |
Appends a segment to the segcol_t. | |
int | segcol_insert (segcol_t *segcol, off_t offset, segment_t *seg) |
Inserts a segment into the segcol_t. | |
int | segcol_delete (segcol_t *segcol, segcol_t **deleted, off_t offset, off_t length) |
Deletes a logical range from the segcol_t. | |
int | segcol_find (segcol_t *segcol, segcol_iter_t **iter, off_t offset) |
Finds the segment that contains a given logical offset. | |
int | segcol_iter_new (segcol_t *segcol, segcol_iter_t **iter) |
Gets a new (forward) iterator for a segcol_t. | |
int | segcol_iter_next (segcol_iter_t *iter) |
Moves the segcol_iter_t to the next element. | |
int | segcol_iter_is_valid (segcol_iter_t *iter, int *valid) |
Whether the iter points to a valid element. | |
int | segcol_iter_get_segment (segcol_iter_t *iter, segment_t **seg) |
Gets the segment pointed to by a segcol_iter_t. | |
int | segcol_iter_get_mapping (segcol_iter_t *iter, off_t *mapping) |
Gets the mapping (logical offset) of the segment pointed to by a segcol_iter_t. | |
int | segcol_iter_free (segcol_iter_t *iter) |
Frees a segcol_iter_t. | |
int | segcol_get_size (segcol_t *segcol, off_t *size) |
Gets the size of the data contained in a segcol_t. |
Segment Collection implementation.
Definition in file segcol.c.