Skip to main content

Module bplist

Module bplist 

Source
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§

PlistValue
A decoded property-list value.

Functions§

parse_bplist
Parse a bplist00 blob and return the top-level object, or None if 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.