Skip to main content

Module core_ext

Module core_ext 

Source
Expand description

The core-schema extensions.

ASDF_REGISTER_EXTENSION generates eleven public functions for each extension type. C gets them from the macro; here they are produced by declare_extension, which mirrors the macro’s naming and semantics exactly so a caller cannot tell the difference:

asdf_get_<name>, asdf_set_<name>, asdf_is_<name>, asdf_value_is_<name>, asdf_value_as_<name>, asdf_value_of_<name>, asdf_<name>_copy, asdf_<name>_copy_into, asdf_<name>_array_copy, asdf_<name>_deinit and asdf_<name>_destroy.

The C types they work with are plain structs of borrowed pointers, so each has a deinit that frees the fields without freeing the struct — the split libasdf’s headers call out, because an object may be embedded, an array element, or static.

Structs§

asdf_extension_metadata_t
Mirror of asdf_extension_metadata_t.
asdf_history_entry_t
Mirror of asdf_history_entry_t.
asdf_meta_history_t
Mirror of asdf_meta_history_t.
asdf_meta_t
Mirror of asdf_meta_t, the core/asdf tree root.

Constants§

DATATYPE_TAG
The tag for core/datatype.
EXTENSION_METADATA_TAG
The tag for core/extension_metadata.
HISTORY_ENTRY_TAG
The tag for core/history_entry.
META_TAG
The tag for the tree root, core/asdf.
SOFTWARE_TAG
The tag for core/software.

Functions§

asdf_datatype_array_copy⚠
Deep-copy a null-terminated array of objects.
asdf_datatype_copy⚠
Deep-copy an object into fresh storage.
asdf_datatype_copy_into⚠
Deep-copy an object into caller-provided storage.
asdf_datatype_deinit⚠
Free the object’s fields without freeing the object itself.
asdf_datatype_destroy⚠
De-initialise and free an object.
asdf_extension_metadata_array_copy⚠
Deep-copy a null-terminated array of objects.
asdf_extension_metadata_copy⚠
Deep-copy an object into fresh storage.
asdf_extension_metadata_copy_into⚠
Deep-copy an object into caller-provided storage.
asdf_extension_metadata_deinit⚠
Free the object’s fields without freeing the object itself.
asdf_extension_metadata_destroy⚠
De-initialise and free an object.
asdf_get_datatype⚠
Read the value at path as this extension’s type.
asdf_get_extension_metadata⚠
Read the value at path as this extension’s type.
asdf_get_history_entry⚠
Read the value at path as this extension’s type.
asdf_get_meta⚠
Read the value at path as this extension’s type.
asdf_get_software⚠
Read the value at path as this extension’s type.
asdf_get_time⚠
Read the value at path as this extension’s type.
asdf_history_entry_add⚠
Append a history entry to the file.
asdf_history_entry_array_copy⚠
Deep-copy a null-terminated array of objects.
asdf_history_entry_copy⚠
Deep-copy an object into fresh storage.
asdf_history_entry_copy_into⚠
Deep-copy an object into caller-provided storage.
asdf_history_entry_deinit⚠
Free the object’s fields without freeing the object itself.
asdf_history_entry_destroy⚠
De-initialise and free an object.
asdf_is_datatype⚠
Whether the value at path carries this extension’s tag.
asdf_is_extension_metadata⚠
Whether the value at path carries this extension’s tag.
asdf_is_history_entry⚠
Whether the value at path carries this extension’s tag.
asdf_is_meta⚠
Whether the value at path carries this extension’s tag.
asdf_is_software⚠
Whether the value at path carries this extension’s tag.
asdf_is_time⚠
Whether the value at path carries this extension’s tag.
asdf_library_set⚠
Override the asdf_library metadata written to a file.
asdf_library_set_version⚠
Override only the version of the asdf_library metadata.
asdf_meta_array_copy⚠
Deep-copy a null-terminated array of objects.
asdf_meta_copy⚠
Deep-copy an object into fresh storage.
asdf_meta_copy_into⚠
Deep-copy an object into caller-provided storage.
asdf_meta_deinit⚠
Free the object’s fields without freeing the object itself.
asdf_meta_destroy⚠
De-initialise and free an object.
asdf_set_datatype⚠
Write an object of this extension’s type at path.
asdf_set_extension_metadata⚠
Write an object of this extension’s type at path.
asdf_set_history_entry⚠
Write an object of this extension’s type at path.
asdf_set_meta⚠
Write an object of this extension’s type at path.
asdf_set_software⚠
Write an object of this extension’s type at path.
asdf_set_time⚠
Write an object of this extension’s type at path.
asdf_shim_register_core_extensions⚠
The entry point shim.c’s constructor calls.
asdf_software_array_copy⚠
Deep-copy a null-terminated array of objects.
asdf_software_copy⚠
Deep-copy an object into fresh storage.
asdf_software_copy_into⚠
Deep-copy an object into caller-provided storage.
asdf_software_deinit⚠
Free the object’s fields without freeing the object itself.
asdf_software_destroy⚠
De-initialise and free an object.
asdf_time_array_copy⚠
Deep-copy a null-terminated array of objects.
asdf_time_copy⚠
Deep-copy an object into fresh storage.
asdf_time_copy_into⚠
Deep-copy an object into caller-provided storage.
asdf_time_deinit⚠
Free the object’s fields without freeing the object itself.
asdf_time_destroy⚠
De-initialise and free an object.
asdf_value_as_datatype⚠
Read a value as this extension’s type.
asdf_value_as_extension_metadata⚠
Read a value as this extension’s type.
asdf_value_as_history_entry⚠
Read a value as this extension’s type.
asdf_value_as_meta⚠
Read a value as this extension’s type.
asdf_value_as_software⚠
Read a value as this extension’s type.
asdf_value_as_time⚠
Read a value as this extension’s type.
asdf_value_is_datatype⚠
Whether a value carries one of this extension’s tags.
asdf_value_is_extension_metadata⚠
Whether a value carries one of this extension’s tags.
asdf_value_is_history_entry⚠
Whether a value carries one of this extension’s tags.
asdf_value_is_meta⚠
Whether a value carries one of this extension’s tags.
asdf_value_is_software⚠
Whether a value carries one of this extension’s tags.
asdf_value_is_time⚠
Whether a value carries one of this extension’s tags.
asdf_value_of_datatype⚠
Build a value from an object of this extension’s type.
asdf_value_of_extension_metadata⚠
Build a value from an object of this extension’s type.
asdf_value_of_history_entry⚠
Build a value from an object of this extension’s type.
asdf_value_of_meta⚠
Build a value from an object of this extension’s type.
asdf_value_of_software⚠
Build a value from an object of this extension’s type.
asdf_value_of_time⚠
Build a value from an object of this extension’s type.
parse_tag⚠
Parse a tag string, exposed for extension authors.
register_core_extensions
Put the seven core-schema extensions in the process-wide registry.