1
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
3
File: oct6100_mixer_priv.h
5
Copyright (c) 2001-2007 Octasic Inc.
9
File containing all private defines, macros, structures and prototypes
10
pertaining to the file oct6100_mixer.c. All elements defined in this
11
file are for private usage of the API. All public elements are defined
12
in the oct6100_mixer_pub.h file.
14
This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API is
15
free software; you can redistribute it and/or modify it under the terms of
16
the GNU General Public License as published by the Free Software Foundation;
17
either version 2 of the License, or (at your option) any later version.
19
The OCT6100 GPL API is distributed in the hope that it will be useful, but
20
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24
You should have received a copy of the GNU General Public License
25
along with the OCT6100 GPL API; if not, write to the Free Software
26
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
28
$Octasic_Release: OCT612xAPI-01.00-PR49 $
30
$Octasic_Revision: 18 $
32
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
34
#ifndef __OCT6100_MIXER_PRIV_H__
35
#define __OCT6100_MIXER_PRIV_H__
37
/***************************** INCLUDE FILES *******************************/
39
/***************************** DEFINES *************************************/
41
#define mOCT6100_GET_MIXER_EVENT_LIST_PNT( pSharedInfo, pList ) \
42
pList = ( tPOCT6100_API_MIXER_EVENT )(( PUINT8 )pSharedInfo + pSharedInfo->ulMixerEventListOfst);
44
#define mOCT6100_GET_MIXER_EVENT_ENTRY_PNT( pSharedInfo, pEntry, ulIndex ) \
45
pEntry = (( tPOCT6100_API_MIXER_EVENT )(( PUINT8 )pSharedInfo + pSharedInfo->ulMixerEventListOfst)) + ulIndex;
47
#define mOCT6100_GET_MIXER_EVENT_ALLOC_PNT( pSharedInfo, pAlloc ) \
48
pAlloc = ( PVOID )(( PUINT8 )pSharedInfo + pSharedInfo->ulMixerEventAllocOfst);
50
#define mOCT6100_GET_COPY_EVENT_LIST_PNT( pSharedInfo, pList ) \
51
pList = ( tPOCT6100_API_COPY_EVENT )(( PUINT8 )pSharedInfo + pSharedInfo->ulCopyEventListOfst);
53
#define mOCT6100_GET_COPY_EVENT_ENTRY_PNT( pSharedInfo, pEntry, ulIndex ) \
54
pEntry = (( tPOCT6100_API_COPY_EVENT )(( PUINT8 )pSharedInfo + pSharedInfo->ulCopyEventListOfst)) + ulIndex;
56
#define mOCT6100_GET_COPY_EVENT_ALLOC_PNT( pSharedInfo, pAlloc ) \
57
pAlloc = ( PVOID )(( PUINT8 )pSharedInfo + pSharedInfo->ulCopyEventAllocOfst);
59
/***************************** TYPES ***************************************/
61
/************************** FUNCTION PROTOTYPES *****************************/
63
UINT32 Oct6100ApiGetMixerSwSizes(
64
IN tPOCT6100_CHIP_OPEN f_pOpenChip,
65
OUT tPOCT6100_API_INSTANCE_SIZES f_pInstSizes );
67
UINT32 Oct6100ApiMixerSwInit(
68
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
70
UINT32 Oct6100ApiMixerEventAdd(
71
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
72
IN UINT16 f_usEventIndex,
73
IN UINT16 f_usEventType,
74
IN UINT16 f_usDestinationChanIndex );
76
UINT32 Oct6100ApiMixerEventRemove(
77
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
78
IN UINT16 f_usEventIndex,
79
IN UINT16 f_usEventType );
81
UINT32 Oct6100MixerCopyEventCreateSer(
82
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
83
IN OUT tPOCT6100_COPY_EVENT_CREATE f_pCopyEventCreate );
85
UINT32 Oct6100ApiCheckCopyEventCreateParams(
86
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
87
IN tPOCT6100_COPY_EVENT_CREATE f_pCopyEventCreate,
88
OUT PUINT16 f_pusSourceChanIndex,
89
OUT PUINT16 f_pusDestinationChanIndex );
91
UINT32 Oct6100ApiReserveCopyEventCreateResources(
92
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
93
OUT PUINT16 f_pusCopyEntryIndex,
94
IN OUT PUINT16 f_pusCopyEventIndex );
96
UINT32 Oct6100ApiWriteCopyEventCreateStructs(
97
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
98
IN tPOCT6100_COPY_EVENT_CREATE f_pCopyEventCreate,
99
IN UINT16 f_usMixerEventIndex,
100
IN UINT16 f_usSourceChanIndex,
101
IN UINT16 f_usDestinationChanIndex );
103
UINT32 Oct6100ApiUpdateCopyEventCreateEntry(
104
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
105
IN OUT tPOCT6100_COPY_EVENT_CREATE f_pCopyEventCreate,
106
IN UINT16 f_usCopyEventIndex,
107
IN UINT16 f_usMixerEventIndex,
108
IN UINT16 f_usSourceChanIndex,
109
IN UINT16 f_usDestinationChanIndex );
111
UINT32 Oct6100MixerCopyEventDestroySer(
112
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
113
IN OUT tPOCT6100_COPY_EVENT_DESTROY f_pCopyEventDestroy );
115
UINT32 Oct6100ApiAssertCopyEventDestroyParams(
116
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
117
IN tPOCT6100_COPY_EVENT_DESTROY f_pCopyEventDestroy,
118
IN OUT PUINT16 f_pusCopyEventIndex,
119
IN OUT PUINT16 f_pusMixerEventIndex );
121
UINT32 Oct6100ApiInvalidateCopyEventStructs(
122
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
123
IN UINT16 f_usCopyEventIndex,
124
IN UINT16 f_usMixerEventIndex );
126
UINT32 Oct6100ApiReleaseCopyEventResources(
127
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
128
IN UINT16 f_usCopyEventIndex,
129
IN UINT16 f_usMixerEventIndex );
131
UINT32 Oct6100ApiReserveMixerEventEntry(
132
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
133
OUT PUINT16 f_pusEventIndex );
135
UINT32 Oct6100ApiReleaseMixerEventEntry(
136
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
137
IN UINT16 f_usEventIndex );
139
UINT32 Oct6100ApiGetFreeMixerEventCnt(
140
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
141
OUT PUINT32 f_pulFreeEventCnt );
143
UINT32 Oct6100ApiReserveCopyEventEntry(
144
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
145
OUT PUINT16 f_pusEventIndex );
147
UINT32 Oct6100ApiReleaseCopyEventEntry(
148
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
149
IN UINT16 f_usEventIndex );
150
#endif /* __OCT6100_MIXER_PRIV_H__ */