+let zero = 0;;
+let struct_name = "net_device";;
+let match_err = "failed to match kernel structure";;
+exception ParseError of string * string * string;;
+type t = { net_device_dev_addr : string; net_device_name : string };;
+let parser_1 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2240), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_1", match_err));;
+let parser_2 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(3264), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_2", match_err));;
+let parser_3 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2528), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_3", match_err));;
+let parser_4 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(3392), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_4", match_err));;
+let parser_5 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(4416), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_5", match_err));;
+let parser_6 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(1728), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_6", match_err));;
+let parser_7 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(3392), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_7", match_err));;
+let parser_8 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(1696), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_8", match_err));;
+let parser_9 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2496), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_9", match_err));;
+let parser_10 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(4416), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_10", match_err));;
+let parser_11 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2592), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_11", match_err));;
+let parser_12 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2528), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_12", match_err));;
+let parser_13 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(4288), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_13", match_err));;
+let parser_14 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(4288), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_14", match_err));;
+let parser_15 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(1728), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_15", match_err));;
+let parser_16 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2688), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_16", match_err));;
+let parser_17 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(1696), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_17", match_err));;
+let parser_18 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2624), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_18", match_err));;
+let parser_19 bits =
+ bitmatch bits with
+ | { net_device_name : 128 : offset(0), string;
+ net_device_dev_addr : 256 : offset(2752), string } ->
+ { net_device_name = net_device_name;
+ net_device_dev_addr = net_device_dev_addr }
+ | { _ } ->
+ raise (ParseError (struct_name, "parser_19", match_err));;