@@ -11,8 +11,12 @@ * `kmfree(kmptr) → void` - free, downref, or ignore the pasted object as appropriate * `kmshred(kmptr) → void` - free, downref, or ignore the pasted object as appropriate. if deallocating, zero its contents * `kmstat(void*) → kmptr` - convenience function to wrap a pointer to a non-managed object in a `kmptr` struct, so it can be passed to functions that accept arbitrary objects. `kmptr p = kmstat(raw)` is equivalent to `kmptr p = { kmkind_none, raw, NULL }`. * `kmtaint(&kmptr) → void` - "taints" a `kmptr` object by setting it to be shredded when freed. this may be desirable if the object pointed to contains privileged information. + * `kmzero(void*,sz) → void` - zeroes a region of memory + * `kmozero(kmptr) → void` - zeroes an object in memory + * `kmcopy(void* dest, void* src, sz) → void` - copies one region of memory to another + * `kmdup(kmptr) → kmptr` - duplicates an object in memory, allocating it as sibling of the original ## types kmem defines the following types: