diff --git a/docs/spec/spec.adoc b/docs/spec/spec.adoc index 8263f7f..4470069 100644 --- a/docs/spec/spec.adoc +++ b/docs/spec/spec.adoc @@ -70,4 +70,8 @@ include::structs/metadata.adoc[] <<< -include::structs/tracks.adoc[] \ No newline at end of file +include::structs/tracks.adoc[] + +<<< + +include::structs/cicm.adoc[] \ No newline at end of file diff --git a/docs/spec/structs/cicm.adoc b/docs/spec/structs/cicm.adoc new file mode 100644 index 0000000..3cb393c --- /dev/null +++ b/docs/spec/structs/cicm.adoc @@ -0,0 +1,24 @@ +=== CICM XML Metadata Block ('CICM') + +This block header signifies the inclusion of an embedded CICM XML metadata sidecar. +The contents of the XML are preserved in their original form and are not parsed, interpreted, or validated by the format implementation. + +==== Structure Definition + +[source,c] +#define CICM_MAGIC 0x4D434943 +/**Header for the CICM XML metadata block */ +typedef struct CicmMetadataBlock +{ + /**Identifier, */ + uint32_t identifier; + uint32_t length; +} CicmMetadataBlock; + +==== Field Descriptions + +[cols="2,2,2,6",options="header"] +|=== +|Type|Size|Name|Description +|uint32|4 bytes|identifier|The CICM XML metadata table identifier, always `CICM` +|uint32|4 bytes|length|The size in bytes of the embedded CICM XML metadata that follows this header.