Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

Maximum number of files that one process can have open at one timeOPEN_MAX
Maximum number of streams that one process can have open at one timeSTREAM_MAX
The values of the following file-implementation characteristics are not available at compile time
but by using the fpathconf() and pathconf() functions:
Maximum number of links to the fileLINK_MAX
Maximum number of bytes in a canonical input lineMAX_CANON
Maximum number of bytes an application can require as input before that input is readMAX_INPUT
Maximum number of bytes in a filename (not including a terminating null)NAME_MAX
Maximum number of bytes guaranteed to be written atomically when writing to a pipe
or FIFO file
PIPE_BUF
Device Interfaces
The commonly used device interfaces, /dev/null and /dev/tty, are supported in the OSS
environment. For G06.27 and later G-series RVUs, H06.06 and later H-series RVUs, and J-series
RVUs,nonblocking behavior is supported for Telserv OSSTTY objects for these functions:
select()
FILE_COMPLETE_
FILE_COMPLETE_SET_
FILE_COMPLETE_GETINFO_
If you attempt to use these funcions on a terminal process running on system that is running RVUs
earlier than G06.27 or H06.06:
select() returns the error ENOTSUP.
FILE_COMPLETE_() and FILE_COMPLETE_SET_() return the error FEINVALIDOP.
Nonblocking behavior for the open() and fcntl() functions continues to be supported.
Each processor in the system has a terminal helper process that provides support for nonblocking
I/O for terminal devices. Terminal helpers are named processes with names of the form $ZTTnn,
where nn is the processor number. Terminal helper processes are started automatically when the
processor is started. If the terminal helper process stops or terminates abnormally, the processor
halts.
There is no direct API to the tape or line printer through the standard OSS functions. These devices
must be accessed using Guardian procedure calls. The OSS pax utility can be used to access
Guardian tape devices using the /G/tape file, and the OSS lp utility can be used to access the
Guardian SPOOLCOM printing utility. Refer to the pax(1) and lp(1) reference pages either
online or in the Open System Services Shell and Utilities Reference Manual.
/etc/passwd and /etc/group Data Files
Even though the /etc/passwd and /etc/group data files are not provided in the OSS
environment, the data normally kept in these files is accessible by standard function calls provided
in the OSS C run-time library: for example, getgrgid() and getgrname().
OSS Programs and CRE
The Common Run-Time Environment (CRE) library functions provide a common set of services to
programs, supporting many programming languages. Your programs might implicitly call CRE
library functions because the C run-time library calls the CRE functions to implement many features.
OSS C Programming Considerations 121