summaryrefslogtreecommitdiff
path: root/software/include/oct6100api/oct6100_api_inst.h
blob: ee9d3f5612af1b50e4559197a65581142a83b83b (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
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\

File:  oct6100_api_inst.h

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

	File containing the definition of the API instance structure.

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: 42 $

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

#ifndef __OCT6100_API_INST_H__
#define __OCT6100_API_INST_H__

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


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


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

typedef struct _OCT6100_SHARED_INFO_
{
	/* Local copy of chip configuration structure. */
	tOCT6100_API_CHIP_CONFIG		ChipConfig;
	
	/* Miscellaneous calculations and mapping of static structures in external memory. */
	tOCT6100_API_MISCELLANEOUS		MiscVars;
	tOCT6100_API_MEMORY_MAP			MemoryMap;

	/* Error stats structure. */
	tOCT6100_API_CHIP_ERROR_STATS	ErrorStats;
	tOCT6100_API_CHIP_STATS			ChipStats;
	
	/* Mixer information. */
	tOCT6100_API_MIXER				MixerInfo;

	/* Image breakdown information. */
	tOCT6100_API_IMAGE_REGION		ImageRegion[ cOCT6100_MAX_IMAGE_REGION ];
	tOCT6100_API_IMAGE_INFO			ImageInfo;

	/* Configuration and management of interrupts. */
	tOCT6100_API_INTRPT_CONFIG		IntrptConfig;
	tOCT6100_API_INTRPT_MANAGE		IntrptManage;
	/* Remote debugging. */
	tOCT6100_API_REMOTE_DEBUG_INFO	RemoteDebugInfo;
	/* Chip debugging information. */
	tOCT6100_API_DEBUG				DebugInfo;

	/* Management variables of software and hardware buffers. */
	tOCT6100_API_SOFT_BUFS			SoftBufs;

	/* Caller buffer playout memory management structure. */
	tOCT6100_API_BUFFER_PLAYOUT_MALLOC_INFO	PlayoutInfo;
	


	UINT32	ulChannelListOfst;
	UINT32	ulChannelAllocOfst;

	UINT32	ulConversionMemoryAllocOfst;

	UINT32	ulTsiMemoryAllocOfst;
	UINT32	ulExtraTsiMemoryAllocOfst;
	UINT32	ulEchoMemoryAllocOfst;

	UINT32	ulTsstAllocOfst;
	UINT32	ulTsstListOfst;
	UINT32	ulTsstListAllocOfst;

	UINT32	ulTsiCnctListOfst;
	UINT32	ulTsiCnctAllocOfst;

	UINT32	ulMixerEventListOfst;
	UINT32	ulMixerEventAllocOfst;

	UINT32	ulCopyEventListOfst;
	UINT32	ulCopyEventAllocOfst;

	UINT32	ulBiDirChannelListOfst;
	UINT32	ulBiDirChannelAllocOfst;

	UINT32	ulConfBridgeListOfst;
	UINT32	ulConfBridgeAllocOfst;
	
	UINT32	ulFlexConfParticipantListOfst;
	UINT32	ulFlexConfParticipantAllocOfst;

	UINT32	ulPlayoutBufListOfst;
	UINT32	ulPlayoutBufAllocOfst;
	UINT32	ulPlayoutBufMemoryNodeListOfst;
	


	UINT32	ulAdpcmChanListOfst;
	UINT32	ulAdpcmChanAllocOfst;

	UINT32	ulPhasingTsstListOfst;
	UINT32	ulPhasingTsstAllocOfst;



} tOCT6100_SHARED_INFO, *tPOCT6100_SHARED_INFO;

typedef struct _OCT6100_INSTANCE_API_
{
	/* Pointer to portion of API instance structure shared amongst all processes. */
	tPOCT6100_SHARED_INFO	pSharedInfo;

	/* Pointer to user-supplied, process context structure.  The structure is
		a parameter to all user-supplied functions. */
	PVOID	pProcessContext;

	/* Handles to all serialization objects used by the API. */
	tOCT6100_USER_SERIAL_OBJECT	ulApiSerObj;

	
} tOCT6100_INSTANCE_API, *tPOCT6100_INSTANCE_API;

#endif /* __OCT6100_API_INST_H__ */