Communicator e3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00 (30216-90291)

48 Chapter3
Growth Solution
MPE/iX Large Files Overview
FFILEINFO Changes
Two new items have been added to the FFILEINFO intrinsic. These items are described in
the table below:
New Intrinsics
The following new intrinsics are being added to aid in the support of user-mapped file
access. These intrinsics can be used for pointer manipulation and data movement on any
user-mapped file; short-mapped, long-mapped, or large-mapped. They are especially
recommended for use with the large-mapped HPFOPEN option.
HPFADDTOPOINTER
NM callable only.
This routine can be used to perform arithmetic on a 64-bit pointer value. Byte offsets can
be added to or subtracted from a pointer by specifying either a positive or negative offset
value.
Syntax
@64 I64 @64 I32
HPFADDTOPOINTER( base_ptr, offset, return_ptr, status );
Parameters
base_ptr
64-bit pointer by reference (required)
The
base_ptr
can be a 64-bit pointer to an object of any type.
offset
64-bit signed integer by reference (required)
The offset can be any positive or negative value. Specifying a positive
value moves the
return_ptr
forward from the previous
base_ptr
, while
a negative value moves the
return_ptr
backward from the
base_ptr
.
return_ptr
64-bit pointer by reference (required)
The
return_ptr
is an output parameter that has the new pointer value
returned to it. It can be a 64-bit pointer to an object of any type.
status
32-bit signed integer by reference (optional)
Returns the status of the HPFADDTOPOINTER call. If no errors or warnings
Item Name Item
Number
Item
Size
Description
FF_FILE_LIMIT_BYTES 109 8 bytes This item returns a 64-bit integer indicating
the maximum size of the file, or the file limit,
in bytes.
FF_FILE_LIMIT_IS_LARGE 110 4 bytes This item returns a 32-bit integer which can
be used to easily tell if the specified file has a
file limit greater than 4GB. This item returns
two values:
0 = The file limit is less than or equal to 4GB
1 = The file limit is greater than 4GB.