(* WARNING: This file and the corresponding mli (interface) are * automatically generated by the extract/codegen/ 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'. *) type ('a, 'b) task_struct = { task_struct_shape : 'a; task_struct_content : 'b };; type task_struct_shape_fields_2 = { task_struct_shape_fields_2_tasks'next : Virt_mem_mmap.addr; task_struct_shape_fields_2_tasks'prev : Virt_mem_mmap.addr };; type task_struct_shape_fields_1 = { task_struct_shape_fields_1_run_list'next : Virt_mem_mmap.addr; task_struct_shape_fields_1_run_list'prev : Virt_mem_mmap.addr; task_struct_shape_fields_1_tasks'next : Virt_mem_mmap.addr; task_struct_shape_fields_1_tasks'prev : Virt_mem_mmap.addr };; type task_struct_content_fields_3 = { task_struct_content_fields_3_comm : string; task_struct_content_fields_3_normal_prio : int64; task_struct_content_fields_3_pid : int64; task_struct_content_fields_3_prio : int64; task_struct_content_fields_3_state : int64; task_struct_content_fields_3_static_prio : int64 };; type ('a, 'b) net_device = { net_device_shape : 'a; net_device_content : 'b };; type net_device_shape_fields_12 = { net_device_shape_fields_12_ip6_ptr : Virt_mem_mmap.addr; net_device_shape_fields_12_ip_ptr : Virt_mem_mmap.addr; net_device_shape_fields_12_next : Virt_mem_mmap.addr };; type net_device_shape_fields_13 = { net_device_shape_fields_13_dev_list'next : Virt_mem_mmap.addr; net_device_shape_fields_13_dev_list'prev : Virt_mem_mmap.addr; net_device_shape_fields_13_ip6_ptr : Virt_mem_mmap.addr; net_device_shape_fields_13_ip_ptr : Virt_mem_mmap.addr };; type net_device_content_fields_14 = { net_device_content_fields_14_addr_len : int64; net_device_content_fields_14_flags : int64; net_device_content_fields_14_mtu : int64; net_device_content_fields_14_name : string; net_device_content_fields_14_operstate : int64; net_device_content_fields_14_perm_addr : string };; type ('a, 'b) net = { net_shape : 'a; net_content : 'b };; type net_shape_fields_22 = { net_shape_fields_22_dev_base_head'next : Virt_mem_mmap.addr; net_shape_fields_22_dev_base_head'prev : Virt_mem_mmap.addr };; type net_content_fields_23 = unit;; type ('a, 'b) in_device = { in_device_shape : 'a; in_device_content : 'b };; type in_device_shape_fields_28 = { in_device_shape_fields_28_ifa_list : Virt_mem_mmap.addr };; type in_device_content_fields_29 = unit;; type ('a, 'b) inet6_dev = { inet6_dev_shape : 'a; inet6_dev_content : 'b };; type inet6_dev_shape_fields_34 = { inet6_dev_shape_fields_34_addr_list : Virt_mem_mmap.addr };; type inet6_dev_content_fields_35 = unit;; type ('a, 'b) in_ifaddr = { in_ifaddr_shape : 'a; in_ifaddr_content : 'b };; type in_ifaddr_shape_fields_40 = { in_ifaddr_shape_fields_40_ifa_next : Virt_mem_mmap.addr };; type in_ifaddr_content_fields_41 = { in_ifaddr_content_fields_41_ifa_address : int64; in_ifaddr_content_fields_41_ifa_broadcast : int64; in_ifaddr_content_fields_41_ifa_local : int64; in_ifaddr_content_fields_41_ifa_mask : int64 };; type ('a, 'b) inet6_ifaddr = { inet6_ifaddr_shape : 'a; inet6_ifaddr_content : 'b };; type inet6_ifaddr_shape_fields_46 = { inet6_ifaddr_shape_fields_46_lst_next : Virt_mem_mmap.addr };; type inet6_ifaddr_content_fields_47 = { inet6_ifaddr_content_fields_47_prefix_len : int64 };; let match_err = "failed to match kernel structure";; let zero = 0;; let task_struct_parser_4 bits = bitmatch bits with | { state : zero+32 : offset(0), littleendian; prio : zero+32 : offset(192), littleendian; static_prio : zero+32 : offset(224), littleendian; normal_prio : zero+32 : offset(256), littleendian; run_list'next : zero+32 : offset(288), littleendian; run_list'prev : zero+32 : offset(320), littleendian; tasks'next : zero+32 : offset(992), littleendian; tasks'prev : zero+32 : offset(1024), littleendian; pid : zero+32 : offset(1344), littleendian; comm : 128 : offset(3232), string } -> let shape = { task_struct_shape_fields_1_run_list'next = Int64.sub run_list'next 36L; task_struct_shape_fields_1_run_list'prev = Int64.sub run_list'prev 40L; task_struct_shape_fields_1_tasks'next = Int64.sub tasks'next 124L; task_struct_shape_fields_1_tasks'prev = Int64.sub tasks'prev 128L } in let content = { task_struct_shape_fields_1_run_list'next = run_list'next; task_struct_shape_fields_1_run_list'prev = run_list'prev; task_struct_shape_fields_1_tasks'next = tasks'next; task_struct_shape_fields_1_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_4", match_err));; let task_struct_parser_5 bits = bitmatch bits with | { state : zero+64 : offset(0), bigendian; prio : zero+32 : offset(320), bigendian; static_prio : zero+32 : offset(352), bigendian; normal_prio : zero+32 : offset(384), bigendian; run_list'next : zero+64 : offset(448), bigendian; run_list'prev : zero+64 : offset(512), bigendian; tasks'next : zero+64 : offset(1600), bigendian; tasks'prev : zero+64 : offset(1664), bigendian; pid : zero+32 : offset(2208), bigendian; comm : 128 : offset(5440), string } -> let shape = { task_struct_shape_fields_1_run_list'next = Int64.sub run_list'next 36L; task_struct_shape_fields_1_run_list'prev = Int64.sub run_list'prev 40L; task_struct_shape_fields_1_tasks'next = Int64.sub tasks'next 124L; task_struct_shape_fields_1_tasks'prev = Int64.sub tasks'prev 128L } in let content = { task_struct_shape_fields_1_run_list'next = run_list'next; task_struct_shape_fields_1_run_list'prev = run_list'prev; task_struct_shape_fields_1_tasks'next = tasks'next; task_struct_shape_fields_1_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_5", match_err));; let task_struct_parser_6 bits = bitmatch bits with | { state : zero+64 : offset(0), littleendian; prio : zero+32 : offset(320), littleendian; static_prio : zero+32 : offset(352), littleendian; normal_prio : zero+32 : offset(384), littleendian; run_list'next : zero+64 : offset(448), littleendian; run_list'prev : zero+64 : offset(512), littleendian; tasks'next : zero+64 : offset(1536), littleendian; tasks'prev : zero+64 : offset(1600), littleendian; pid : zero+32 : offset(2144), littleendian; comm : 128 : offset(5440), string } -> let shape = { task_struct_shape_fields_1_run_list'next = Int64.sub run_list'next 36L; task_struct_shape_fields_1_run_list'prev = Int64.sub run_list'prev 40L; task_struct_shape_fields_1_tasks'next = Int64.sub tasks'next 124L; task_struct_shape_fields_1_tasks'prev = Int64.sub tasks'prev 128L } in let content = { task_struct_shape_fields_1_run_list'next = run_list'next; task_struct_shape_fields_1_run_list'prev = run_list'prev; task_struct_shape_fields_1_tasks'next = tasks'next; task_struct_shape_fields_1_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_6", match_err));; let task_struct_parser_7 bits = bitmatch bits with | { state : zero+32 : offset(0), bigendian; prio : zero+32 : offset(160), bigendian; static_prio : zero+32 : offset(192), bigendian; normal_prio : zero+32 : offset(224), bigendian; run_list'next : zero+32 : offset(256), bigendian; run_list'prev : zero+32 : offset(288), bigendian; tasks'next : zero+32 : offset(2176), bigendian; tasks'prev : zero+32 : offset(2208), bigendian; pid : zero+32 : offset(2528), bigendian; comm : 128 : offset(4416), string } -> let shape = { task_struct_shape_fields_1_run_list'next = Int64.sub run_list'next 36L; task_struct_shape_fields_1_run_list'prev = Int64.sub run_list'prev 40L; task_struct_shape_fields_1_tasks'next = Int64.sub tasks'next 124L; task_struct_shape_fields_1_tasks'prev = Int64.sub tasks'prev 128L } in let content = { task_struct_shape_fields_1_run_list'next = run_list'next; task_struct_shape_fields_1_run_list'prev = run_list'prev; task_struct_shape_fields_1_tasks'next = tasks'next; task_struct_shape_fields_1_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_7", match_err));; let task_struct_parser_8 bits = bitmatch bits with | { state : zero+64 : offset(0), bigendian; prio : zero+32 : offset(224), bigendian; static_prio : zero+32 : offset(256), bigendian; normal_prio : zero+32 : offset(288), bigendian; run_list'next : zero+64 : offset(320), bigendian; run_list'prev : zero+64 : offset(384), bigendian; tasks'next : zero+64 : offset(3648), bigendian; tasks'prev : zero+64 : offset(3712), bigendian; pid : zero+32 : offset(4160), bigendian; comm : 128 : offset(7752), string } -> let shape = { task_struct_shape_fields_1_run_list'next = Int64.sub run_list'next 36L; task_struct_shape_fields_1_run_list'prev = Int64.sub run_list'prev 40L; task_struct_shape_fields_1_tasks'next = Int64.sub tasks'next 124L; task_struct_shape_fields_1_tasks'prev = Int64.sub tasks'prev 128L } in let content = { task_struct_shape_fields_1_run_list'next = run_list'next; task_struct_shape_fields_1_run_list'prev = run_list'prev; task_struct_shape_fields_1_tasks'next = tasks'next; task_struct_shape_fields_1_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_8", match_err));; let task_struct_parser_9 bits = bitmatch bits with | { state : zero+64 : offset(0), littleendian; prio : zero+32 : offset(224), littleendian; static_prio : zero+32 : offset(256), littleendian; normal_prio : zero+32 : offset(288), littleendian; tasks'next : zero+64 : offset(3840), littleendian; tasks'prev : zero+64 : offset(3904), littleendian; pid : zero+32 : offset(4352), littleendian; comm : 128 : offset(8392), string } -> let shape = { task_struct_shape_fields_2_tasks'next = Int64.sub tasks'next 480L; task_struct_shape_fields_2_tasks'prev = Int64.sub tasks'prev 488L } in let content = { task_struct_shape_fields_2_tasks'next = tasks'next; task_struct_shape_fields_2_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_9", match_err));; let task_struct_parser_10 bits = bitmatch bits with | { state : zero+64 : offset(0), bigendian; prio : zero+32 : offset(256), bigendian; static_prio : zero+32 : offset(288), bigendian; normal_prio : zero+32 : offset(320), bigendian; tasks'next : zero+64 : offset(4096), bigendian; tasks'prev : zero+64 : offset(4160), bigendian; pid : zero+32 : offset(4608), bigendian; comm : 128 : offset(8712), string } -> let shape = { task_struct_shape_fields_2_tasks'next = Int64.sub tasks'next 480L; task_struct_shape_fields_2_tasks'prev = Int64.sub tasks'prev 488L } in let content = { task_struct_shape_fields_2_tasks'next = tasks'next; task_struct_shape_fields_2_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_10", match_err));; let task_struct_parser_11 bits = bitmatch bits with | { state : zero+32 : offset(0), bigendian; prio : zero+32 : offset(192), bigendian; static_prio : zero+32 : offset(224), bigendian; normal_prio : zero+32 : offset(256), bigendian; tasks'next : zero+32 : offset(3712), bigendian; tasks'prev : zero+32 : offset(3744), bigendian; pid : zero+32 : offset(4064), bigendian; comm : 128 : offset(6464), string } -> let shape = { task_struct_shape_fields_2_tasks'next = Int64.sub tasks'next 480L; task_struct_shape_fields_2_tasks'prev = Int64.sub tasks'prev 488L } in let content = { task_struct_shape_fields_2_tasks'next = tasks'next; task_struct_shape_fields_2_tasks'prev = tasks'prev } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_11", match_err));; let net_device_parser_15 bits = bitmatch bits with | { name : 128 : offset(0), string; next : zero+32 : offset(384), littleendian; flags : zero+32 : offset(704), littleendian; operstate : zero+8 : offset(784), littleendian; mtu : zero+32 : offset(800), littleendian; perm_addr : 256 : offset(896), string; addr_len : zero+8 : offset(1152), littleendian; ip_ptr : zero+32 : offset(1344), littleendian; ip6_ptr : zero+32 : offset(1408), littleendian } -> let shape = { net_device_shape_fields_12_ip6_ptr = ip6_ptr; net_device_shape_fields_12_ip_ptr = ip_ptr; net_device_shape_fields_12_next = next } in let content = { net_device_shape_fields_12_ip6_ptr = ip6_ptr; net_device_shape_fields_12_ip_ptr = ip_ptr; net_device_shape_fields_12_next = next } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_15", match_err));; let net_device_parser_16 bits = bitmatch bits with | { name : 128 : offset(0), string; next : zero+64 : offset(576), bigendian; flags : zero+32 : offset(1152), bigendian; operstate : zero+8 : offset(1232), bigendian; mtu : zero+32 : offset(1248), bigendian; perm_addr : 256 : offset(1408), string; addr_len : zero+8 : offset(1664), bigendian; ip_ptr : zero+64 : offset(1984), bigendian; ip6_ptr : zero+64 : offset(2112), bigendian } -> let shape = { net_device_shape_fields_12_ip6_ptr = ip6_ptr; net_device_shape_fields_12_ip_ptr = ip_ptr; net_device_shape_fields_12_next = next } in let content = { net_device_shape_fields_12_ip6_ptr = ip6_ptr; net_device_shape_fields_12_ip_ptr = ip_ptr; net_device_shape_fields_12_next = next } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_16", match_err));; let net_device_parser_17 bits = bitmatch bits with | { name : 128 : offset(0), string; next : zero+64 : offset(576), littleendian; flags : zero+32 : offset(1152), littleendian; operstate : zero+8 : offset(1232), littleendian; mtu : zero+32 : offset(1248), littleendian; perm_addr : 256 : offset(1408), string; addr_len : zero+8 : offset(1664), littleendian; ip_ptr : zero+64 : offset(1984), littleendian; ip6_ptr : zero+64 : offset(2112), littleendian } -> let shape = { net_device_shape_fields_12_ip6_ptr = ip6_ptr; net_device_shape_fields_12_ip_ptr = ip_ptr; net_device_shape_fields_12_next = next } in let content = { net_device_shape_fields_12_ip6_ptr = ip6_ptr; net_device_shape_fields_12_ip_ptr = ip_ptr; net_device_shape_fields_12_next = next } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_17", match_err));; let net_device_parser_18 bits = bitmatch bits with | { name : 128 : offset(0), string; dev_list'next : zero+32 : offset(384), bigendian; dev_list'prev : zero+32 : offset(416), bigendian; flags : zero+32 : offset(1472), bigendian; operstate : zero+8 : offset(1552), bigendian; mtu : zero+32 : offset(1568), bigendian; perm_addr : 256 : offset(1664), string; addr_len : zero+8 : offset(1920), bigendian; ip_ptr : zero+32 : offset(2112), bigendian; ip6_ptr : zero+32 : offset(2176), bigendian } -> let shape = { net_device_shape_fields_13_dev_list'next = Int64.sub dev_list'next 48L; net_device_shape_fields_13_dev_list'prev = Int64.sub dev_list'prev 52L; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in let content = { net_device_shape_fields_13_dev_list'next = dev_list'next; net_device_shape_fields_13_dev_list'prev = dev_list'prev; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_18", match_err));; let net_device_parser_19 bits = bitmatch bits with | { name : 128 : offset(0), string; dev_list'next : zero+64 : offset(576), bigendian; dev_list'prev : zero+64 : offset(640), bigendian; flags : zero+32 : offset(2880), bigendian; operstate : zero+8 : offset(2960), bigendian; mtu : zero+32 : offset(2976), bigendian; perm_addr : 256 : offset(3136), string; addr_len : zero+8 : offset(3392), bigendian; ip_ptr : zero+64 : offset(3840), bigendian; ip6_ptr : zero+64 : offset(3968), bigendian } -> let shape = { net_device_shape_fields_13_dev_list'next = Int64.sub dev_list'next 48L; net_device_shape_fields_13_dev_list'prev = Int64.sub dev_list'prev 52L; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in let content = { net_device_shape_fields_13_dev_list'next = dev_list'next; net_device_shape_fields_13_dev_list'prev = dev_list'prev; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_19", match_err));; let net_device_parser_20 bits = bitmatch bits with | { name : 128 : offset(0), string; dev_list'next : zero+64 : offset(576), littleendian; dev_list'prev : zero+64 : offset(640), littleendian; flags : zero+32 : offset(2880), littleendian; operstate : zero+8 : offset(2960), littleendian; mtu : zero+32 : offset(2976), littleendian; perm_addr : 256 : offset(3136), string; addr_len : zero+8 : offset(3392), littleendian; ip_ptr : zero+64 : offset(3840), littleendian; ip6_ptr : zero+64 : offset(3968), littleendian } -> let shape = { net_device_shape_fields_13_dev_list'next = Int64.sub dev_list'next 48L; net_device_shape_fields_13_dev_list'prev = Int64.sub dev_list'prev 52L; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in let content = { net_device_shape_fields_13_dev_list'next = dev_list'next; net_device_shape_fields_13_dev_list'prev = dev_list'prev; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_20", match_err));; let net_device_parser_21 bits = bitmatch bits with | { name : 128 : offset(0), string; dev_list'next : zero+32 : offset(384), bigendian; dev_list'prev : zero+32 : offset(416), bigendian; flags : zero+32 : offset(1536), bigendian; operstate : zero+8 : offset(1616), bigendian; mtu : zero+32 : offset(1632), bigendian; perm_addr : 256 : offset(1760), string; addr_len : zero+8 : offset(2016), bigendian; ip_ptr : zero+32 : offset(2432), bigendian; ip6_ptr : zero+32 : offset(2496), bigendian } -> let shape = { net_device_shape_fields_13_dev_list'next = Int64.sub dev_list'next 48L; net_device_shape_fields_13_dev_list'prev = Int64.sub dev_list'prev 52L; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in let content = { net_device_shape_fields_13_dev_list'next = dev_list'next; net_device_shape_fields_13_dev_list'prev = dev_list'prev; net_device_shape_fields_13_ip6_ptr = ip6_ptr; net_device_shape_fields_13_ip_ptr = ip_ptr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_21", match_err));; let net_parser_24 bits = bitmatch bits with | { dev_base_head'next : zero+64 : offset(704), bigendian; dev_base_head'prev : zero+64 : offset(768), bigendian } -> let shape = { net_shape_fields_22_dev_base_head'next = Int64.sub dev_base_head'next 666L; net_shape_fields_22_dev_base_head'prev = Int64.sub dev_base_head'prev 666L } in let content = { net_shape_fields_22_dev_base_head'next = dev_base_head'next; net_shape_fields_22_dev_base_head'prev = dev_base_head'prev } in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_24", match_err));; let net_parser_25 bits = bitmatch bits with | { dev_base_head'next : zero+64 : offset(768), littleendian; dev_base_head'prev : zero+64 : offset(832), littleendian } -> let shape = { net_shape_fields_22_dev_base_head'next = Int64.sub dev_base_head'next 666L; net_shape_fields_22_dev_base_head'prev = Int64.sub dev_base_head'prev 666L } in let content = { net_shape_fields_22_dev_base_head'next = dev_base_head'next; net_shape_fields_22_dev_base_head'prev = dev_base_head'prev } in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_25", match_err));; let net_parser_26 bits = bitmatch bits with | { dev_base_head'next : zero+64 : offset(768), bigendian; dev_base_head'prev : zero+64 : offset(832), bigendian } -> let shape = { net_shape_fields_22_dev_base_head'next = Int64.sub dev_base_head'next 666L; net_shape_fields_22_dev_base_head'prev = Int64.sub dev_base_head'prev 666L } in let content = { net_shape_fields_22_dev_base_head'next = dev_base_head'next; net_shape_fields_22_dev_base_head'prev = dev_base_head'prev } in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_26", match_err));; let net_parser_27 bits = bitmatch bits with | { dev_base_head'next : zero+32 : offset(448), bigendian; dev_base_head'prev : zero+32 : offset(480), bigendian } -> let shape = { net_shape_fields_22_dev_base_head'next = Int64.sub dev_base_head'next 666L; net_shape_fields_22_dev_base_head'prev = Int64.sub dev_base_head'prev 666L } in let content = { net_shape_fields_22_dev_base_head'next = dev_base_head'next; net_shape_fields_22_dev_base_head'prev = dev_base_head'prev } in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_27", match_err));; let in_device_parser_30 bits = bitmatch bits with | { ifa_list : zero+32 : offset(96), littleendian } -> let shape = { in_device_shape_fields_28_ifa_list = ifa_list } in let content = { in_device_shape_fields_28_ifa_list = ifa_list } in { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_30", match_err));; let in_device_parser_33 bits = bitmatch bits with | { ifa_list : zero+32 : offset(96), bigendian } -> let shape = { in_device_shape_fields_28_ifa_list = ifa_list } in let content = { in_device_shape_fields_28_ifa_list = ifa_list } in { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_33", match_err));; let in_device_parser_32 bits = bitmatch bits with | { ifa_list : zero+64 : offset(128), littleendian } -> let shape = { in_device_shape_fields_28_ifa_list = ifa_list } in let content = { in_device_shape_fields_28_ifa_list = ifa_list } in { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_32", match_err));; let in_device_parser_31 bits = bitmatch bits with | { ifa_list : zero+64 : offset(128), bigendian } -> let shape = { in_device_shape_fields_28_ifa_list = ifa_list } in let content = { in_device_shape_fields_28_ifa_list = ifa_list } in { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_31", match_err));; let inet6_dev_parser_36 bits = bitmatch bits with | { addr_list : zero+32 : offset(32), littleendian } -> let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = { inet6_dev_shape_fields_34_addr_list = addr_list } in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_36", match_err));; let inet6_dev_parser_39 bits = bitmatch bits with | { addr_list : zero+32 : offset(32), bigendian } -> let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = { inet6_dev_shape_fields_34_addr_list = addr_list } in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_39", match_err));; let inet6_dev_parser_38 bits = bitmatch bits with | { addr_list : zero+64 : offset(64), littleendian } -> let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = { inet6_dev_shape_fields_34_addr_list = addr_list } in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_38", match_err));; let inet6_dev_parser_37 bits = bitmatch bits with | { addr_list : zero+64 : offset(64), bigendian } -> let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = { inet6_dev_shape_fields_34_addr_list = addr_list } in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_37", match_err));; let in_ifaddr_parser_42 bits = bitmatch bits with | { ifa_next : zero+32 : offset(0), littleendian; ifa_local : zero+32 : offset(128), littleendian; ifa_address : zero+32 : offset(160), littleendian; ifa_mask : zero+32 : offset(192), littleendian; ifa_broadcast : zero+32 : offset(224), littleendian } -> let shape = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in let content = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_42", match_err));; let in_ifaddr_parser_45 bits = bitmatch bits with | { ifa_next : zero+32 : offset(0), bigendian; ifa_local : zero+32 : offset(128), bigendian; ifa_address : zero+32 : offset(160), bigendian; ifa_mask : zero+32 : offset(192), bigendian; ifa_broadcast : zero+32 : offset(224), bigendian } -> let shape = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in let content = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_45", match_err));; let in_ifaddr_parser_43 bits = bitmatch bits with | { ifa_next : zero+64 : offset(0), bigendian; ifa_local : zero+32 : offset(256), bigendian; ifa_address : zero+32 : offset(288), bigendian; ifa_mask : zero+32 : offset(320), bigendian; ifa_broadcast : zero+32 : offset(352), bigendian } -> let shape = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in let content = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_43", match_err));; let in_ifaddr_parser_44 bits = bitmatch bits with | { ifa_next : zero+64 : offset(0), littleendian; ifa_local : zero+32 : offset(256), littleendian; ifa_address : zero+32 : offset(288), littleendian; ifa_mask : zero+32 : offset(320), littleendian; ifa_broadcast : zero+32 : offset(352), littleendian } -> let shape = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in let content = { in_ifaddr_shape_fields_40_ifa_next = ifa_next } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_44", match_err));; let inet6_ifaddr_parser_48 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), littleendian; lst_next : zero+32 : offset(1024), littleendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_48", match_err));; let inet6_ifaddr_parser_50 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), littleendian; lst_next : zero+64 : offset(1856), littleendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_50", match_err));; let inet6_ifaddr_parser_49 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), bigendian; lst_next : zero+64 : offset(1472), bigendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_49", match_err));; let inet6_ifaddr_parser_51 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), littleendian; lst_next : zero+64 : offset(1472), littleendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_51", match_err));; let inet6_ifaddr_parser_52 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), bigendian; lst_next : zero+32 : offset(928), bigendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_52", match_err));; let inet6_ifaddr_parser_53 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), littleendian; lst_next : zero+64 : offset(1280), littleendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_53", match_err));; let inet6_ifaddr_parser_54 bits = bitmatch bits with | { prefix_len : zero+32 : offset(128), bigendian; lst_next : zero+64 : offset(1280), bigendian } -> let shape = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in let content = { inet6_ifaddr_shape_fields_46_lst_next = lst_next } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_54", match_err));;