void fluke_mapping_set_state(fluke_mapping_t *mapping, fluke_mapping_state *state, fluke_ref_t *region_ref, fluke_ref_t *task_ref);
This operation sets the state of a mapping object.
- mapping
- The mapping whose state is to be set.
- state
- If non-null, a pointer to a structure containing the simple (non-reference) state of the mapping.
- region_ref
- If non-null, the address of a region reference object to be copied into the mapping's region reference slot.
- task_ref
- If non-null, the address of a task reference object to be copied into the mapping's task reference slot.
If any of the following errors is detected by the Fluke implementation, it causes the current thread to take a synchronous exception with one of the following codes. All of these have an implicit FLUKE_INSANITY_ prefix.
- NO_OBJECT
- mapping or task_ref does not point to an object.
- NOT_MAPPING
- The object pointed to by mapping is not a mapping object.
- NOT_REF
- The object at task_ref or region_ref is not a reference object.
- NOT_REGION_REF
- The object at region_ref is a reference object, but not a reference to a region.
- NOT_TASK_REF
- The object at task_ref is a reference object, but not a reference to a task.
- INVALID_OBJECT
- The state of the mapping object or one of the reference objects has become invalid.
- INVALID_ADDRESS
- The address range specified in the fluke_mapping_state structure does not fall within the allowable task address space.
- NOT_ALIGNED
- The start or size fields of the fluke_mapping_state structure are not aligned as required by the implementation.
- ADDRESS_OVERLAP
- The address range specified in the fluke_mapping_state structure overlaps with the address range of an existing mapping.
fluke_mapping_get_state