1*0f4c859eSApple OSS Distributions<h2>vm_write</h2> 2*0f4c859eSApple OSS Distributions<hr> 3*0f4c859eSApple OSS Distributions<p> 4*0f4c859eSApple OSS Distributions<strong>Function</strong> - Write data to the specified address in the target task's address space. 5*0f4c859eSApple OSS Distributions<h3>SYNOPSIS</h3> 6*0f4c859eSApple OSS Distributions<pre> 7*0f4c859eSApple OSS Distributions<strong>kern_return_t vm_write</strong> 8*0f4c859eSApple OSS Distributions <strong>(vm_task_t</strong> <var>target_task</var>, 9*0f4c859eSApple OSS Distributions <strong>vm_address_t</strong> <var>address</var>, 10*0f4c859eSApple OSS Distributions <strong>pointer_t</strong> <var>data</var>, 11*0f4c859eSApple OSS Distributions <strong>mach_msg_type_number_t</strong> <var>data_count</var><strong>);</strong> 12*0f4c859eSApple OSS Distributions</pre> 13*0f4c859eSApple OSS Distributions<h3>PARAMETERS</h3> 14*0f4c859eSApple OSS Distributions<dl> 15*0f4c859eSApple OSS Distributions<p> 16*0f4c859eSApple OSS Distributions<dt> <var>target_task</var> 17*0f4c859eSApple OSS Distributions<dd> 18*0f4c859eSApple OSS Distributions[in task send right] 19*0f4c859eSApple OSS DistributionsThe port for the task whose memory is to be 20*0f4c859eSApple OSS Distributionswritten. 21*0f4c859eSApple OSS Distributions<p> 22*0f4c859eSApple OSS Distributions<dt> <var>address</var> 23*0f4c859eSApple OSS Distributions<dd> 24*0f4c859eSApple OSS Distributions[in scalar] 25*0f4c859eSApple OSS DistributionsThe address at which to start the write. 26*0f4c859eSApple OSS Distributions<p> 27*0f4c859eSApple OSS Distributions<dt> <var>data</var> 28*0f4c859eSApple OSS Distributions<dd> 29*0f4c859eSApple OSS Distributions[pointer to page aligned in array of bytes] 30*0f4c859eSApple OSS DistributionsAn array of data to be 31*0f4c859eSApple OSS Distributionswritten. 32*0f4c859eSApple OSS Distributions<p> 33*0f4c859eSApple OSS Distributions<dt> <var>data_count</var> 34*0f4c859eSApple OSS Distributions<dd> 35*0f4c859eSApple OSS Distributions[in scalar] 36*0f4c859eSApple OSS DistributionsThe number of bytes in the array. 37*0f4c859eSApple OSS Distributions</dl> 38*0f4c859eSApple OSS Distributions<h3>DESCRIPTION</h3> 39*0f4c859eSApple OSS Distributions<p> 40*0f4c859eSApple OSS DistributionsThe <strong>vm_write</strong> function writes an array of data to a 41*0f4c859eSApple OSS Distributionstask's virtual memory. It 42*0f4c859eSApple OSS Distributionsallows one task to write to another task's memory. 43*0f4c859eSApple OSS Distributions<p> 44*0f4c859eSApple OSS DistributionsThe result of <strong>vm_write</strong> is as if <var>target_task</var> had directly 45*0f4c859eSApple OSS Distributionswritten into the set of 46*0f4c859eSApple OSS Distributionspages. Hence, <var>target_task</var> must have write permission to the pages. 47*0f4c859eSApple OSS Distributions<h3>NOTES</h3> 48*0f4c859eSApple OSS Distributions<p> 49*0f4c859eSApple OSS DistributionsThis interface is machine word length specific because of the virtual address 50*0f4c859eSApple OSS Distributionsparameter. 51*0f4c859eSApple OSS Distributions<h3>RETURN VALUES</h3> 52*0f4c859eSApple OSS Distributions<dl> 53*0f4c859eSApple OSS Distributions<p> 54*0f4c859eSApple OSS Distributions<dt> <strong>KERN_PROTECTION_FAILURE</strong> 55*0f4c859eSApple OSS Distributions<dd> 56*0f4c859eSApple OSS DistributionsSpecified memory is valid, but does not permit writing. 57*0f4c859eSApple OSS Distributions<p> 58*0f4c859eSApple OSS Distributions<dt> <strong>KERN_INVALID_ADDRESS</strong> 59*0f4c859eSApple OSS Distributions<dd> 60*0f4c859eSApple OSS DistributionsThe address is illegal or specifies a non-allocated region. 61*0f4c859eSApple OSS Distributions</dl> 62*0f4c859eSApple OSS Distributions<h3>RELATED INFORMATION</h3> 63*0f4c859eSApple OSS Distributions<p> 64*0f4c859eSApple OSS DistributionsFunctions: 65*0f4c859eSApple OSS Distributions<a href="vm_copy.html"><strong>vm_copy</strong></a>, 66*0f4c859eSApple OSS Distributions<a href="vm_protect.html"><strong>vm_protect</strong></a>, 67*0f4c859eSApple OSS Distributions<a href="vm_read.html"><strong>vm_read</strong></a>, 68*0f4c859eSApple OSS Distributions<a href="host_page_size.html"><strong>host_page_size</strong></a>. 69