Expand description
Minimal Apple binary property list (bplist00) reader.
Several Apple MakerNote tags (e.g. RunTime, auto-exposure state) store an
embedded bplist00 blob rather than a plain TIFF value. This reader decodes
the common object types well enough to inspect those structures. It is a
reader only — there is no writer — and it is deliberately small.
Format reference: CoreFoundation CFBinaryPList (bplist00):
8-byte "bplist00" header, packed objects, an offset table, and a 32-byte
trailer giving the integer widths, object count, top object index, and the
offset-table location.
no_std + alloc, #![forbid(unsafe_code)]. Recursion is depth-bounded so
a maliciously cyclic ref graph cannot blow the stack.
Enums§
- Plist
Value - A decoded property-list value.
Functions§
- parse_
bplist - Parse a
bplist00blob and return the top-level object, orNoneif the data is not a well-formed binary plist within our supported subset. Input and requested output allocations are each limited to 16 MiB; expansion is limited to 65,536 visited values and 32 nested containers.