mirror of
https://github.com/blendogames/quadrilateralcowboy.git
synced 2025-02-17 17:31:41 +00:00
61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
#ifndef MIXER_CORE_H
|
|
#define MIXER_CORE_H
|
|
/*
|
|
* Copyright by 4Front Technologies 1993-2004
|
|
*
|
|
* All rights reserved.
|
|
*/
|
|
|
|
/*
|
|
* IMPORTANT NOTICE!
|
|
*
|
|
* This file contains internal structures used by Open Sound Systems.
|
|
* They will change without any notice between OSS versions. Care must be taken
|
|
* to make sure any software using this header gets properly re-compiled before
|
|
* use.
|
|
*
|
|
* 4Front Technologies (or anybody else) takes no responsibility of damages
|
|
* caused by use of this file.
|
|
*/
|
|
typedef int (*mixer_ext_fn) (int dev, int ctrl, unsigned int cmd, int value);
|
|
typedef int (*mixer_ext_init_fn) (int dev);
|
|
|
|
typedef struct
|
|
{
|
|
oss_mixext ext;
|
|
mixer_ext_fn handler;
|
|
oss_mixer_enuminfo *enum_info;
|
|
}
|
|
oss_mixext_desc;
|
|
|
|
struct mixer_operations
|
|
{
|
|
char id[16];
|
|
char name[64];
|
|
int (*ioctl) (int dev, int audiodev, unsigned int cmd, ioctl_arg arg);
|
|
|
|
void *devc;
|
|
void *hw_devc;
|
|
int modify_counter;
|
|
|
|
/* Mixer extension interface */
|
|
int nr_ext;
|
|
int max_ext;
|
|
int nr_extra_ext;
|
|
int timestamp;
|
|
oss_mixext_desc *extensions;
|
|
mixer_ext_init_fn ext_init_fn;
|
|
int ignore_mask; /* Controls ignored by mixer ext API */
|
|
int card_number;
|
|
int enabled;
|
|
};
|
|
|
|
typedef struct mixer_operations mixdev_t, *mixdev_p;
|
|
|
|
extern struct mixer_operations **mixer_devs;
|
|
extern int num_mixers;
|
|
extern void touch_mixer (int dev);
|
|
extern int oss_mixer_ext (int orig_dev, unsigned int cmd, ioctl_arg arg);
|
|
extern int mixer_ext_set_enum (oss_mixer_enuminfo * ent);
|
|
|
|
#endif
|