asdf/extension.h

type asdf_extension_t

Struct representing a registered libasdf extension

asdf_tag_t *asdf_tag_parse(const char *tag)

Parse a tag string of the form “name” or “name-version” into an asdf_tag_t. Returns NULL on OOM. The caller owns the result and must free it with asdf_tag_destroy.

void asdf_tag_destroy(asdf_tag_t *tag)

Free a tag returned by asdf_tag_parse.

ASDF_EXT_DEFINE_CLONE(extname, type)

Auto-generated helper to clone extension types

Extension types may optionally not implement the copy method, in which case a shallow copy is performed. This may result in undesired effects (double-frees, etc.) so do make sure to implement this if the extension object contains nested data structures.

ASDF_EXT_DEFINE_ARRAY_CLONE(extname, type)

Helper to clone a NULL-terminated array of pointers to an extension object

For example, clones an asdf_history_entry_t** array.

ASDF_EXT_DEFINE_DESTROY(extname, type)

Auto-generated helper to free extension type objects