Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (C)
Guardian Procedure Calls Reference Manual522629-013
3-57
CHECKPOINTMANYX Procedure
The segment ID was equal to -1 and the address was in an extended data
segment, but no selectable segment was in use at the time of the call to
CHECKPOINTMANYX.
The address was in the stack, but either the count was too large, the area
was above the highest stack address, the area was beyond the end of the
stack, or the area overlapped the area used by the CHECKMONITOR
procedure.
The address was invalid; for example, the address was in an extended
data segment, but either the segment ID was not allocated, the segment ID
was an invalid segment number, or there was a bounds error on the area.
The total message size was too large (over 32 KB).
Example
INT status;
INT stack^origin;
INT junk;
STRING .EXT buffer[0:511];
INT .EXT descr[0:10];
descr[0] := 2; ! count of items
! note the following is improper syntax;
! used for illustration only
descr[1:2] := -1D; ! always this for file items
descr[3] := fnum^a; ! file number
descr[4:5] := junk; ! unused words for file items
descr[6:7] := 512D; ! length in bytes
descr[8] := -1; ! indicates stack
descr[9:10] := @buffer; ! data item -- extended address
status := CHECKPOINTMANYX( stk^origin , descr);