OpenExtensions
- POSIX 1003.1 (known as POSIX.1) - System Interfaces
- POSIX 1003.1a (known as POSIX.1a) - Extensions to POSIX.1
- POSIX 1003.1c (known as POSIX.1c) - Threads
- POSIX 1003.2 (known as POSIX.2) - Shell and Utilities
The POSIX.1, POSIX.1a, and POSIX.1c interfaces are provided as C/C++ library routines in the C/C++ runtime library included with Language Environment®. For programs written in other languages, a language-neutral version of the POSIX functions is provided as a set of CMS callable services library (CSL) routines. These CSL routines are called by the C/C++ runtime routines to provide the functions, but they are also available to other applications. The CSL routines can be invoked as REXX functions through a REXX subcommand environment, ADDRESS OPENVM.
OpenExtensions includes a POSIX-compliant file system known as the Byte File System (BFS). BFS is a companion to the CMS Shared File System (SFS) that provides a byte-stream view of files. BFS allows data to be organized and used in a UNIX style and format.
Like SFS files, BFS files are organized in a hierarchical directory structure and stored in CMS file pools. While supporting the POSIX file system functions and rules, BFS also takes advantage of administration and system management facilities that it shares with SFS. These include space allocation, backup, and DFSMS/VM file migration, as well as other administrative functions.
CMS provides a set of OPENVM commands that allow users to manage their BFS directories and files and control their related permission and ownership attributes. CMS Pipelines additionally provides the ability to use BFS from pipeline programs.
The OpenExtensions shell and utilities provide a UNIX-like interactive environment in support of the POSIX application environment and provide tools that aid in program development and in porting applications from other open systems. Users of the shell environment have access to both the shell command set (built-in commands and utilities) and the full CP and CMS command sets, as well as both OpenExtensions and non-OpenExtensions applications. Each of the OpenExtensions POSIX.2 utilities additionally conforms to the X/Open Portability Guide, issue 4 (XPG4) for Commands and Utilities.
For an expanded introduction to OpenExtensions, see z/VM: CMS Application Development Guide.
For information about the program requirements for developing OpenExtensions applications, see z/VM base components additional program requirements.