doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros | Typedefs | Functions | Variables
audio_core.h File Reference

Go to the source code of this file.

Classes

struct  sample_parms
 
struct  dma_buffparms
 
struct  audio_driver
 
struct  audio_operations
 
struct  oss_card_desc
 

Macros

#define OSS_MAX_AUDIO_CHANNELS   8
 
#define DMAP_NOTIMEOUT   0x00000001
 
#define DMAP_POST   0x00000002
 
#define DMAP_PREPARED   0x00000004
 
#define DMAP_FRAGFIXED   0x00000008 /* Fragment size fixed */
 
#define DMAP_STARTED   0x00000010
 
#define DMAP_COOKED   0x00000020
 
#define DMAP_ACTIVE   0x00000040 /* ISA DMA is running */
 
#define DMODE_NONE   0
 
#define DMODE_OUTPUT   PCM_ENABLE_OUTPUT
 
#define DMODE_INPUT   PCM_ENABLE_INPUT
 
#define DMA_MAP_MAPPED   0x00000001
 
#define SYNC_PREPARE   1
 
#define SYNC_TRIGGER   2
 
#define NOTHING_SPECIAL   0x00
 
#define NEEDS_RESTART   0x01
 
#define DMA_AUTOMODE   0x02
 
#define DMA_DUPLEX   0x04
 
#define DMA_COLD   0x08
 
#define DMA_UNUSED1   0x10
 
#define DMA_UNUSED2   0x40
 
#define DMA_UNUSED3   0x80
 
#define DMA_ISA   0x100 /* ISA DMA buffer placement restrictions */
 
#define DMA_VIRTUAL   0x400 /* Virtual audio device */
 
#define DMA_OPENED   0x800 /* Will be set when the device is open */
 
#define DMA_NOCONVERT   0x1000 /* No implicit format conversions */
 
#define DMA_DUALBUF   0x2000 /* Alloc separate bufs for rec and play */
 
#define DMA_USEPHYSADDR   0x4000 /* Use raw_buf_phys when mmap()ing */
 
#define DMA_DISABLED   0x8000
 
#define DMA_NOINPUT   0x10000
 
#define DMA_NOOUTPUT   0x20000
 
#define DMA_FIXEDRATE   0x40000 /* Fixed sampling rate */
 
#define DMA_16BITONLY   0x80000 /* Only 16 bit support */
 
#define DMA_STEREOONLY   0x100000 /* Only stereo (requires 16BITONLY) */
 
#define DMA_HUSHOUTPUT   0x200000 /* Do not permit use with O_WRONLY */
 
#define DMA_SHADOW   0x400000 /* "shadow" device */
 
#define DMA_ISABUS   0x800000 /* ISA device */
 
#define DMA_NODMA   0x1000000 /* For ISA devices only */
 
#define DMA_8BITONLY   0x2000000 /* Only 8 bits */
 
#define DMA_32BITONLY   0x4000000 /* Only 24 or 32 bits */
 
#define DMA_NOSOFTOSS   0x8000000 /* Don't install SoftOSS automatically for this device */
 
#define DMA_NOSRC   0x10000000 /* Don't do any kind of SRC */
 
#define DMA_SPECIAL   0x20000000 /* Multich or otherwise special dev */
 
#define DMA_NOMMAP   0x40000000 /* No MMAP capability */
 
#define DMA_SOFTOSS_DISABLE   0x80000000 /* Not compatible with SoftOSS */
 
#define VMIX_MULTIFRAG   0x00000001 /* More than 2 fragments required (causes longer latencies) */
 
#define DMASK_OUT   0x01
 
#define DMASK_IN   0x02
 
#define SYNC_MASTER   0x01
 
#define SYNC_SLAVE   0x02
 
#define MAX_SAMPLE_RATES   20 /* Cannot be changed (see soundcard.h) */
 
#define UNIT_EXPAND   1024
 

Typedefs

typedef struct audio_operations audio_operations
 
typedef struct audio_operations adev_t
 
typedef struct audio_operationsadev_p
 
typedef struct dma_buffparms dma_buffparms
 
typedef struct dma_buffparmsdmap_p
 
typedef int(* cnv_func_t )(adev_p adev, dmap_p dmap, void **srcp, int *srcl, void **tgtp, sample_parms *source, sample_parms *target)
 
typedef struct oss_card_desc oss_card_desc_t
 
typedef struct oss_card_descoss_card_desc_p
 

Functions

int dmap_get_qlen (dma_buffparms *dmap)
 
int dmap_get_qhead (dma_buffparms *dmap)
 
int dmap_get_qtail (dma_buffparms *dmap)
 

Variables

struct audio_operations ** audio_devs
 
int num_audiodevs
 
oss_card_desc_poss_cardlist
 
const char * oss_version_string
 
const char * oss_checksum
 

Macro Definition Documentation

#define DMA_16BITONLY   0x80000 /* Only 16 bit support */

Definition at line 217 of file audio_core.h.

#define DMA_32BITONLY   0x4000000 /* Only 24 or 32 bits */

Definition at line 224 of file audio_core.h.

#define DMA_8BITONLY   0x2000000 /* Only 8 bits */

Definition at line 223 of file audio_core.h.

#define DMA_AUTOMODE   0x02

Definition at line 201 of file audio_core.h.

#define DMA_COLD   0x08

Definition at line 203 of file audio_core.h.

#define DMA_DISABLED   0x8000

Definition at line 213 of file audio_core.h.

#define DMA_DUALBUF   0x2000 /* Alloc separate bufs for rec and play */

Definition at line 211 of file audio_core.h.

#define DMA_DUPLEX   0x04

Definition at line 202 of file audio_core.h.

#define DMA_FIXEDRATE   0x40000 /* Fixed sampling rate */

Definition at line 216 of file audio_core.h.

#define DMA_HUSHOUTPUT   0x200000 /* Do not permit use with O_WRONLY */

Definition at line 219 of file audio_core.h.

#define DMA_ISA   0x100 /* ISA DMA buffer placement restrictions */

Definition at line 207 of file audio_core.h.

#define DMA_ISABUS   0x800000 /* ISA device */

Definition at line 221 of file audio_core.h.

#define DMA_MAP_MAPPED   0x00000001

Definition at line 99 of file audio_core.h.

#define DMA_NOCONVERT   0x1000 /* No implicit format conversions */

Definition at line 210 of file audio_core.h.

#define DMA_NODMA   0x1000000 /* For ISA devices only */

Definition at line 222 of file audio_core.h.

#define DMA_NOINPUT   0x10000

Definition at line 214 of file audio_core.h.

#define DMA_NOMMAP   0x40000000 /* No MMAP capability */

Definition at line 228 of file audio_core.h.

#define DMA_NOOUTPUT   0x20000

Definition at line 215 of file audio_core.h.

#define DMA_NOSOFTOSS   0x8000000 /* Don't install SoftOSS automatically for this device */

Definition at line 225 of file audio_core.h.

#define DMA_NOSRC   0x10000000 /* Don't do any kind of SRC */

Definition at line 226 of file audio_core.h.

#define DMA_OPENED   0x800 /* Will be set when the device is open */

Definition at line 209 of file audio_core.h.

#define DMA_SHADOW   0x400000 /* "shadow" device */

Definition at line 220 of file audio_core.h.

#define DMA_SOFTOSS_DISABLE   0x80000000 /* Not compatible with SoftOSS */

Definition at line 229 of file audio_core.h.

#define DMA_SPECIAL   0x20000000 /* Multich or otherwise special dev */

Definition at line 227 of file audio_core.h.

#define DMA_STEREOONLY   0x100000 /* Only stereo (requires 16BITONLY) */

Definition at line 218 of file audio_core.h.

#define DMA_UNUSED1   0x10

Definition at line 204 of file audio_core.h.

#define DMA_UNUSED2   0x40

Definition at line 205 of file audio_core.h.

#define DMA_UNUSED3   0x80

Definition at line 206 of file audio_core.h.

#define DMA_USEPHYSADDR   0x4000 /* Use raw_buf_phys when mmap()ing */

Definition at line 212 of file audio_core.h.

#define DMA_VIRTUAL   0x400 /* Virtual audio device */

Definition at line 208 of file audio_core.h.

#define DMAP_ACTIVE   0x00000040 /* ISA DMA is running */

Definition at line 74 of file audio_core.h.

#define DMAP_COOKED   0x00000020

Definition at line 73 of file audio_core.h.

#define DMAP_FRAGFIXED   0x00000008 /* Fragment size fixed */

Definition at line 71 of file audio_core.h.

#define DMAP_NOTIMEOUT   0x00000001

Definition at line 68 of file audio_core.h.

#define DMAP_POST   0x00000002

Definition at line 69 of file audio_core.h.

#define DMAP_PREPARED   0x00000004

Definition at line 70 of file audio_core.h.

#define DMAP_STARTED   0x00000010

Definition at line 72 of file audio_core.h.

#define DMASK_IN   0x02

Definition at line 267 of file audio_core.h.

#define DMASK_OUT   0x01

Definition at line 266 of file audio_core.h.

#define DMODE_INPUT   PCM_ENABLE_INPUT

Definition at line 78 of file audio_core.h.

#define DMODE_NONE   0

Definition at line 76 of file audio_core.h.

#define DMODE_OUTPUT   PCM_ENABLE_OUTPUT

Definition at line 77 of file audio_core.h.

#define MAX_SAMPLE_RATES   20 /* Cannot be changed (see soundcard.h) */

Definition at line 279 of file audio_core.h.

#define NEEDS_RESTART   0x01

Definition at line 200 of file audio_core.h.

#define NOTHING_SPECIAL   0x00

Definition at line 199 of file audio_core.h.

#define OSS_MAX_AUDIO_CHANNELS   8

Definition at line 22 of file audio_core.h.

#define SYNC_MASTER   0x01

Definition at line 272 of file audio_core.h.

#define SYNC_PREPARE   1

Definition at line 176 of file audio_core.h.

#define SYNC_SLAVE   0x02

Definition at line 273 of file audio_core.h.

#define SYNC_TRIGGER   2

Definition at line 177 of file audio_core.h.

#define UNIT_EXPAND   1024

Definition at line 303 of file audio_core.h.

#define VMIX_MULTIFRAG   0x00000001 /* More than 2 fragments required (causes longer latencies) */

Definition at line 256 of file audio_core.h.

Typedef Documentation

typedef struct audio_operations * adev_p

Definition at line 33 of file audio_core.h.

typedef struct audio_operations adev_t

Definition at line 33 of file audio_core.h.

Definition at line 33 of file audio_core.h.

typedef int(* cnv_func_t)(adev_p adev, dmap_p dmap, void **srcp, int *srcl, void **tgtp, sample_parms *source, sample_parms *target)

Definition at line 35 of file audio_core.h.

typedef struct dma_buffparms dma_buffparms

Definition at line 34 of file audio_core.h.

typedef struct dma_buffparms * dmap_p

Definition at line 34 of file audio_core.h.

typedef struct oss_card_desc * oss_card_desc_p

Function Documentation

int dmap_get_qhead ( dma_buffparms dmap)
int dmap_get_qlen ( dma_buffparms dmap)
int dmap_get_qtail ( dma_buffparms dmap)

Variable Documentation

struct audio_operations** audio_devs
int num_audiodevs
oss_card_desc_p* oss_cardlist
const char* oss_checksum
const char* oss_version_string