Integrated File System Introduction
Support for save files in the QSYS.LIB file system
The QSYS.LIB file system supports stream I/O operations to save file objects. For example, an existing save file has data that may be read out or copied to another file until it is necessary to place the data into a different, existing, and empty save file object. When a save file is open for writing, no other open instances of the file are allowed. A save file does allow multiple open instances for reading, provided no job has more than one open instance of the file for reading. A save file may not be opened for read/write access. Stream I/O operations to save file data are not allowed when multiple threads are running in a job.
Stream I/O operations on a save file are not supported when the save file or its directory are being exported through the Network File System server. They may, however, be accessed from PC clients and through the QFileSvr.400 file system.
Case-sensitivity in the QSYS.LIB file system
In general, the QSYS.LIB file system does not distinguish between uppercase and lowercase in the names of objects. A search for object names achieves the same result regardless of whether characters in the names are uppercase or lowercase.
However, if a name is enclosed in quotation marks, the case of each character in the name is preserved. A search involving quoted names, therefore, is sensitive to the case of the characters in the quoted name.
Path names in the QSYS.LIB file system
- Each component of the path name must contain the object name followed by the object type of the object. For example:
/QSYS.LIB/QGPL.LIB/PRT1.OUTQ /QSYS.LIB/EMP.LIB/PAY.FILE/TAX.MBRThe object name and object type are separated by a period (.). Objects in a library can have the same name if they are different object types, so the object type must be specified to uniquely identify the object.
- The object name in each component can be up to 10 characters long, and the object type can be up to 6 characters long.
- The directory hierarchy within QSYS.LIB can be either two or three levels deep (two or three components in the path name), depending on the type of object being accessed. If the object is a database file, the hierarchy can contain three levels (library, file, member); otherwise, there can be only two levels (library, object). The combination of the length of each component name and the number of directory levels determines the maximum length of the path name.
If "root" (/) and QSYS.LIB are included as the first two levels, the directory hierarchy for QSYS.LIB can be up to five levels deep.
- The characters in names are converted to CCSID 37 when the names are stored. Quoted names, however, are stored using the CCSID of the job.
For more information about CCSID, see the Globalization topic in the iSeries Information Center.
Links in the QSYS.LIB file system
Symbolic links cannot be created or stored in the QSYS.LIB file system.
The relationship between a library and objects in a library is the equivalent of one hard link between the library and each object in the library. The integrated file system handles the library-object relationship as a link. Thus, it is possible to link from a file system that supports symbolic links to an object in the QSYS.LIB file system.
See Link for a description of links.
Use integrated file system commands and displays in the QSYS.LIB file system
The commands listed in Perform operations using CL commands can operate on the QSYS.LIB file system, except for the following:
- The ADDLNK command can be used only to create a symbolic link to an object in QSYS.LIB.
- File operations can be done only on program-described physical files and source physical files.
- The STRJRN and ENDJRN commands can not be used on database physical files.
The same restrictions apply to the user displays described in Perform operations using iSeries menus and displays.
Use integrated file system APIs in the QSYS.LIB file system
The C language functions listed in Perform operations using APIs can operate on the QSYS.LIB file system, except for the following:
- File operations can be done only on program-described physical files and source physical files.
- The symlink() function can be used only to link to an object in QSYS.LIB from another file system that supports symbolic links.
- The QjoStartJournal() and QjoEndJournal() APIs cannot be used on database physical files.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]