aboutsummaryrefslogtreecommitdiff
path: root/sys/gio/nspp/sysint/loc.x
blob: 59e509b52c50fb0dd493e46401e9e0f00faf3c93 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc.

include	<mach.h>

# LOCI -- Return the zero-indexed offset of the argument in the user address
# space, in integer units.  In other words, if A is an integer array,
# { loci(a[2]) - loci(a[1]) } is exactly one.
#
# NOTE -- The original NSPP (portlib) code called this function LOC, however,
# the Sun-4 Fortran compiler has an intrinsic function of the same name which
# behaves slightly differently, hence the name was changed to LOCI.

int procedure loci (x)

int	x
int	xaddr

begin
	# ZLOCVA returns the address of the variable in units of XCHAR.

	call zlocva (x, xaddr)
	return (xaddr / SZ_INT)
end