## memory_object_data_unlock

Server Interface - Request that the memory manager change current access permission on the specified memory object's data.

### SYNOPSIS

    kern_return_t   memory_object_data_unlock
                    (memory_object_t                  memory_object,
                     memory_object_control_t         memory_control,
                     vm_offset_t                             offset,
                     vm_size_t                               length,
                     vm_prot_t                       desired_access);

    kern_return_t   seqnos_memory_object_data_unlock
                    (memory_object_t                  memory_object,
                     mach_port_seqno_t                        seqno,
                     memory_object_control_t         memory_control,
                     vm_offset_t                             offset,
                     vm_size_t                               length,
                     vm_prot_t                       desired_access);

### PARAMETERS

memory_object
  [in abstract-memory-object (receive) right] The abstract memory object port that represents the memory object data.

seqno
  [in scalar] The sequence number of this message relative to the abstract memory object port.

memory_control
  [in memory-cache-control send right] The memory cache control port to be used for a response by the memory manager. If the memory object has been supplied to more than one kernel, this parameter identifies the kernel that is making the call.

offset
  [in scalar] The offset within the memory object.

length
  [in scalar] The number of bytes to which the access applies, starting at offset. The number converts to an integral number of memory object pages.

desired_access
  [in scalar] The memory access modes requested for the cached data. Possible values are obtained by or'ing together the following values:

  VM_PROT_READ
    Allows read access.

  VM_PROT_WRITE
    Allows write access.

  VM_PROT_EXECUTE
    Allows execute access.

### DESCRIPTION

A memory_object_data_unlock function is called as the result of a kernel message requesting the memory manager to permit at least the desired access to the specified data cached by the kernel. The memory manager is expected to use the memory_object_lock_request call in response.

### RETURN VALUES

Only generic errors apply.

### RELATED INFORMATION

Functions: memory_object_lock_completed, memory_object_lock_request, memory_object_server, seqnos_memory_object_server.