Copyright (c) 2003 Bruce M Simpson <email@example.com> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documenta...
NAMEvm_map_protect - apply protection bits to a virtual memory region
SYNOPSISIn sys/param.h In vm/vm.h In vm/vm_map.h Ft int Fo vm_map_protect Fa vm_map_t map vm_offset_t start vm_offset_t end vm_prot_t new_prot Fa boolean_t set_max Fc
DESCRIPTIONThe Fn vm_map_protect function sets the protection bits of the address region bounded by Fa start and Fa end within the map Fa map to Fa new_prot .
If Fa set_max is TRUE, Fa new_prot is treated as the new max_protection setting for each underlying entry. Otherwise, only the protection field is affected.
The range MUST be contiguous, and MUST NOT contain sub-maps.
IMPLEMENTATION NOTESThe function acquires a lock on the Fa map for the duration, by calling vm_map_lock9.
RETURN VALUESThe Fn vm_map_protect function returns KERN_SUCCESS if the protection bits could be set successfully.
If a sub-map entry was encountered in the range, KERN_INVALID_ARGUMENT is returned. If the value of Fa new_prot would exceed max_protection for an entry within the range, KERN_PROTECTION_FAILURE is returned.