.th virt_loc IIa 4/21/86
.sh NAME
virt_loc \- virtual location
.sh SYNOPSIS
.nf
domain_type = (         (* domains *)
		    null_domain,
		    kernel_domain,
		    supervisor_domain,
		    user_domain
	      );

mem_type    = (         (* memory space divisions *)
		    null_space,
		    d_space,
		    i_space
	      );


virt_loc    = RECORD    (* virtual location *)
		    domain  : domain_type;
		    space   : mem_type;
		    address : cardinal;
	      END;
.fi
.sh DESCRIPTION
A virtual location specifies the domain, space, and address of where
the location exists in the user process.
.s3
.lp 18 12
.In domain
contains either the user domain or the supervisor domain.
The
null_domain
is a distinguished value which
the Kernel translates to the domain from which a Kernel call
has been made.
.s3
.lp 18 12
.In space
contains which space within the domain the data buffer is located.
The
null_space
is a distinguished value which is converted to data space on separate
I/D space programs(D-space), and otherwise to instruction space(I-space).
.s3
.lp 18 12
.In address
contains the address of the location involved.
.i0
.i7
.sh "SEE ALSO"
K_remap (II),
K_rendezvous_segment (II)
