+(* WARNING: This file and the corresponding mli (interface) are
+ * automatically generated by the extract/codegen/kerneldb_to_parser.ml
+ * program.
+ *
+ * Any edits you make to this file will be lost.
+ *
+ * To update this file from the latest kernel database, it is recommended
+ * that you do 'make update-kernel-structs'.
+ *)
+
+let zero = 0;;
+let struct_name = "net_device";;
+let match_err = "failed to match kernel structure";;
+type t =
+ { net_device_dev_list'prev : Virt_mem_mmap.addr option;
+ net_device_dev_list'next : Virt_mem_mmap.addr option;
+ net_device_next : Virt_mem_mmap.addr option; net_device_name : string;
+ net_device_dev_addr : string
+ };;
+type fs_t =
+ { __fs_net_device_dev_list'prev : Virt_mem_types.fieldsig;
+ __fs_net_device_dev_list'next : Virt_mem_types.fieldsig;
+ __fs_net_device_next : Virt_mem_types.fieldsig;
+ __fs_net_device_name : Virt_mem_types.fieldsig;
+ __fs_net_device_dev_addr : Virt_mem_types.fieldsig
+ };;
+let fieldsig_1 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 280; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_2 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 408; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_3 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 320; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_4 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 316; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_5 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 348; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_6 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 424; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_7 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 80; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 552; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_8 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 80; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 536; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_9 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 216; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_10 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 424; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_11 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 212; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_12 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 312; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_13 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 80; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 552; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_14 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 324; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_15 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 316; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_16 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 80; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 536; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_17 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 320; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_18 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 332; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_19 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 80; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 584; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_20 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 80; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 584; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_21 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 216; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_22 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 336; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_23 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 212; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_24 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = true; field_offset = 72; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 328; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let fieldsig_25 =
+ {
+ __fs_net_device_name =
+ { Virt_mem_types.field_available = true; field_offset = 0; };
+ __fs_net_device_dev_list'next =
+ { Virt_mem_types.field_available = true; field_offset = 48; };
+ __fs_net_device_dev_list'prev =
+ { Virt_mem_types.field_available = true; field_offset = 52; };
+ __fs_net_device_dev_addr =
+ { Virt_mem_types.field_available = true; field_offset = 344; };
+ __fs_net_device_next =
+ { Virt_mem_types.field_available = false; field_offset = (-1); };
+ };;
+let parser_1 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+32 : offset(384), littleendian;
+ net_device_dev_addr : 256 : offset(2240), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_1", match_err));;
+let parser_2 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), littleendian;
+ net_device_dev_list'prev : zero+32 : offset(416), littleendian;
+ net_device_dev_addr : 256 : offset(3264), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_2", match_err));;
+let parser_3 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), littleendian;
+ net_device_dev_list'prev : zero+32 : offset(416), littleendian;
+ net_device_dev_addr : 256 : offset(2560), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_3", match_err));;
+let parser_4 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), littleendian;
+ net_device_dev_list'prev : zero+32 : offset(416), littleendian;
+ net_device_dev_addr : 256 : offset(2528), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_4", match_err));;
+let parser_5 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), littleendian;
+ net_device_dev_list'prev : zero+32 : offset(416), littleendian;
+ net_device_dev_addr : 256 : offset(2784), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_5", match_err));;
+let parser_6 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+64 : offset(576), littleendian;
+ net_device_dev_addr : 256 : offset(3392), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_6", match_err));;
+let parser_7 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+64 : offset(576), littleendian;
+ net_device_dev_list'prev : zero+64 : offset(640), littleendian;
+ net_device_dev_addr : 256 : offset(4416), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 72L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 80L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_7", match_err));;
+let parser_8 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+64 : offset(576), littleendian;
+ net_device_dev_list'prev : zero+64 : offset(640), littleendian;
+ net_device_dev_addr : 256 : offset(4288), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 72L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 80L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_8", match_err));;
+let parser_9 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+32 : offset(384), bigendian;
+ net_device_dev_addr : 256 : offset(1728), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_9", match_err));;
+let parser_10 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+64 : offset(576), bigendian;
+ net_device_dev_addr : 256 : offset(3392), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_10", match_err));;
+let parser_11 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+32 : offset(384), bigendian;
+ net_device_dev_addr : 256 : offset(1696), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_11", match_err));;
+let parser_12 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), bigendian;
+ net_device_dev_list'prev : zero+32 : offset(416), bigendian;
+ net_device_dev_addr : 256 : offset(2496), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_12", match_err));;
+let parser_13 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+64 : offset(576), bigendian;
+ net_device_dev_list'prev : zero+64 : offset(640), bigendian;
+ net_device_dev_addr : 256 : offset(4416), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 72L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 80L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_13", match_err));;
+let parser_14 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), bigendian;
+ net_device_dev_list'prev : zero+32 : offset(416), bigendian;
+ net_device_dev_addr : 256 : offset(2592), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_14", match_err));;
+let parser_15 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), bigendian;
+ net_device_dev_list'prev : zero+32 : offset(416), bigendian;
+ net_device_dev_addr : 256 : offset(2528), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_15", match_err));;
+let parser_16 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+64 : offset(576), bigendian;
+ net_device_dev_list'prev : zero+64 : offset(640), bigendian;
+ net_device_dev_addr : 256 : offset(4288), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 72L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 80L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_16", match_err));;
+let parser_17 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), bigendian;
+ net_device_dev_list'prev : zero+32 : offset(416), bigendian;
+ net_device_dev_addr : 256 : offset(2560), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_17", match_err));;
+let parser_18 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), bigendian;
+ net_device_dev_list'prev : zero+32 : offset(416), bigendian;
+ net_device_dev_addr : 256 : offset(2656), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_18", match_err));;
+let parser_19 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+64 : offset(576), bigendian;
+ net_device_dev_list'prev : zero+64 : offset(640), bigendian;
+ net_device_dev_addr : 256 : offset(4672), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 72L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 80L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_19", match_err));;
+let parser_20 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+64 : offset(576), littleendian;
+ net_device_dev_list'prev : zero+64 : offset(640), littleendian;
+ net_device_dev_addr : 256 : offset(4672), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 72L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 80L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_20", match_err));;
+let parser_21 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+32 : offset(384), littleendian;
+ net_device_dev_addr : 256 : offset(1728), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_21", match_err));;
+let parser_22 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+64 : offset(576), littleendian;
+ net_device_dev_addr : 256 : offset(2688), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_22", match_err));;
+let parser_23 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+32 : offset(384), littleendian;
+ net_device_dev_addr : 256 : offset(1696), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_23", match_err));;
+let parser_24 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_next : zero+64 : offset(576), littleendian;
+ net_device_dev_addr : 256 : offset(2624), string } ->
+ { net_device_name = net_device_name;
+ net_device_next = Some net_device_next;
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_dev_list'prev = None;
+ net_device_dev_list'next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_24", match_err));;
+let parser_25 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_list'next : zero+32 : offset(384), bigendian;
+ net_device_dev_list'prev : zero+32 : offset(416), bigendian;
+ net_device_dev_addr : 256 : offset(2752), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_list'next = Some (Int64.sub net_device_dev_list'next 48L);
+ net_device_dev_list'prev = Some (Int64.sub net_device_dev_list'prev 52L);
+ net_device_dev_addr = net_device_dev_addr;
+ net_device_next = None }
+ | { _ } ->
+ raise (Virt_mem_types.ParseError (struct_name, "parser_25", match_err));;