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, thecore/asdftree 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
pathas this extension’s type. - asdf_
get_ ⚠extension_ metadata - Read the value at
pathas this extension’s type. - asdf_
get_ ⚠history_ entry - Read the value at
pathas this extension’s type. - asdf_
get_ ⚠meta - Read the value at
pathas this extension’s type. - asdf_
get_ ⚠software - Read the value at
pathas this extension’s type. - asdf_
get_ ⚠time - Read the value at
pathas 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
pathcarries this extension’s tag. - asdf_
is_ ⚠extension_ metadata - Whether the value at
pathcarries this extension’s tag. - asdf_
is_ ⚠history_ entry - Whether the value at
pathcarries this extension’s tag. - asdf_
is_ ⚠meta - Whether the value at
pathcarries this extension’s tag. - asdf_
is_ ⚠software - Whether the value at
pathcarries this extension’s tag. - asdf_
is_ ⚠time - Whether the value at
pathcarries this extension’s tag. - asdf_
library_ ⚠set - Override the
asdf_librarymetadata written to a file. - asdf_
library_ ⚠set_ version - Override only the version of the
asdf_librarymetadata. - 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.