Communicator e3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00 (30216-90291)
Chapter 3 37
Growth Solution
MPE/iX Large Files Overview
FLABELINFO
Two current items of the FLABELINFO intrinsic are unable to return information on some
Large Files. These items are described in the following table:
32-bit Integer Overflow
There are a number of FFILEINFO, FGETINFO and FLABELINFO items that return
information on the maximum file size of a file, or the current size of a file. While each of
these items (with the exception noted above) works without change on Large Files, it is
possible that programs that perform arithmetic on the values returned from these
functions could experience integer overflow traps when dealing with very large files. An
example of such an operation is multiplying the number of records in a file by the record
size to get an estimation of the total size of a file. With normal-sized files, the result of this
multiplication is guaranteed to never overflow an unsigned 32-bit integer. However, with
Large Files, the result of this multiplication could be a value up to 128 GB, which could be
much larger than a value that can be represented in 32-bits. In such cases, the result of the
multiplication would need to be assigned to a 64-bit integer.
Item # Description New Item # Description
28 This item returns the size of the
file limit of a file in bytes. It
returns the value in an unsigned
32-bit integer. For any Large File,
an error is returned if this item is
called since the true file limit
could not be expressed in a 32-bit
value.
62 This item returns the number of
bytes in the file limit, but instead
returns the value in a signed 64-bit
integer. This item can be used for all
files regardless of whether or not
they are Large Files.
58 This item was recently added to
MPE/iX to return the number of
sectors of disk space currently
allocated to a file. This value is
returned in a 32-bit signed
integer. While this is adequate for
all files supported as of 6.5, future
release may support file sizes
which will exceed the capacity of
this item (512 GB).
63 This item forms a replacement for
item 58. It also returns the number
of sectors allocated to a file, but
returns this information in a signed
64-bit integer. Because of this
increased size, this item can reliably
be used to get this disk space
information for any sized file.
Intrinsic Item # or
Parameter
Item Name Description
FFILEINFO
4
FF_REC_SIZE A 16-bit signed integer which
returns the record size associated
with the specified file