# LV2

An open and extensible audio plugin standard

Version | 1.18.10

Data Structures | Functions
util.h File Reference

## Detailed Description

Helper functions for the LV2 Atom extension.

Note these functions are all static inline, do not take their address.

This header is non-normative, it is provided for convenience.

## Data Structures
struct | LV2_Atom_Object_Query

## Functions
static uint32_t | lv2_atom_pad_size (uint32_t size)
static uint32_t | lv2_atom_total_size (const LV2_Atom *atom)
static bool | lv2_atom_is_null (const LV2_Atom *atom)
static bool | lv2_atom_equals (const LV2_Atom *a, const LV2_Atom *b)
Sequence Utilities
static void | lv2_atom_sequence_clear (LV2_Atom_Sequence *seq)
static LV2_Atom_Event * | lv2_atom_sequence_append_event (LV2_Atom_Sequence *seq, uint32_t capacity, const LV2_Atom_Event *event)

## Sequence Iterator
#define | LV2_ATOM_SEQUENCE_FOREACH(seq, iter)
#define | LV2_ATOM_SEQUENCE_BODY_FOREACH(body, size, iter)
static LV2_Atom_Event * | lv2_atom_sequence_begin (const LV2_Atom_Sequence_Body *body)
static LV2_Atom_Event * | lv2_atom_sequence_end (const LV2_Atom_Sequence_Body *body, uint32_t size)
static bool | lv2_atom_sequence_is_end (const LV2_Atom_Sequence_Body *body, uint32_t size, const LV2_Atom_Event *i)
static LV2_Atom_Event * | lv2_atom_sequence_next (const LV2_Atom_Event *i)

## Tuple Iterator
#define | LV2_ATOM_TUPLE_FOREACH(tuple, iter)
#define | LV2_ATOM_TUPLE_BODY_FOREACH(body, size, iter)
static LV2_Atom * | lv2_atom_tuple_begin (const LV2_Atom_Tuple *tup)
static bool | lv2_atom_tuple_is_end (const void *body, uint32_t size, const LV2_Atom *i)
static LV2_Atom * | lv2_atom_tuple_next (const LV2_Atom *i)

## Object Iterator
#define | LV2_ATOM_OBJECT_FOREACH(obj, iter)
#define | LV2_ATOM_OBJECT_BODY_FOREACH(body, size, iter)
static LV2_Atom_Property_Body * | lv2_atom_object_begin (const LV2_Atom_Object_Body *body)
static bool | lv2_atom_object_is_end (const LV2_Atom_Object_Body *body, uint32_t size, const LV2_Atom_Property_Body *i)
static LV2_Atom_Property_Body * | lv2_atom_object_next (const LV2_Atom_Property_Body *i)

## Object Query
static const LV2_Atom_Object_Query | LV2_ATOM_OBJECT_QUERY_END = {0, NULL}
static int | lv2_atom_object_query (const LV2_Atom_Object *object, LV2_Atom_Object_Query *query)
static int | lv2_atom_object_body_get (uint32_t size, const LV2_Atom_Object_Body *body,...)
static int | lv2_atom_object_get (const LV2_Atom_Object *object,...)
static int | lv2_atom_object_get_typed (const LV2_Atom_Object *object,...)