X-Git-Url: http://git.annexia.org/?p=virt-mem.git;a=blobdiff_plain;f=extract%2Fcodegen%2Fstruct_classify.mli;fp=extract%2Fcodegen%2Fstruct_classify.mli;h=96554bfdc13ff473bb9696f2f2122fa992173cda;hp=802324cb5b3c5cfe5e5fe395cc577722d65113cf;hb=9a4e42524fac9afd50fca18f2124f6df91716d4c;hpb=93676d33e7b96b18baab8fdc82ad4ef76d720620 diff --git a/extract/codegen/struct_classify.mli b/extract/codegen/struct_classify.mli index 802324c..96554bf 100644 --- a/extract/codegen/struct_classify.mli +++ b/extract/codegen/struct_classify.mli @@ -118,10 +118,13 @@ and content_field_struct = { } (** The type of a content field structure. *) +type sfhash = (string, shape_field_struct) Hashtbl.t + (** Hash of kernel version to the shape field structure. *) + val minimize_shape_field_structs : string -> string list -> (Pahole_parser.info * Pahole_parser.structure) list -> - shape_field_struct list * (string, shape_field_struct) Hashtbl.t + shape_field_struct list * sfhash (** [minimize_shape_field_structs struct_name names kernels] returns a minimized list of shape field structures (a hash table of kernel version to {!shape_field_struct}). @@ -130,10 +133,13 @@ val minimize_shape_field_structs : [names] is the list of interesting kernel structures. *) +type cfhash = (string, content_field_struct) Hashtbl.t + (** Hash of kernel version to the content field structure. *) + val minimize_content_field_structs : string -> string list -> (Pahole_parser.info * Pahole_parser.structure) list -> - content_field_struct list * (string, content_field_struct) Hashtbl.t + content_field_struct list * cfhash (** [minimize_content_field_structs struct_name names kernels] returns a minimized list of content field structures (a hash table of kernel version to {!content_field_struct}). @@ -156,12 +162,14 @@ type parser_ (* parser is a reserved word *) = { } (** The type of a parser. *) +type pahash = (string, parser_) Hashtbl.t + (** Hash of the kernel version to the parser. *) + val minimize_parsers : string -> (Pahole_parser.info * Pahole_parser.structure) list -> - (string, shape_field_struct) Hashtbl.t -> - (string, content_field_struct) Hashtbl.t -> - parser_ list * (string, parser_) Hashtbl.t + sfhash -> cfhash -> + parser_ list * pahash (** [minimize_parsers struct_name kernels sfhash cfhash] returns a minimized list of parsers (a hash table of kernel version to {!parser_}).