2021-12-15 15:12:31 +00:00
|
|
|
(** An entry in the manifest representing a device. *)
|
2021-12-13 13:58:44 +00:00
|
|
|
type mft_entry =
|
2021-12-15 15:12:31 +00:00
|
|
|
| Dev_block_basic of string
|
|
|
|
| Dev_net_basic of string
|
2021-12-13 13:58:44 +00:00
|
|
|
|
2021-12-15 15:12:31 +00:00
|
|
|
(** The Solo5 manifest *)
|
2021-12-13 13:58:44 +00:00
|
|
|
type mft = {
|
|
|
|
version : int;
|
2021-12-15 15:12:31 +00:00
|
|
|
(** [version] is at the moment always 1. *)
|
2021-12-13 13:58:44 +00:00
|
|
|
entries : mft_entry list;
|
2021-12-15 15:12:31 +00:00
|
|
|
(** [entries] in the manifest. *)
|
2021-12-13 13:58:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
val pp_mft_entry : Format.formatter -> mft_entry -> unit
|
|
|
|
val pp_mft : Format.formatter -> mft -> unit
|
2021-12-15 15:12:31 +00:00
|
|
|
(** Pretty-prints the manifest as JSON in a similar style as the Solo5 command
|
|
|
|
* line tool {[solo5-elftool query-manifest]}. *)
|
2021-12-13 13:58:44 +00:00
|
|
|
|
|
|
|
val query_manifest : Owee_buf.t -> (mft, [> `Msg of string ]) result
|
2021-12-15 15:12:31 +00:00
|
|
|
(** [query_manifest buf] is the solo5 manifest of [buf], or an error message.
|
|
|
|
* @raise Owee_buf.Invalid_format If [buf] does not contain valid ELF format *)
|