Guardian Procedure Calls Reference Manual
error-detail
output
(for ADDRESS_DELIMIT_)INT .EXT:ref:1
(for ADDRESS_DELIMIT64_)INT .EXT64:ref:1
returns additional error information when an error value of 3 (bounds error) is returned. For
details, see Returned Value.
Returned Value
INT
Outcome of the call. One of these values defined in kmem.h for C and KMEM for pTAL:
ADDR_OK0
No error; the requested values are returned.
ADDR_PARAM2
Parameter error; address parameter was missing.
ADDR_BOUNDS3
Bounds error; error-detail contains the number of the first parameter found to be in error, where 1
designates the first parameter on the left. This error is returned only to nonprivileged callers.
ADDR_UNMAPPED4
The address parameter is not mapped.
ADDR_INVALID5
The address parameter is one of these:
• An invalid address (address.<0> = 1); an address in the priv stack will have bit 0 = 1
• A relative segment address that is contained within either system data space, current code space, or user
code space (that is, within relative segment 1, 2, or 3 respectively)
This error code is not generated on H06.20, J06.09 and subsequent RVUs. These situations are reported as
ADDR_UNMAPPED (4) instead.
Address-Descriptor Bit Fields
The meanings of the bit fields returned by the address-descriptor parameter are defined in
kmem.h for C and KMEM for pTAL:
Indicates that the segment isBit field
Bits are reserved; 0 is returned.<0:3>
Segment contains executable data.SEG_EXEC_DATA_MASK <4>
Managed by the Kernel-Managed Swap Facility (KMSF).SEG_KMSF_MASK <5>
An OSS shared memory segment.SEG_OSS_MASK <6>
An unaliased segment. An unaliased segment does not have a corresponding
absolute segment address.
SEG_UNALIASED_MASK <7>
A flat segment.SEG_FLAT_MASK <8>
Currently in-use selectable segment for the process.SEG_CURRENT_MASK <9>
Accessible only by privileged processes.SEG_PRIVONLY_MASK <10>
Shared by another process.SEG_SHARED_MASK <11>
Reserved; 0 is returned.<12>
Read-only.SEG_READONLY_MASK <13>
ADDRESS_DELIMIT[64]_ Procedures 51