Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)
the AWAITIO[X] procedure. For details on using nowait I/O with Guardian procedures, refer to
the Guardian Programmer’s Guide. The Open System Services Programmer’s Guide contains an
example of using the AWAITIO[X] procedure to read an OSS file.
Because Enscribe has long understood Guardian Format 2 files, a program running on a system
that does not support large OSS files can use Enscribe APIs with 64-bit elections to open an OSS
file that resides on a system that supports large files. If the file is smaller than approximately
2 gigabytes, the file size limit for that open is approximately 2 gigabytes. If the file is larger than
approximately 2 gigabytes, the file size limit for that open is the size of the volume. The actual
size limits depend on the API used and how the file was created. For detailed information about
size limits when opening files, see the Open System Services Management and Operations Guide.
Compatibility Issue for Guardian Files Created by OSS APIs
For RVUs before G06.29 and H06.06, OSS files always had an underlying Guardian file format
of Format 1. For G06.29 and later G-series RVUs, H06.06 and later H-series RVUs, and J-series
RVUs, OSS files can have an underlying Guardian file format of Format 1 or Format 2. For
applications using OSS APIs to access OSS files, the underlying Guardian file format is not visible
and there are no known compatibility issues. For applications using Enscribe APIs to access
Guardian files created by OSS APIs, there is a known compatibility issue.
Before the G06.29 and H06.06 RVUs, Guardian files created by OSS APIs were always Format 1
with a maximum size of 175 megabytes. For G06.29 and later G-series RVUs, H06.06 and later
H-series RVUs, and J-series RVUs, Guardian files created by the open() and creat() APIs are
Guardian Format 1 with a maximum size of approximately 2 gigabytes, and Guardian files created
by the open64() and creat64() APIs are Guardian Format 2 with a maximum size of
approximately 26 gigabytes.
The standard OSS utilities, such as cp, pax and pinstall, now use the open64() and
creat64() functions and create a Guardian Format 2 file when given a /G output file name. For
example:
cp myfile /G/disk/subvol/myfile
Guardian applications that use file attributes such as file format and maximum size are likely to
be affected. These programs may fail when unexpected values are returned (such as Format 2 if
only Format 1 is expected).
Guardian applications that use file data and ignore file attributes are unaffected if both of these
conditions are true:
• The application is running on G06.29 or later G-series RVUs, H06.06 or later H-series RVUs,
or J-series RVUs.
• The Format 2 file is unstructured, code 180 with an EOF less than the Format 1 limit of
approximately 4 gigabytes.
However, FILE_OPEN_ fails with error 580 if any of these conditions are true:
• The RVU is earlier than G06.29 or H06.06
• The file code is not 180
• The EOF is greater than the Format 1 limit
Recovery choices include:
• Change the application to accept Guardian Format 2 files.
• Protect the application by converting the file to Guardian Format 1 using the following steps:
FUP CREATE TEMP, FORMAT 1, TYPE U, ODDUNSTR, CODE 180, &
EXT (28,1400), MAXTENTS 749
FUP COPY myfile,TEMP
FUP PURGE myfile
File Interoperability 79