next up previous contents
Next: 5 Mappings Up: 4 Regions Previous: 4.11 fluke_region_search: search for

4.12 fluke_region_set_state: set the current state of a region object

SYNOPSIS

void fluke_region_set_state(fluke_region_t *region, fluke_region_state *state, fluke_ref_t *task_ref, fluke_ref_t *keeper_ref);

DESCRIPTION

This operation sets the state of a region object.

PARAMETERS

region
The region whose state is to be set.
state
If non-null, a pointer to a structure containing the simple (non-reference) state of the region.
task_ref
If non-null, the address of a task reference object to be copied into the region's task reference slot.
keeper_ref
If non-null, the address of a port reference object to be copied into the region's keeper port reference slot.

ERRORS

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
region, task_ref or keeper_ref does not point to an object.
NOT_REGION
The object pointed to by region is not a region object.
NOT_REF
The object at task_ref or keeper_ref is not a reference object.
NOT_TASK_REF
The object at task_ref is a reference object, but not a reference to a task.
NOT_PORT_REF
The object at keeper_ref is a reference object, but not a reference to a port.
INVALID_OBJECT
The state of the region object or one of the reference objects has become invalid.
INVALID_ADDRESS
The address range specified in the fluke_region_state structure does not fall within the allowable task address space.
NOT_ALIGNED
The start or size fields of the fluke_region_state structure are not aligned as required by the implementation.

RELATED INFORMATION

fluke_region_get_state



Utah Flux Research Group