summaryrefslogtreecommitdiff
path: root/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h
blob: 4e10981115f6bf5fbbe66e101e97d74077068423 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\

File:  oct6100_conf_bridge_priv.h

    Copyright (c) 2001-2011 Octasic Inc.
    
Description: 

	File containing all private defines, macros, structures and prototypes 
	pertaining to the file oct6100_conf_bridge.c.  All elements defined in this 
	file are for private usage of the API.  All public elements are defined 
	in the oct6100_conf_bridge_pub.h file.

This file is part of the Octasic OCT6100 GPL API . The OCT6100 GPL API  is 
free software; you can redistribute it and/or modify it under the terms of 
the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

The OCT6100 GPL API is distributed in the hope that it will be useful, but 
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
for more details. 

You should have received a copy of the GNU General Public License 
along with the OCT6100 GPL API; if not, write to the Free Software 
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

$Octasic_Release: OCT612xAPI-01.04.06 $

$Octasic_Revision: 30 $

\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#ifndef __OCT6100_CONF_BRIDGE_PRIV_H__
#define __OCT6100_CONF_BRIDGE_PRIV_H__

/*****************************  INCLUDE FILES  *******************************/


/*****************************  DEFINES  *************************************/

#define mOCT6100_GET_CONF_BRIDGE_LIST_PNT( pSharedInfo, pList ) \
			pList = ( tPOCT6100_API_CONF_BRIDGE )(( PUINT8 )pSharedInfo + pSharedInfo->ulConfBridgeListOfst);

#define mOCT6100_GET_CONF_BRIDGE_ENTRY_PNT( pSharedInfo, pEntry, ulIndex ) \
			pEntry = (( tPOCT6100_API_CONF_BRIDGE )(( PUINT8 )pSharedInfo + pSharedInfo->ulConfBridgeListOfst)) + ulIndex;

#define mOCT6100_GET_CONF_BRIDGE_ALLOC_PNT( pSharedInfo, pAlloc ) \
			pAlloc = ( PVOID )(( PUINT8 )pSharedInfo + pSharedInfo->ulConfBridgeAllocOfst);

#define mOCT6100_GET_FLEX_CONF_PARTICIPANT_LIST_PNT( pSharedInfo, pList ) \
			pList = ( tPOCT6100_API_FLEX_CONF_PARTICIPANT )(( PUINT8 )pSharedInfo + pSharedInfo->ulFlexConfParticipantListOfst);

#define mOCT6100_GET_FLEX_CONF_PARTICIPANT_ENTRY_PNT( pSharedInfo, pEntry, ulIndex ) \
			pEntry = (( tPOCT6100_API_FLEX_CONF_PARTICIPANT )(( PUINT8 )pSharedInfo + pSharedInfo->ulFlexConfParticipantListOfst)) + ulIndex;

#define mOCT6100_GET_FLEX_CONF_PARTICIPANT_ALLOC_PNT( pSharedInfo, pAlloc ) \
			pAlloc = ( PVOID )(( PUINT8 )pSharedInfo + pSharedInfo->ulFlexConfParticipantAllocOfst);


/*****************************  TYPES  ***************************************/


/************************** FUNCTION PROTOTYPES  *****************************/

UINT32 Oct6100ApiGetConfBridgeSwSizes(
				IN OUT	tPOCT6100_CHIP_OPEN							f_pOpenChip,
				OUT		tPOCT6100_API_INSTANCE_SIZES				f_pInstSizes );

UINT32 Oct6100ApiConfBridgeSwInit(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst );

UINT32 Oct6100ConfBridgeOpenSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN OUT	tPOCT6100_CONF_BRIDGE_OPEN					f_pConfBridgeOpen );

UINT32 Oct6100ApiCheckBridgeParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN OUT	tPOCT6100_CONF_BRIDGE_OPEN					f_pConfBridgeOpen );

UINT32 Oct6100ApiReserveBridgeResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				OUT		PUINT16										f_pusBridgeIndex );

UINT32 Oct6100ApiUpdateBridgeEntry(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_OPEN					f_pConfBridgeOpen,
				IN		UINT16										f_usBridgeIndex );

UINT32 Oct6100ConfBridgeCloseSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CLOSE					f_pConfBridgeClose );

UINT32 Oct6100ApiAssertBridgeParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CLOSE					f_pConfBridgeClose,
				OUT		PUINT16										f_pusBridgeIndex );

UINT32 Oct6100ApiReleaseBridgeResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usBridgeIndex );

UINT32 Oct6100ConfBridgeChanAddSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_ADD				f_pConfBridgeAdd );

UINT32 Oct6100ApiCheckBridgeAddParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_ADD				f_pConfBridgeAdd,
				OUT		PUINT16										f_pusBridgeIndex, 
				OUT		PUINT16										f_pusChannelIndex,
				OUT		PUINT8										f_pfMute,
				OUT		PUINT32										f_pulInputPort, 
				OUT		PUINT8										f_pfFlexibleConfBridge,
				OUT		PUINT32										f_pulListenerMaskIndex,
				OUT		PUINT32										f_pulListenerMask,
				OUT		PUINT8										f_pfTap,
				OUT		PUINT16										f_pusTapChannelIndex );

UINT32 Oct6100ApiReserveBridgeAddResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usBridgeIndex,
				IN		UINT16										f_usChanIndex,
				IN		UINT32										f_ulInputPort,
				IN		UINT8										f_fFlexibleConfBridge,
				IN		UINT32										f_ulListenerMaskIndex,
				IN		UINT32										f_ulListenerMask,
				IN		UINT8										f_fTap,
				OUT		PUINT16										f_pusLoadEventIndex,
				OUT		PUINT16										f_pusSubStoreEventIndex,
				OUT		PUINT16										f_pusCopyEventIndex,
				OUT		PUINT16										f_pusTapBridgeIndex );

UINT32 Oct6100ApiBridgeEventAdd( 
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usBridgeIndex, 
				IN		UINT16										f_usChannelIndex,
				IN		UINT8										f_fFlexibleConfBridge,
				IN		UINT16										f_usLoadEventIndex,
				IN		UINT16										f_usSubStoreEventIndex,
				IN		UINT16										f_usCopyEventIndex,
				IN		UINT32										f_ulInputPort,
				IN		UINT8										f_fMute, 
				IN		UINT32										f_ulListenerMaskIndex,
				IN		UINT32										f_ulListenerMask,
				IN		UINT8										f_fTap,
				IN		UINT16										f_usTapBridgeIndex,
				IN		UINT16										f_usTapChanIndex );

UINT32 Oct6100ApiBridgeAddParticipantToChannel(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usBridgeIndex, 
				IN		UINT16										f_usSourceChannelIndex,
				IN		UINT16										f_usDestinationChannelIndex,
				IN		UINT16										f_usLoadOrAccumulateEventIndex,
				IN		UINT16										f_usStoreEventIndex,
				IN		UINT16										f_usCopyEventIndex,
				IN		UINT32										f_ulSourceInputPort,
				IN		UINT32										f_ulDestinationInputPort );

UINT32 Oct6100ConfBridgeChanRemoveSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_REMOVE			f_pConfBridgeRemove );

UINT32 Oct6100ApiCheckChanRemoveParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_REMOVE			f_pConfBridgeRemove,
				OUT		PUINT16										f_pusBridgeIndex, 
				OUT		PUINT16										f_pusChannelIndex,
				OUT		PUINT8										f_pfFlexibleConfBridge,
				OUT		PUINT8										f_pfTap,
				OUT		PUINT16										f_pusLoadEventIndex,
				OUT		PUINT16										f_pusSubStoreEventIndex,
				OUT		PUINT16										f_pusCopyEventIndex );

UINT32 Oct6100ApiReleaseChanEventResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_REMOVE			f_pConfBridgeRemove,
				IN		UINT16										f_usBridgeIndex, 
				IN		UINT16										f_usChanIndex, 
				IN		UINT8										f_fFlexibleConfBridge,
				IN		UINT16										f_usLoadEventIndex,
				IN		UINT16										f_usSubStoreEventIndex,
				IN		UINT16										f_usCopyEventIndex );

UINT32 Oct6100ApiBridgeEventRemove (
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_REMOVE			f_pConfBridgeRemove,
				IN		UINT16										f_usBridgeIndex, 
				IN		UINT16										f_usChannelIndex,
				IN		UINT8										f_fFlexibleConfBridge,
				IN		UINT16										f_usLoadEventIndex,
				IN		UINT16										f_usSubStoreEventIndex,
				IN		UINT16										f_usCopyEventIndex,
				IN		UINT8										f_fTap );

UINT32 Oct6100ApiBridgeRemoveParticipantFromChannel(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst, 
				IN		UINT16										f_usBridgeIndex,
				IN		UINT16										f_usSourceChannelIndex,
				IN		UINT16										f_usDestinationChannelIndex,
				IN		UINT8										f_fRemovePermanently );

UINT32 Oct6100ConfBridgeChanMuteSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_MUTE				f_pConfBridgeMute );

UINT32 Oct6100ApiUpdateBridgeMuteResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usChanIndex,
				IN		UINT16										f_usLoadEventIndex,
				IN		UINT16										f_usSubStoreEventIndex, 
				IN		UINT8										f_fFlexibleConfBridge );
				
UINT32 Oct6100ApiCheckBridgeMuteParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_MUTE				f_pConfBridgeMute,
				OUT		PUINT16										f_pusChannelIndex,
				OUT		PUINT16										f_pusLoadEventIndex,
				OUT		PUINT16										f_pusSubStoreEventIndex, 
				OUT		PUINT8										f_pfFlexibleConfBridge );

UINT32 Oct6100ConfBridgeChanUnMuteSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_UNMUTE			f_pConfBridgeUnMute );

UINT32 Oct6100ApiCheckBridgeUnMuteParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_CHAN_UNMUTE			f_pConfBridgeUnMute,
				OUT		PUINT16										f_pusChannelIndex,
				OUT		PUINT16										f_pusLoadEventIndex,
				OUT		PUINT16										f_pusSubStoreEventIndex, 
				OUT		PUINT8										f_pfFlexibleConfBridge );

UINT32 Oct6100ApiUpdateBridgeUnMuteResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usChanIndex,
				IN		UINT16										f_usLoadEventIndex,
				IN		UINT16										f_usSubStoreEventIndex, 
				IN		UINT8										f_fFlexibleConfBridge );

UINT32 Oct6100ConfBridgeDominantSpeakerSetSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_DOMINANT_SPEAKER_SET	f_pConfBridgeDominantSpeaker );

UINT32 Oct6100ApiCheckBridgeDominantSpeakerParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_DOMINANT_SPEAKER_SET	f_pConfBridgeDominantSpeaker,
				OUT		PUINT16										f_pusChannelIndex,
				OUT		PUINT16										f_pusBridgeIndex );

UINT32 Oct6100ApiUpdateBridgeDominantSpeakerResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usChanIndex,
				IN		UINT16										f_usBridgeIndex );

UINT32 Oct6100ConfBridgeMaskChangeSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_MASK_CHANGE			f_pConfBridgeMaskChange );

UINT32 Oct6100ApiCheckBridgeMaskChangeParams(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		tPOCT6100_CONF_BRIDGE_MASK_CHANGE			f_pConfBridgeMaskChange,
				OUT		PUINT16										f_pusChannelIndex,
				OUT		PUINT16										f_pusBridgeIndex,
				OUT		PUINT32										f_pulNewParticipantMask );

UINT32 Oct6100ApiUpdateMaskModifyResources(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usBridgeIndex,
				IN		UINT16										f_usChanIndex,
				IN		UINT32										f_ulNewListenerMask );

UINT32 Oct6100ApiBridgeUpdateMask( 
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst, 
				IN		UINT16										f_usBridgeIndex, 
				IN		UINT16										f_usChanIndex, 
				IN		UINT32										f_ulNewListenerMask );

UINT32 Oct6100ConfBridgeGetStatsSer(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN OUT	tPOCT6100_CONF_BRIDGE_STATS					f_pConfBridgeStats );

UINT32 Oct6100ApiReserveBridgeEntry(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				OUT		PUINT16										f_pusConfBridgeIndex );

UINT32 Oct6100ApiReleaseBridgeEntry(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usConfBridgeIndex );

UINT32 Oct6100ApiGetPrevLastSubStoreEvent(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usBridgeIndex,
				IN		UINT16										f_usBridgeFirstLoadEventPtr,
				OUT		PUINT16										f_pusLastSubStoreEventIndex );

UINT32 Oct6100ApiGetPreviousEvent(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usStartIndex,
				IN		UINT16										f_usSearchedIndex,
				IN		UINT16										f_usLoopCnt,
				OUT		PUINT16										f_pusPreviousIndex );

UINT32 Oct6100ApiBridgeSetDominantSpeaker(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usChannelIndex,
				IN		UINT16										f_usDominantSpeakerIndex );

UINT32 Oct6100ApiReserveFlexConfParticipantEntry(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				OUT		PUINT16										f_pusParticipantIndex );

UINT32 Oct6100ApiReleaseFlexConfParticipantEntry(
				IN OUT	tPOCT6100_INSTANCE_API						f_pApiInst,
				IN		UINT16										f_usParticipantIndex );

#endif /* __OCT6100_CONF_BRIDGE_PRIV_H__ */