Programming with OSS API
------------------------

Open Sound System (OSS) API documentation is available on
http://www.4front-tech.com/pguide. This file contains just
some practical hints which are specific to this version of
OSS.

Include files
-------------

Older versions of some OSS include files are distributed
with various operating systems. There is no danger in
using them but applications written for more recent OSS
versions will not compile with older header files.

The latest versions of these include files (such as
soundcard.h) are distributed in ../include/sys. Use
the -I/usr/lib/oss/include switch when compiling
programs. Alternatively copy these files to /usr/include/sys
so that they replace the original ones.

OSS compatibility
-----------------

In general all sound/audio programs written for Linux,
FreeBSD, SCO or UnixWare use OSS API (or it's older
version called VoxWare). The sound related functionality
of these programs is portable between operating systems
where OSS is available. However there are some common
portability problems:

- Programs that use OS specific libraries or features are
not portable or they require some changes before they work.
- Some programs include soundcard.h in nonstandard way such
as or . Change these
includes to be .
- Many 16 bit audio programs assume that they are running on a
little endian (x86) machine. This causes problems (noise) in
big endian RISC machines (such as PPC, SPARC or HPPA).