audio_support_impl.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*
* This header file defines the internal interfaces for the audio support
* module. It is NOT to be distributed with Solaris.
*/
#ifndef _SYS_AUDIO_SUPPORT_IMPL_H
#define _SYS_AUDIO_SUPPORT_IMPL_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#define AUDIO_MINOR_AUDIO 0 /* /dev/audio */
#define AUDIO_MAX(a, b) ((a) > (b) ? (a) : (b))
AUDIO_MAX(y, z))
/*
* Macros used to convert between the opaque audio taskq handles and the
* true taskq handles. Also standard taskq defines.
*/
#define AUDIO_SUP_TASKQ_NTHREADS (1)
/*
* audio_inst_list_t - structure that describes the audio device instance
*/
struct audio_inst_info {
};
typedef struct audio_inst_info audio_inst_info_t;
/*
* audio_qptr_t - structure used to store private data in the STREAM
*/
struct audio_qptr {
void *aq_data; /* STREAM private data */
};
typedef struct audio_qptr audio_qptr_t;
/* audiosup module key for persistent memory, one per system */
#define AUDIO_SUP_KEY "AUDIO:audiosup master anchor key"
/* audiosup module instance key for persistent memory, one per dev instance */
#define AUDIO_KEY_CLASS "AUDIO:"
/*
* audio_apm_persist_t - structure for instance APM persistent memory storage
*/
struct audio_apm_persist {
void *ap_data; /* per APM data */
};
typedef struct audio_apm_persist audio_apm_persist_t;
/*
* audio_inst_persist_t - instance persistent data
*/
struct audio_inst_persist {
char *amp_key; /* persistent data key */
int amp_instance; /* instance number */
};
typedef struct audio_inst_persist audio_inst_persist_t;
#ifdef __cplusplus
}
#endif
#endif /* _SYS_AUDIO_SUPPORT_IMPL_H */