Extracted kernel structures for device addressing in ifconfig.
[virt-mem.git] / lib / virt_mem_mmap.mli
index 50650b4..0294efd 100644 (file)
@@ -87,8 +87,14 @@ type ('ws,'e,'hm) t
     initializing certain parts of the memory map.  If you are not
     familiar with phantom types, you can just ignore them.
 
-    See also:
-    [http://camltastic.blogspot.com/2008/05/phantom-types.html] *)
+    See also
+    {{:http://camltastic.blogspot.com/2008/05/phantom-types.html}this
+    posting about the phantom types used in virt-mem}.
+
+    The memory map structure is an example of a
+    {{:http://en.wikipedia.org/wiki/Purely_functional}persistent
+    data structure}.
+*)
 
 type addr = int64
 (** Virtual memory addresses (even on 32 bit machines). *)
@@ -215,9 +221,13 @@ val is_C_identifier : ('ws, 'e, [`HasMapping]) t -> addr -> bool
 (** Return true or false if the address contains a NUL-terminated
     C identifier. *)
 
-val is_mapped : ('ws, 'e, [`HasMapping]) t -> addr -> bool
+val is_mapped : ('ws, 'e, 'hm) t -> addr -> bool
 (** Return true if the single address [addr] is mapped. *)
 
+val is_mapped_range : ('ws, 'e, 'hm) t -> addr -> int -> bool
+(** Return true if all addresses in the range [addr] to [addr+size-1]
+    are mapped. *)
+
 val follow_pointer : ([`Wordsize], [`Endian], [`HasMapping]) t -> addr -> addr
 (** Follow (dereference) the pointer at [addr] and return
     the address pointed to. *)