#include <mem/chMem.h>int vmCopy(KnCap *srcactorcap, VmAddr srcaddress, KnCap *dstactorcap, VmAddr dstaddress, VmSize size, VmFlags flags);
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
MEM_FLAT, MEM_PROTECTED, MEM_VIRTUAL
The vmCopy function copies data from a source actor address space to a target actor address space. The source data is specified by srcactorcap - the source actor capability, srcaddress - the data start address in the source actor address space and size - the data size. The target is described by dstactorcap - the target actor capability and dstaddress - the start address in the target actor address space.
If srcactorcap and/or dstactorcap is K_MYACTOR, the current actor is used. If srcactorcap and/or dstactorcap is K_SVACTOR, the supervisor address space is used.
The flags argument has to be zero and will be used for future interface extensions.
If successful K_OK is returned, otherwise a negative error code is returned.
Some of the arguments provided are outside the caller's address space.
An inconsistent actor capability.
tgtactorcap or srcactorcap does not specify a reachable actor.
Some or all of the addresses in the source or the target address range are invalid.
A remote transaction has failed during a remote vmCopy.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|