Next: 6 Ports
Up: 5 Mappings
Previous: 5.9 fluke_mapping_protect: change the
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
Next: 6 Ports
Up: 5 Mappings
Previous: 5.9 fluke_mapping_protect: change the
Utah Flux Research Group