osfmk/man/MO_data_unavailable.html
Function - Instruct kernel to zero-fill pages as requested data does not exist.
**kern\_return\_t memory\_object\_data\_unavailable**** (memory\_object\_control\_t **memory\_control,** vm\_offset\_t **offset,** vm\_size\_t **size** );**
memory_control[in memory-cache-control send right] The memory cache control port to be used by the memory manager for cache management requests. This port is provided by the kernel in a memory_object_init or a memory_object_create call.
offset[in scalar] The offset within the memory object, in bytes.
size[in scalar] The number of bytes of data (starting at offset). The number must convert to an integral number of memory object pages.
The memory_object_data_unavailable function indicates that the memory manager cannot provide the kernel with the data requested for the given region. Instead, the kernel should provide the data for this region.
A memory manager can use this call in any of the following situations:
When the object was created by the kernel (via memory_object_create ) and the kernel has not yet provided data for the region (via either memory_object_data_initialize or memory_object_data_return ). In this case, the object is a temporary memory object; the memory manager is the default memory manager; and the kernel should provide zero-filled pages for the object.
When the object is a normal user-created memory object. In this case, the kernel should provide zero-filled pages for the region.
Only generic errors apply.
Functions: memory_object_create, memory_object_data_error, memory_object_data_request, memory_object_data_supply.