Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual522629-013
14-14
SEGMENT_ALLOCATE_ Procedure
processes that still shares the segment. The SEGMENT_ALLOCATE_ call in
the sharer will fail with error 15 in the following cases:
1. Another segment in the sharer is already mapped at this base-address, OR
2. The address range of the segment to be shared overlaps with that of
another segment in the sharer.
For a selectable segment, the base-address input parameter is ignored,
because the base address assigned to a selectable segment is always the
same.
max-size input
INT(32):value
defines the upper limit of the
new-segment-size parameter of the
RESIZESEGMENT procedure. The value for
max-size must be greater than or
equal to the
segment-size parameter and must be within the same range as the
segment-size parameter.
alloc-options input
INT:value
provides information about the segment to be allocated. The bits are defined as
follows:
<0:8> Reserved (specify 0).
<9> = 0 Map the segment at the same base address as the process
that first allocated the segment.
= 1 Same as for 0, but also, if the range of the requested segment
is partially or completely overlapped in the current process,
allocate the segment at any address within the flat segment
space.
<10:12> Reserved
<13> = 0 If you do not specify filename, manage the swap space
using the Kernel-Managed Swap Facility (KMSF).
= 1 If you do not specify
filename, create a temporary swap
file.
<14> = 0 Allocate a selectable segment.
= 1 Allocate a flat segment.
<15> = 0 Return the base address in the base-address parameter.
= 1 Allocate a flat segment starting at the address specified in the
base-address parameter. Bit 14 must also be set to 1.