System Interface Guide

The Programming Interface

Solaris offers many kinds of "interface", such as: the programming interface, elements of the user interface, protocols, and rules about naming and the locations of objects in the file system. One of the most important interfaces to the system is the programming interface - the one offered to developers. The programming interface has two major parts: one seen by developers of applications, which we call the API, and one seen by developers of system components such as device drivers and platform support modules, which we call the SPI (system programming interface).

Each programming interface to Solaris is also "visible" to the developer at two levels, source level and binary. When we use the acronyms API and SPI, we indicate the source level programming interface to the system. We use the terms Application Binary Interface (ABI) and System Binary Interface (SBI) to indicate the binary interfaces corresponding to the respective source level programming interfaces. (Because the phrase "the ABI" can be confused with other binary interfaces, we refer to the "Solaris ABI" only by name.)

Interface Functions

The SunOS 5.0 through 5.7 functions discussed in this manual are the interfaces between the services provided by the kernel and application programs. The functions described in Sections 2 and 3 of the are an application's interface to the SunOS 5.0 through 5.7 operating system. These functions are how an application uses facilities such as the file system, interprocess communication primitives, and multitasking mechanisms. This manual is one of a set that describe major elements of the API. Other manuals in the set are STREAMS Programming Guide,Multithreaded Programming Guide , Transport Interfaces Programming Guide, etc.

When you use the library routines described in sections 2 and 3 of the Solaris 7 Reference Manual Collection, the details of their implementation are transparent to the program. For example, the function read underlies the fread implementation in the standard C library.

A C program is automatically linked to the invoked functions when you compile the program. The procedure might be different for programs written in other languages. See the Linker and Libraries Guide for more information.