Guardian Procedure Calls Reference Manual
If a segment is being shared by the PIN method (see pin), this rule applies to the sharers:
• The segment-size parameter must be omitted, and the size of the segment is the same
as that from the initial SEGMENT_ALLOCATE[64]_ call.
If a segment is being shared by the file name method (see segment-type), these rules apply
to the sharers:
• If the swap file supplied in the filename parameter does not exist at the time of the call,
the segment-size parameter must be supplied.
• If the swap file supplied in the filename parameter exists, then:
The segment-size parameter can be omitted.◦
◦ If the segment is a read-write segment, the default size is the allocated size of the
swap file.
◦ If the segment is a read-only segment, then:
– If the swap file has not been opened in this processor by a previous call to
SEGMENT_ALLOCATE[64]_, the size of the segment will be set to
segment-size, if supplied. If segment-size was not supplied, the size
defaults to the size of the existing swap file.
– If the swap file has already been opened in this processor by a prior call to
SEGMENT_ALLOCATE[64]_, the size of the segment will be set to the same size
as the initially opened swap file, whether segment-size is supplied or not.
(However, if segment-size is larger than the size specified in the original call
to SEGMENT_ALLOCATE[64]_, an error is returned.)
filename:length
input:output
(for SEGMENT_ALLOCATE_)STRING .EXT:ref:*, INT:value
(for SEGMENT_ALLOCATE64_)STRING .EXT64:ref:*, INT:value
indicates several types of swap files: temporary swap space using KMSF, temporary swap file,
existing permanent swap file, new permanent swap file, and segment sharing by the file-name
method.
The filename and length parameters work together: if either the filename or length
parameter is omitted, or length is zero, no filename is specified; both parameters are
ignored. A filename is specified when the filename parameter is present, the length
parameter is present, and the length value is nonzero. The filename parameter must be
a Guardian file or volume name, and the length parameter must specify the exact number
of characters in that name, which need not be NUL terminated. If filename contains a partially
qualified file identifier (without the volume name or the volume and subvolume name), it is
resolved using the contents of the =_DEFAULTS DEFINE. If filename contains a system name,
it must designate the local node; remote files are not accepted.
If filename is specified, pin must not be specified.
• Temporary swap space using KMSF
If you do not specify filename, and the alloc-options parameter does not preclude
using KMSF, and a segment is being allocated, SEGMENT_ALLOCATE[64]_ uses the
Kernel-Managed Swap Facility (KMSF) to allocate swap space.
Segments shared by the file-name method cannot use KMSF. If you need to share by the
file-name method, it will be necessary to use a temporary swap file (see "Temporary swap
file" below) or to pass a volume name where the swap file should be created.
1262 Guardian Procedure Calls (S)