Guardian Procedure Calls Reference Manual
• SEGMENT_ALLOCATE_ is declared in CEXTDECS; SEGMENT_ALLOCATE64_ is declared in
kmem.h and CEXTDECS.
• Header file kmem.h defines constants for parameter and error values for SEGMENT_...
procedures.
Syntax for TAL Programmers
! input/output error detail
error := SEGMENT_ALLOCATE[64]_ ( segment-id ! i 1
,[ segment-size ] ! i 2
,[ filename:length ] ! i 3
,[ error-detail ] ! o 4
,[ pin ] ! i 5
,[ segment-type ] ! i 6
,[ base—address ] ! i,o 7
,[ max-size ] ! i 8
,[ alloc-options ] ); ! i 9
• SEGMENT_ALLOCATE_ is declared in EXTDECS.
• SEGMENT_ALLOCATE64_ is declared in KMEM and EXTDECS.
• Header file KMEM defines constants for parameter and error values for SEGMENT_...
procedures.
• The number in the comment after each parameter shows the value assigned to error-detail
when identifying an error on that parameter.
Parameters
segment-id
input
INT:value
is the number by which the process chooses to refer to the segment. Segment IDs are in the
range 0 through 1023 for user processes; other values are reserved for processes supplied by
HP. A nonprivileged process cannot supply a segment ID greater than 2047. Nonprivileged
segment IDs are allocated as unaliased segments.
segment-size
input
(for SEGMENT_ALLOCATE_)INT(32):value
(for SEGMENT_ALLOCATE64_)INT(64):value
specifies the size in bytes of the segment to be allocated.
• Flat segment size:
For G04.00 and earlier G-series RVUs, the value must be in the range 1 byte through
128 megabytes (134,217,728 bytes). A flat segment is allocated beginning on a
32-megabyte boundary and is allocated from a total virtual space of 480 megabytes.
◦
◦ For G05.00 and later G-series RVUs, and all H-series and J-series RVUs, the flat
segment size for SEGMENT_ALLOCATE_ is limited by available 32-bit address space,
not a fixed value. The total space available for 32-bit flat segments is 1120 megabytes
for G05.00 and later G-series RVUs; it is 1536 megabytes on H-series and J-series
RVUs. The limit for an individual segment is the largest contiguous address range
within the flat segment area not already committed to some other segment. A parameter
error is reported if segment-size exceeds an arbitrary implementation-dependent
1260 Guardian Procedure Calls (S)