audio_support man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

audio_support(7I)		Ioctl Requests		     audio_support(7I)

NAME
       audio_support - audio driver support routines and interface

SYNOPSIS
       #include <sys/audio.h>

DESCRIPTION
       The audio support  module supports audio drivers that use the new audio
       driver  architecture. It also provides a	 limited  number  of  ioctl(2)
       functions for application programmers.

DATA STRUCTURES
       The following data structures are defined to manage the different audio
       device types and	 channels.

   Device Types
       The following enumeration lists a number of generic device types.

	 typedef enum {
	      UNDEFINED, AUDIO, AUDIOCTL, USER1, USER2, USER3
	 } audio_device_type_e;

       Currently, the Solaris  audio  mixer  implements	 only  the  AUDIO  and
       AUDIOCTL audio device types. See the mixer(7I) manual page for details.
       The USER1, USER2 and USER3 device types allow third  parties  to	 write
       audio personality modules of their own.

   Channel Structure
       This  structure	is used to get and set state information on individual
       channels.

	 struct audio_channel {
	      pid_t		  pid;		 /* application's process ID */
	      uint_t		  ch_number;	 /* device channel */
	      audio_device_type_e dev_type;	 /* device type */
	      uint_t		  info_size;	 /* size of channel's */
						 /* info structure */
	      void		  *info;	 /* channel state information */
	 ;
	 typedef struct audio_channel audio_channel_t;

       The ch_number must specify the specific channel number to get  or  set.
       When  the  ioctl()  returns,  the  pid  contains	 the process ID of the
       process that has that channel open and dev_type will contain the device
       type.  If  pid  is  0 (zero), then the channel is not open. The pointer
       *info must point to a  buffer  large  enough  to	 hold  whatever	 audio
       device-related  state  structure	 that may be returned. Currently, only
       the audio_info_t structure is returned. See the audio(7I) and mixer(7I)
       man pages for more information.

IOCTLS
       The audio support  driver provides the following ioctls():

       AUDIO_GET_CH_NUMBER    This  ioctl() returns the channel number pointed
			      to by the file descriptor. It is returned in the
			      integer pointer of the ioctl() argument.

       AUDIO_GET_CH_TYPE      This  ioctl()  returns  the  type of channel the
			      process  has  open.  It  is  returned   in   the
			      audio_device_type_e  enumeration	pointer of the
			      ioctl() argument.

       AUDIO_GET_NUM_CHS    This ioctl() returns the number  of	 channels  the
			    device  supports.  It  is  returned in the integer
			    pointer of the ioctl() argument.

MACROS
       The following macro can be used	to  initialize	data  structures.  The
       established  convention	is that the state corresponding to a field set
       to -1 will not be modified.

	 AUDIO_INIT(I, S)

       Where I is a pointer to an info structure and S is  the	size  of  that
       structure.

       The following code segment demonstrates how to use this macro:

	 audio_info_t	 info;

	 AUDIO_INIT(&info, sizeof(info));
	 info.play.port = AUDIO_HEADPHONE;
	 err = ioctl(audio_fd, AUDIO_SETINFO, &info);

ERRORS
       EINVAL	 The   ioctl()	is  invalid  for  this	file  descriptor.  The
		 audio_channel_t structure's info pointer does not point to  a
		 buffer, or the ch_number is bad.

       ENOMEM	 The ioctl() failed due to lack of memory.

FILES
       /usr/share/audio/samples	   Audio sample files

ATTRIBUTES
       See attributes(5) for a description of the following attributes:

       ┌────────────────────────────────────────────────────────────┐
       │ATTRIBUTE TYPE		      ATTRIBUTE VALUE		    │
       │Architecture		      SPARC, x86		    │
       │Availability		      SUNWaudd, SUNWauddx, SUNWaudh │
       │Stability Level		      Evolving			    │
       └────────────────────────────────────────────────────────────┘

SEE ALSO
       ioctl(2), attributes(5), audio(7I), mixer(7I), streamio(7I)

FUTURE DIRECTIONS
       Over  time,  additional	audio personality modules will be added. Audio
       application programmers are encouraged to review	 this  man  page  with
       each Solaris release for new audio personality modules.

SunOS 5.10			  16 May 2011		     audio_support(7I)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net