X-Git-Url: http://git.annexia.org/?p=virt-mem.git;a=blobdiff_plain;f=lib%2Fkernel_net_device.ml;h=917a120c7f7916089f843c51d32189e7750bb955;hp=7d258f9121f31bcabc10c8bdb0cd82482bbc01de;hb=6029405541d12dedfce7998deefa0e6b0d04f3d5;hpb=727fe72a983a94decbd6e99d8c7c85c34f0171da diff --git a/lib/kernel_net_device.ml b/lib/kernel_net_device.ml index 7d258f9..917a120 100644 --- a/lib/kernel_net_device.ml +++ b/lib/kernel_net_device.ml @@ -2,91 +2,91 @@ let warning = "This code is automatically generated from the kernel database by kerneldb-to-parser program. Any edits you make will be lost.";; let zero = 0;; exception ParseError of string * string * string;; -type t = { dev_addr : string; name : string };; +type t = { net_device_dev_addr : string; net_device_name : string };; let parser_1 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(2240), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_1", "failed to match kernel structure"));; let parser_2 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(2496), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_2", "failed to match kernel structure"));; let parser_3 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(2688), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_3", "failed to match kernel structure"));; let parser_4 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(4416), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_4", "failed to match kernel structure"));; let parser_5 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(3392), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_5", "failed to match kernel structure"));; let parser_6 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(4416), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_6", "failed to match kernel structure"));; let parser_7 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(3264), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_7", "failed to match kernel structure"));; let parser_8 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(4288), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_8", "failed to match kernel structure"));; let parser_9 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(1728), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_9", "failed to match kernel structure"));; let parser_10 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(1728), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_10", "failed to match kernel structure"));; let parser_11 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(2528), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_11", "failed to match kernel structure"));; let parser_12 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(3392), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_12", "failed to match kernel structure"));; let parser_13 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(2528), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_13", "failed to match kernel structure"));; let parser_14 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(4288), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_14", "failed to match kernel structure"));; let parser_15 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(1696), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_15", "failed to match kernel structure"));; let parser_16 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(2624), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_16", "failed to match kernel structure"));; let parser_17 bits = bitmatch bits with - | { name : 128 : offset(0), string; - dev_addr : 256 : offset(1696), string } -> { name = name; - dev_addr = dev_addr } + | { 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 ("net_device", "parser_17", "failed to match kernel structure"));; module StringMap = Map.Make(String);; let map = StringMap.empty;; @@ -196,6 +196,8 @@ let v = (parser_5, 1260);; let map = StringMap.add "2.6.20-1.2933.fc6.ppc64" v map;; let v = (parser_2, 1116);; let map = StringMap.add "2.6.22-0.23.rc7.git6.fc8.ppc" v map;; +let v = (parser_13, 1048);; +let map = StringMap.add "2.6.24-7.fc9.ppc" v map;; let v = (parser_2, 1092);; let map = StringMap.add "2.6.21-1.3209.fc8.ppc" v map;; let v = (parser_12, 1260);; @@ -286,13 +288,15 @@ let v = (parser_1, 924);; let map = StringMap.add "2.6.20-1.2933.fc6.i686" v map;; let v = (parser_6, 2044);; let map = StringMap.add "2.6.21-1.3209.fc8.ppc64" v map;; +let v = (parser_1, 1284);; +let map = StringMap.add "2.6.21-1.3132.fc7.i686" v map;; type kernel_version = string;; -let known version = StringMap.mem version map;; -let size version = let (_, size) = StringMap.find version map in size;; -let of_bits version bits = +let net_device_known version = StringMap.mem version map;; +let net_device_size version = + let (_, size) = StringMap.find version map in size;; +let net_device_of_bits version bits = let (parsefn, _) = StringMap.find version map in parsefn bits;; -let get version mem addr = +let get_net_device version mem addr = let (parsefn, size) = StringMap.find version map in - let addr = Virt_mem_mmap.unsafe_addr_of_typed_addr addr in let bytes = Virt_mem_mmap.get_bytes mem addr size in let bits = Bitstring.bitstring_of_string bytes in parsefn bits;;