Chapter Contents

Previous

Next
Introduction to the SAS/C Library

Compatibility with Standards

Most functions in the SAS/C library are compatible with industry-recognized C library standards, including


ISO/ANSI C Standards

The SAS/C library is fully compliant with the 1990 ISO/ANSI C standard. Implementation-defined behavior for the ISO/ANSI library is described in Chapter 2, "Language Definition" in SAS/C Compiler and Library User's Guide.


Traditional UNIX Support

The SAS/C library supports a number of functions defined by traditional (pre-POSIX) UNIX systems. In some cases, these functions are limited to use with the UNIX System Services (USS) OS/390 operating system, an International Business Machines Corporation Product. However, in many cases, these functions have been defined so that they are meaningful in native OS/390 and CMS environments. For instance, although the stat and link functions are limited to use with USS files, other functions such as open , read , write , and access can be used with most OS/390 and CMS file types.

Unlike the ISO/ANSI and POSIX libraries, the traditional UNIX library is not defined as a formal standard. Rather, the traditional UNIX library is informally defined by consensus with a number of different UNIX implementations, based on both System V and BSD.

Although SAS/C does not and cannot support every function defined by every historical UNIX variant, the library does attempt to offer support for a large subset of the core UNIX functionality, especially functions frequently used in portable programs. Note, however, that some core functions, such as fork and kill , cannot be implemented under OS/390 or CMS by an application-level library such as the SAS/C library without operating system support (such as USS OS/390).


POSIX Standards

In addition to the functionality provided in earlier releases of SAS/C, Release 6.00 supports USS OS/390. USS comprises three products:

SAS/C, Release 6.00 directly uses the OS/390 support for USS, and you can use it with the Shell and Utilities product. The dbx debugger does not support SAS/C programs, but you can use the traditional SAS/C debugger under the shell instead of using dbx.

Using the underlying functionality of the OS/390 support for USS, SAS/C, Release 6.00 enables you to

To support these features, the Institute made some changes to the SAS/C compiler and debugger, but most changes are localized to the resident and transient libraries. Compile-time header files are also significantly changed.

The POSIX 1003.1 standard is an ISO standard that specifies operating system functionality in a C language interface. With USS, the SAS/C library implements this interface under OS/390. USS and SAS/C also implement portions of the 1003.1a draft standard and related extensions. POSIX 1003.1 is based on common elements of a number of UNIX operating systems.

The SAS/C POSIX implementation is documented in Part 3, "SAS/C POSIX Support," in SAS/C Library Reference, Volume 2.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.