From 5fb8ec9a1dd22b8ea3d16f2f9847ed7234f8e560 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 1 Jan 1970 00:00:00 +0000 Subject: [PATCH] Stupid bug - extract the content fields correctly. --- extract/codegen/code_generation.ml | 16 +-- lib/kernel.ml | 203 +++++++++++++++++++++++-------------- 2 files changed, 135 insertions(+), 84 deletions(-) diff --git a/extract/codegen/code_generation.ml b/extract/codegen/code_generation.ml index b462af2..eaec4c8 100644 --- a/extract/codegen/code_generation.ml +++ b/extract/codegen/code_generation.ml @@ -346,25 +346,29 @@ let generate_parsers xs = ) sf.SC.sf_fields in let shape_assignments = - String.concat ";\n " shape_assignments in + if shape_assignments = [] then "()" + else + "{ " ^ String.concat ";\n " shape_assignments ^ " }" in let content_assignments = List.map ( fun { PP.field_name = field_name } -> - sprintf "%s_%s = %s" sf.SC.sf_name field_name field_name - ) sf.SC.sf_fields in + sprintf "%s_%s = %s" cf.SC.cf_name field_name field_name + ) cf.SC.cf_fields in let content_assignments = - String.concat ";\n " content_assignments in + if content_assignments = [] then "()" + else + "{ " ^ String.concat ";\n " content_assignments ^ " }" in let code = sprintf " bitmatch bits with | { %s } -> let shape = - { %s } in + %s in let content = - { %s } in + %s in { %s_shape = shape; %s_content = content } | { _ } -> raise (Virt_mem_types.ParseError (%S, %S, match_err))" diff --git a/lib/kernel.ml b/lib/kernel.ml index 8a7b132..4ce4b55 100644 --- a/lib/kernel.ml +++ b/lib/kernel.ml @@ -113,10 +113,12 @@ let task_struct_parser_4 kernel_version bits = 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_4", match_err));; @@ -138,10 +140,12 @@ let task_struct_parser_5 kernel_version bits = 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_5", match_err));; @@ -163,10 +167,12 @@ let task_struct_parser_6 kernel_version bits = 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_6", match_err));; @@ -188,10 +194,12 @@ let task_struct_parser_7 kernel_version bits = 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_7", match_err));; @@ -213,10 +221,12 @@ let task_struct_parser_8 kernel_version bits = 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_8", match_err));; @@ -234,8 +244,12 @@ let task_struct_parser_9 kernel_version bits = { 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_9", match_err));; @@ -253,8 +267,12 @@ let task_struct_parser_10 kernel_version bits = { 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_10", match_err));; @@ -272,8 +290,12 @@ let task_struct_parser_11 kernel_version bits = { 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_content_fields_3_comm = comm; + task_struct_content_fields_3_normal_prio = normal_prio; + task_struct_content_fields_3_pid = pid; + task_struct_content_fields_3_prio = prio; + task_struct_content_fields_3_state = state; + task_struct_content_fields_3_static_prio = static_prio } in { task_struct_shape = shape; task_struct_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("task_struct", "task_struct_parser_11", match_err));; @@ -293,9 +315,12 @@ let net_device_parser_15 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_15", match_err));; @@ -315,9 +340,12 @@ let net_device_parser_16 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_16", match_err));; @@ -337,9 +365,12 @@ let net_device_parser_17 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_17", match_err));; @@ -361,10 +392,12 @@ let net_device_parser_18 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_18", match_err));; @@ -386,10 +419,12 @@ let net_device_parser_19 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_19", match_err));; @@ -411,10 +446,12 @@ let net_device_parser_20 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_20", match_err));; @@ -436,10 +473,12 @@ let net_device_parser_21 kernel_version bits = 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_content_fields_14_addr_len = addr_len; + net_device_content_fields_14_flags = flags; + net_device_content_fields_14_mtu = mtu; + net_device_content_fields_14_name = name; + net_device_content_fields_14_operstate = operstate; + net_device_content_fields_14_perm_addr = perm_addr } in { net_device_shape = shape; net_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net_device", "net_device_parser_21", match_err));; @@ -459,8 +498,7 @@ let net_parser_24 kernel_version bits = Int64.sub dev_base_head'prev offset ) } 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 + () in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_24", match_err));; @@ -480,8 +518,7 @@ let net_parser_25 kernel_version bits = Int64.sub dev_base_head'prev offset ) } 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 + () in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_25", match_err));; @@ -501,8 +538,7 @@ let net_parser_26 kernel_version bits = Int64.sub dev_base_head'prev offset ) } 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 + () in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_26", match_err));; @@ -522,8 +558,7 @@ let net_parser_27 kernel_version bits = Int64.sub dev_base_head'prev offset ) } 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 + () in { net_shape = shape; net_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("net", "net_parser_27", match_err));; @@ -533,7 +568,7 @@ let in_device_parser_30 kernel_version bits = 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 { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_30", match_err));; @@ -543,7 +578,7 @@ let in_device_parser_33 kernel_version bits = 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 { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_33", match_err));; @@ -553,7 +588,7 @@ let in_device_parser_32 kernel_version bits = 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 { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_32", match_err));; @@ -563,7 +598,7 @@ let in_device_parser_31 kernel_version bits = 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 { in_device_shape = shape; in_device_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_device", "in_device_parser_31", match_err));; @@ -573,7 +608,7 @@ let inet6_dev_parser_36 kernel_version bits = let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = - { inet6_dev_shape_fields_34_addr_list = addr_list } in + () in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_36", match_err));; @@ -583,7 +618,7 @@ let inet6_dev_parser_39 kernel_version bits = let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = - { inet6_dev_shape_fields_34_addr_list = addr_list } in + () in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_39", match_err));; @@ -593,7 +628,7 @@ let inet6_dev_parser_38 kernel_version bits = let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = - { inet6_dev_shape_fields_34_addr_list = addr_list } in + () in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_38", match_err));; @@ -603,7 +638,7 @@ let inet6_dev_parser_37 kernel_version bits = let shape = { inet6_dev_shape_fields_34_addr_list = addr_list } in let content = - { inet6_dev_shape_fields_34_addr_list = addr_list } in + () in { inet6_dev_shape = shape; inet6_dev_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_dev", "inet6_dev_parser_37", match_err));; @@ -617,7 +652,10 @@ let in_ifaddr_parser_42 kernel_version bits = 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_content_fields_41_ifa_address = ifa_address; + in_ifaddr_content_fields_41_ifa_broadcast = ifa_broadcast; + in_ifaddr_content_fields_41_ifa_local = ifa_local; + in_ifaddr_content_fields_41_ifa_mask = ifa_mask } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_42", match_err));; @@ -631,7 +669,10 @@ let in_ifaddr_parser_45 kernel_version bits = 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_content_fields_41_ifa_address = ifa_address; + in_ifaddr_content_fields_41_ifa_broadcast = ifa_broadcast; + in_ifaddr_content_fields_41_ifa_local = ifa_local; + in_ifaddr_content_fields_41_ifa_mask = ifa_mask } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_45", match_err));; @@ -645,7 +686,10 @@ let in_ifaddr_parser_43 kernel_version bits = 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_content_fields_41_ifa_address = ifa_address; + in_ifaddr_content_fields_41_ifa_broadcast = ifa_broadcast; + in_ifaddr_content_fields_41_ifa_local = ifa_local; + in_ifaddr_content_fields_41_ifa_mask = ifa_mask } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_43", match_err));; @@ -659,7 +703,10 @@ let in_ifaddr_parser_44 kernel_version bits = 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_content_fields_41_ifa_address = ifa_address; + in_ifaddr_content_fields_41_ifa_broadcast = ifa_broadcast; + in_ifaddr_content_fields_41_ifa_local = ifa_local; + in_ifaddr_content_fields_41_ifa_mask = ifa_mask } in { in_ifaddr_shape = shape; in_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("in_ifaddr", "in_ifaddr_parser_44", match_err));; @@ -670,7 +717,7 @@ let inet6_ifaddr_parser_48 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_48", match_err));; @@ -681,7 +728,7 @@ let inet6_ifaddr_parser_50 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_50", match_err));; @@ -692,7 +739,7 @@ let inet6_ifaddr_parser_49 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_49", match_err));; @@ -703,7 +750,7 @@ let inet6_ifaddr_parser_51 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_51", match_err));; @@ -714,7 +761,7 @@ let inet6_ifaddr_parser_52 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_52", match_err));; @@ -725,7 +772,7 @@ let inet6_ifaddr_parser_53 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_53", match_err));; @@ -736,7 +783,7 @@ let inet6_ifaddr_parser_54 kernel_version bits = 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_content_fields_47_prefix_len = prefix_len } in { inet6_ifaddr_shape = shape; inet6_ifaddr_content = content } | { _ } -> raise (Virt_mem_types.ParseError ("inet6_ifaddr", "inet6_ifaddr_parser_54", match_err));; -- 1.8.3.1