Open System Services Programmer's Guide
• Many systems and vendors use only labeled tapes.
• You can access labeled tapes on different systems than the one your file is on.
To perform read or write operations on an OSS file on a labeled tape, follow these steps:
1. Open the desired OSS file.
2. Open the proper tape file by passing the name of a DEFINE that has the appropriate attributes
as the filename parameter to the FILE_OPEN_ procedure.
3. Position the tape to available space on the tape.
4. Perform read or write operations on the tape with the READX or WRITEX procedure.
5. Close access to the tape with the FILE_CLOSE_ procedure.
DEFINEs are file-system elements that provide a means for passing information, such as attributes,
to a process. DEFINEs allow attributes to be grouped and named. Attributes can then be passed
to a process or retrieved by specifying the name of the DEFINE. For information about DEFINEs
and programming with tapes, refer to the Guardian Programmer’s Guide.
Terminal I/O
The only terminals supported by Open System Services are Telserv windows and OSSTTY windows,
so terminal I/O is the same as that for a UNIX network terminal. OSS also supports local terminals
through OSSTTY, although OSSTTY has the look and feel of a remote terminal. The OSS terminal
interface is described in detail in the termios(4) and tty(7) reference pages either online or
in the Open System Services System Calls Reference Manual.
Accessing Terminals From the OSS Environment
The only way to access the OSS environment interactively is through an OSSTTY window or through
a Telserv virtual terminal, or window, with VT100 emulation.
Static and Dynamic Windows
Telserv provides two kinds of windows: static and dynamic.
• A static window is opened with Telserv SCF commands and with OSSTTY, and can exist
independently of a connection to the OSS environment. (The OSSTTY windows #stdin, #stdout,
and #stderr are considered to be static because they are preconfigured and cannot be changed
while OSSTTY is running.)
• A dynamic window is opened by Telserv in response to a connection request. OSSTTY does
not support dynamic windows.
For additional information about Telserv windows, refer to the Telserv Guide and the TCP/IP
Configuration and Management Manual. For additional information about OSSTTY windows, refer
to “Using OSSTTY to Redirect Input and Output to Guardian Objects” (page 214) and to the Open
System Services Management and Operations Guide.
Blocking and Nonblocking Opens
Both blocking and nonblocking opens are supported for static windows:
• Blocking open: For a Telserv window, the function returns successfully when the connection
to the window is requested and established. For OSSTTY windows, the function returns
successfully when the availability of the redirection target is established.
• Nonblocking open: For a Telserv window, the function returns successfully if a Telserv
connection to the window is already established when the request is made. For an OSSTTY
window, the function does not depend on the availability of the redirection target.
For dynamic windows, only blocking opens are supported. You cannot open a dynamic window
unless a connection has already been established.
210 Managing I/O