Communicator e3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00 (30216-90291)
Chapter 3 39
Growth Solution
MPE/iX Large Files Overview
AIF:OS Impact
The Architected Interfaces for operating system information (AIF:OS) are a set of
privileged routines that provide a supported means of accessing and altering internal
system data structures. Because of the need to enhance these data structures to provide
Large File support, some corresponding changes to a few AIF:OS routines are required.
Each of the affected AIF:OS items follows a similar form. A 32-bit value is currently being
returned, which cannot express the capacity of a Large File. In each case a new item
number has been defined which works with a 64-bit value and can be used safely for either
large or normal sized files.
The following table describes each of the AIF:OS items that return errors for Large Files,
as well as the new items that have been added to supplant the older items:
AIF Function Item # New Item # Description
AIFFILELGET 4033 4101
This item returns the byte offset of the
current data pointer associated with the file
number that was passed to
AIFFILELGET.
Item 4033 returns a 32-bit unsigned integer
and results in an error when called against a
Large File. The 4101 item returns a 64-bit
integer and works for all file sizes.
AIFFILELPUT 4033 4101
This item allows a caller to set the data
pointer associated with a file number to a
new byte offset within a file. Item 4033
allows a caller to pass in a 32-bit unsigned
integer to specify the new data pointer
value. Given its size, this item can never set
the data pointer past the first 4GB of a
Large File. The new 4101 item number
allows the caller to specify a 64-bit integer to
indicate the new data pointer value. The
new 4101 item number works for all files,
providing the value specified is within the
file limit of the specified file.
AIFFILEGGET
5017 5101
These items return the byte offset of the End
Of File pointer for a given file. Item 5017
returns a 32-bit unsigned integer and
generates an error when called against a
Large File. Item 5101 returns a 64-bit
integer which can be safely be returned for
both large and normal sized files.