System Interface Guide

Programming Interface

Solaris offers many kinds of "interfaces", 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 is the API, and one seen by developers of system components, such as device drivers and platform support modules, which is the SPI (system programming interface).

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

Interface Functions

The SunOS 5.0 through 5.8 functions discussed in this manual are the interfaces between the services provided by the kernel and application programs. The functions described in man pages section 2: System Calls, man pages section 3: Basic Library Functions, man pages section 3: Curses Library Functions, man pages section 3: Extended Library Functions, man pages section 3: Library Interfaces and Headers, man pages section 3: Networking Library Functions, man pages section 3: Threads and Realtime Library Functions, are an application's interface to the SunOS 5.0 through 5.8 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, Network Interface Guide, and so forth.

When you use the library routines described in sections 2 and 3 of the Solaris 8 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.