Fix kernel_size on 32 bit architectures.
[virt-mem.git] / lib / virt_mem_mmap.mli
index 68c7b2f..0ed9176 100644 (file)
@@ -52,6 +52,13 @@ val add_file : ('a, 'b) t -> Unix.file_descr -> addr -> ('a, 'b) t
 (** Add file [fd] at address [addr] to an existing memory map.
     Behaviour is undefined if memory mappings overlap. *)
 
+val of_string : string -> addr -> ([`NoWordsize], [`NoEndian]) t
+(** Create a new memory map, mapping string at address [addr]. *)
+
+val add_string : ('a, 'b) t -> string -> addr -> ('a, 'b) t
+(** Add string at address [addr] to an existing memory map.
+    Behaviour is undefined if memory mappings overlap. *)
+
 val find : ('a, 'b) t -> ?start:addr -> string -> addr option
 (** Find string in a memory map and return its address (if found).
     You can pass an optional starting address.  Any holes in
@@ -87,6 +94,18 @@ val get_bytes : ('a, 'b) t -> addr -> int -> string
     This may raise [Invalid_argument "get_bytes"] if the address range
     is not fully mapped. *)
 
+val get_int32 : ('a, [`Endian]) t -> addr -> int32
+(** Return the 32-bit int at [addr]. *)
+
+val get_int64 : ('a, [`Endian]) t -> addr -> int64
+(** Return the 64-bit int at [addr]. *)
+
+val get_C_int : ([`Wordsize], [`Endian]) t -> addr -> int32
+(** Return the C 32-bit int at [addr]. *)
+
+val get_C_long : ([`Wordsize], [`Endian]) t -> addr -> int64
+(** Return the C 32 or 64-bit long at [addr]. *)
+
 val get_string : ('a, 'b) t -> addr -> string
 (** Return the sequence of bytes starting at [addr] up to (but not
     including) the first ASCII NUL character.  In other words, this