|
static int | nm_data_chunk_isnull (const struct nm_data_chunk_s *p_chunk) |
|
void | nm_data_generator_coroutine_init (const struct nm_data_s *p_data, void *_generator) |
|
struct nm_data_chunk_s | nm_data_generator_coroutine_next (const struct nm_data_s *p_data, void *_generator) |
|
void | nm_data_generator_coroutine_destroy (const struct nm_data_s *p_data, void *_generator) |
|
void | nm_data_generator_generic_init (const struct nm_data_s *p_data, void *_generator) |
|
struct nm_data_chunk_s | nm_data_generator_generic_next (const struct nm_data_s *p_data, void *_generator) |
|
void | nm_data_default_properties_compute (struct nm_data_s *p_data) |
|
static void | nm_datav_init (struct nm_datav_s *p_datav) |
| initialize a datav More...
|
|
static void | nm_datav_destroy (struct nm_datav_s *p_datav) |
| destroys a datav More...
|
|
static void | nm_datav_add_chunk_data (struct nm_datav_s *p_datav, const struct nm_data_s *p_data) |
| add a chunk of data to datav; given p_data content is copied. More...
|
|
static void | nm_datav_add_chunk (struct nm_datav_s *p_datav, const void *ptr, nm_len_t len) |
| add a chunk of contiguous data to a datav More...
|
|
static nm_len_t | nm_datav_size (struct nm_datav_s *p_datav) |
| get the size (number of bytes) of data contained in the datav More...
|
|
static void | nm_datav_uncommit (struct nm_datav_s *p_datav) |
| 'uncommit' a datav: explicitely declare that nm_data pointing to this datav has been destroyed. More...
|
|
|
static void | nm_data_traversal_apply (const struct nm_data_s *p_data, nm_data_apply_t apply, void *_context) |
| helper function to apply iterator to data More...
|
|
static void | nm_data_generator_init (const struct nm_data_s *p_data, struct nm_data_generator_s *p_generator) |
| build a new generator for the given data type More...
|
|
static struct nm_data_chunk_s | nm_data_generator_next (struct nm_data_generator_s *p_generator) |
| get the next chunk of data More...
|
|
static void | nm_data_generator_destroy (struct nm_data_generator_s *p_generator) |
| destroy the generator after use More...
|
|
void | nm_data_chunk_extractor_traversal (const struct nm_data_s *p_data, nm_len_t chunk_offset, nm_len_t chunk_len, nm_data_apply_t apply, void *_context) |
|
void | nm_data_aggregator_traversal (const struct nm_data_s *p_data, nm_data_apply_t apply, void *_context) |
|
static const struct nm_data_properties_s * | nm_data_properties_get (const struct nm_data_s *p_data) |
| returns the properties block for the data More...
|
|
static nm_len_t | nm_data_size (const struct nm_data_s *p_data) |
| returns the amount of data contained in the descriptor More...
|
|
void * | nm_data_baseptr_get (const struct nm_data_s *p_data) |
| find base pointer for a data known to be contiguous More...
|
|
void * | nm_data_chunk_baseptr_get (const struct nm_data_s *p_data, nm_len_t chunk_offset, nm_len_t chunk_len) |
| find base pointer for a data chunk known to be contiguous More...
|
|
void | nm_data_chunk_properties_compute (const struct nm_data_s *p_data, nm_len_t chunk_offset, nm_len_t chunk_len, struct nm_data_properties_s *p_props) |
| compute properties of the given chunk inside the data More...
|
|
uint32_t | nm_data_checksum (const struct nm_data_s *p_data) |
| checksum data
More...
|
|
void | nm_data_copy_from (const struct nm_data_s *p_data, nm_len_t offset, nm_len_t len, void *destbuf) |
| copy chunk of data from user layout to contiguous buffer More...
|
|
void | nm_data_copy_to (const struct nm_data_s *p_data, nm_len_t offset, nm_len_t len, const void *srcbuf) |
| copy chunk of data from contiguous buffer to user layout More...
|
|
void | nm_data_copy (struct nm_data_s *p_dest, struct nm_data_s *p_from) |
| copy from nm_data to another nm_data More...
|
|
#define | NM_DATA_SLICER_NULL ((struct nm_data_slicer_s){ .kind = NM_DATA_SLICER_NONE }) |
| a slicer attached to no data More...
|
|
enum | nm_data_slicer_kind_t { NM_DATA_SLICER_NONE = 0
, NM_DATA_SLICER_GENERATOR
, NM_DATA_SLICER_COROUTINE
, NM_DATA_SLICER_UCONTEXT
} |
| various kinds of slicer implementations More...
|
|
enum | nm_data_slicer_op_e { NM_SLICER_OP_NONE = 0
, NM_SLICER_OP_FORWARD
, NM_SLICER_OP_COPY_FROM
, NM_SLICER_OP_COPY_TO
} |
|
typedef struct nm_data_slicer_s | nm_data_slicer_t |
| internal state of a data slicer. More...
|
|
typedef enum nm_data_slicer_op_e | nm_data_slicer_op_t |
|
static int | nm_data_slicer_isnull (const nm_data_slicer_t *p_slicer) |
| tests whether a slicer is null More...
|
|
void | nm_data_slicer_coroutine_init (nm_data_slicer_t *p_slicer, const struct nm_data_s *p_data) |
|
void | nm_data_slicer_coroutine_op (nm_data_slicer_t *p_slicer, void *ptr, nm_len_t len, nm_data_slicer_op_t op) |
|
void | nm_data_slicer_coroutine_destroy (nm_data_slicer_t *p_slicer) |
|
void | nm_data_slicer_generator_init (nm_data_slicer_t *p_slicer, const struct nm_data_s *p_data) |
|
void | nm_data_slicer_generator_op (nm_data_slicer_t *p_slicer, void *ptr, nm_len_t slice_len, nm_data_slicer_op_t op) |
|
void | nm_data_slicer_generator_destroy (nm_data_slicer_t *p_slicer) |
|
void | nm_data_slicer_ucontext_init (nm_data_slicer_t *p_slicer, const struct nm_data_s *p_data) |
|
void | nm_data_slicer_ucontext_op (nm_data_slicer_t *p_slicer, void *ptr, nm_len_t len, nm_data_slicer_op_t op) |
|
void | nm_data_slicer_ucontext_destroy (nm_data_slicer_t *p_slicer) |
|
void | nm_data_slicer_init (nm_data_slicer_t *p_slicer, const struct nm_data_s *p_data) |
|
void | nm_data_slicer_op (nm_data_slicer_t *p_slicer, void *ptr, nm_len_t len, nm_data_slicer_op_t op) |
|
void | nm_data_slicer_copy_from (nm_data_slicer_t *p_slicer, void *dest_ptr, nm_len_t slice_len) |
|
void | nm_data_slicer_copy_to (nm_data_slicer_t *p_slicer, const void *src_ptr, nm_len_t slice_len) |
|
void | nm_data_slicer_forward (nm_data_slicer_t *p_slicer, nm_len_t offset) |
|
void | nm_data_slicer_destroy (nm_data_slicer_t *p_slicer) |
|
const struct nm_data_ops_s | nm_data_ops_null |
|
const struct nm_data_ops_s | nm_data_ops_contiguous |
|
const struct nm_data_ops_s | nm_data_ops_iov |
|
const struct nm_data_ops_s | nm_data_ops_datav |
|
const struct nm_data_ops_s | nm_data_ops_excerpt |
|
static void | nm_data_null_set (struct nm_data_s *p_data, struct nm_data_null_s value) |
|
static struct nm_data_null_s * | nm_data_null_content (const struct nm_data_s *p_data) |
|
static void | nm_data_null_build (struct nm_data_s *p_data) |
|
static int | nm_data_isnull (struct nm_data_s *p_data) |
|
static void | nm_data_contiguous_set (struct nm_data_s *p_data, struct nm_data_contiguous_s value) |
|
static struct nm_data_contiguous_s * | nm_data_contiguous_content (const struct nm_data_s *p_data) |
|
static void | nm_data_contiguous_build (struct nm_data_s *p_data, void *ptr, nm_len_t len) |
|
static void | nm_data_iov_set (struct nm_data_s *p_data, struct nm_data_iov_s value) |
|
static struct nm_data_iov_s * | nm_data_iov_content (const struct nm_data_s *p_data) |
|
static void | nm_data_iov_build (struct nm_data_s *p_data, const struct iovec *v, int n) |
|
static void | nm_data_datav_set (struct nm_data_s *p_data, struct nm_data_datav_s value) |
|
static struct nm_data_datav_s * | nm_data_datav_content (const struct nm_data_s *p_data) |
|
static void | nm_data_datav_build (struct nm_data_s *p_datav_data, struct nm_datav_s *p_datav) |
| frontend to build a nm_data from a datav More...
|
|
static void | nm_data_excerpt_set (struct nm_data_s *p_data, struct nm_data_excerpt_s value) |
|
static struct nm_data_excerpt_s * | nm_data_excerpt_content (const struct nm_data_s *p_data) |
|
static void | nm_data_excerpt_build (struct nm_data_s *p_data, struct nm_data_s *p_inner_data, nm_len_t chunk_offset, nm_len_t chunk_len) |
| build a data descriptor as an excerpt of another data. More...
|
|
High-level data manipulation through iterators.
Definition in file nm_data.h.