Open Sound System
OSS 4.x Programmer's Guide

Do you have problems with sound/audio application development? Don't panic! Click here for help!


Get number of mixer extension descriptor records


int arg=mixer_device_number;
ioctl(mixer_fd, SNDCTL_MIX_NREXT, &parm);

The above code fragment lacks all error checks for clarity. Real world applications must always check for the errors and handle them as described below. Also most OSS ioctl calls will return information in the argument variable and it's usually necessary to check it too.


This ioctl call returns the number of mixer (extension) descriptor records for a given mixer device. The arg variable should be initialized to the mixer device number prior the call. After the call the number of mixer descriptors will be returned back in this variable.

The application can read the actual extension records by using SNDCTL_MIX_EXTINFO.

OSS ioctl return values

The return value from the OSS ioctl calls will be -1 if a fatal error occurred. Other values mean that the ioctl call was more or less successful. However in most cases the application must check the value returned in the argument to see what was the accepted value.

Please see the Possible error codes (errno) returned by OSS calls section for more info about the error codes returned by OSS.

Sample programs

ossxmix.cThis is the ossxmix (GTK++ GUI) program shipped with OSS
ossmix.cSources for the ossmix command line mixer shipped with OSS
mixer_applet.cA sample program for developing a simple mixer applet.
mixext.cA simple sample program for using the new mixer API

Copyright (C) 4Front Technologies, 2007. All rights reserved.
Back to index OSS web site