1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | File: mem.h
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | Copyright Condat AG 1999-2000, Berlin
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | This file is confidential and a trade secret of Condat AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | Condat AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Purpose: Definitions for the entity MEM.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 | $Identity:$
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #ifndef MEM_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define MEM_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /*==== INCLUDES ==============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "typedefs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "vsi.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "pei.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "tools.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 /*==== GENERATED CONTENT ======================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 +--------------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 | PROJECT : PROTOCOL STACK |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 | FILE : p_8010_112_mem_sap.val |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 | SOURCE : "s:\g23m\condat\ms\DFILE\PRIM\8010_112_mem_sap.pdf" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 | LastModified : "12 February, 2003 by Gert Z. Srensen (GSO)" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 | IdAndVersion : "8010.112.02.002" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 | SrcFileTime : "Wed Nov 26 14:28:02 2003" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 | Generated by CCDGEN_2.4.11 on Tue Sep 21 10:40:12 2004 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 +--------------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* PRAGMAS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 * PREFIX : MEM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 * COMPATIBILITY_DEFINES : NO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 * ALWAYS_ENUM_IN_VAL_FILE: YES
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 * ENABLE_GROUP: NO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 * CAPITALIZE_TYPENAME: NO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 #ifndef P_8010_112_MEM_SAP_VAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 #define P_8010_112_MEM_SAP_VAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #define CDG_ENTER__P_8010_112_MEM_SAP_VAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 #define CDG_ENTER__FILENAME _P_8010_112_MEM_SAP_VAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 #define CDG_ENTER__P_8010_112_MEM_SAP_VAL__FILE_TYPE CDGINC
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 #define CDG_ENTER__P_8010_112_MEM_SAP_VAL__LAST_MODIFIED _12_February_2003_by_Gert_Z_Srensen_GSO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 #define CDG_ENTER__P_8010_112_MEM_SAP_VAL__ID_AND_VERSION _8010_112_02_002
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 #define CDG_ENTER__P_8010_112_MEM_SAP_VAL__SRC_FILE_TIME _Wed_Nov_26_14_28_02_2003
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #include "CDG_ENTER.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 #undef CDG_ENTER__P_8010_112_MEM_SAP_VAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 #undef CDG_ENTER__FILENAME
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 * user defined constants
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 #define MEM_MAX_NUMBER_OF_BUFFERS (0x40)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 #define MEM_MAX_NUMBER_OF_USERS (0x40)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 #define MEM_UNORDERED_BUFFER (0x0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 #define MEM_FIFO_BUFFER (0x1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 #define MEM_MAX_RAB_ID (0x10)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 #define MEM_MAX_MEMORY_POOL_SIZE (0xffffff)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 #define MEM_INVALID_USER_HANDLE (0x0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 #define MEM_INVALID_BUFFER_HANDLE (0x0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 #define MEM_RLC_UL_AM_MODE (0x0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 #define MEM_RLC_UL_UM_MODE (0x1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 #define MEM_RLC_UL_TM_MODE (0x2)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 #define MEM_INVALID_MEMORY_HANDLE (0x0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 #include "CDG_LEAVE.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 +--------------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 | PROJECT : PROTOCOL STACK |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 | FILE : p_8010_112_mem_sap.h |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 | SOURCE : "s:\g23m\condat\ms\DFILE\PRIM\8010_112_mem_sap.pdf" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 | LastModified : "12 February, 2003 by Gert Z. Srensen (GSO)" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 | IdAndVersion : "8010.112.02.002" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 | SrcFileTime : "Wed Nov 26 14:28:02 2003" |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 | Generated by CCDGEN_2.4.11 on Tue Sep 21 10:40:12 2004 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 +--------------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 /* PRAGMAS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 * PREFIX : MEM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 * COMPATIBILITY_DEFINES : NO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 * ALWAYS_ENUM_IN_VAL_FILE: YES
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 * ENABLE_GROUP: NO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 * CAPITALIZE_TYPENAME: NO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 #ifndef P_8010_112_MEM_SAP_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 #define P_8010_112_MEM_SAP_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 #define CDG_ENTER__P_8010_112_MEM_SAP_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 #define CDG_ENTER__FILENAME _P_8010_112_MEM_SAP_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 #define CDG_ENTER__P_8010_112_MEM_SAP_H__FILE_TYPE CDGINC
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 #define CDG_ENTER__P_8010_112_MEM_SAP_H__LAST_MODIFIED _12_February_2003_by_Gert_Z_Srensen_GSO
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 #define CDG_ENTER__P_8010_112_MEM_SAP_H__ID_AND_VERSION _8010_112_02_002
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 #define CDG_ENTER__P_8010_112_MEM_SAP_H__SRC_FILE_TIME _Wed_Nov_26_14_28_02_2003
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 #include "CDG_ENTER.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 #undef CDG_ENTER__P_8010_112_MEM_SAP_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 #undef CDG_ENTER__FILENAME
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 #ifndef __T_MEM_no_parms__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 #define __T_MEM_no_parms__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 * No parameters.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 * CCDGEN:WriteStruct_Count==14836
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 U8 none; /*< 0: 1> No parameters */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 U8 zzz_align0; /*< 1: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 U8 zzz_align1; /*< 2: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 U8 zzz_align2; /*< 3: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 } T_MEM_no_parms;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 #ifndef __T_MEM_uplink_buffer_users_info__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 #define __T_MEM_uplink_buffer_users_info__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 * No parameters.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 * CCDGEN:WriteStruct_Count==14839
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 U8 rab_id; /*< 0: 1> Radio access identifier */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 U8 rlc_mode; /*< 1: 1> RLC Mode */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 U8 zzz_align0; /*< 2: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 U8 zzz_align1; /*< 3: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 U32 bits_per_tti; /*< 4: 4> Bits per TTI */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 U16 rlc_tx_window_size; /*< 8: 2> RLC window size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 U8 zzz_align2; /*< 10: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 U8 zzz_align3; /*< 11: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 } T_MEM_uplink_buffer_users_info;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 * End of substructure section, begin of primitive definition section
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 #ifndef __T_MEM_READY_IND__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 #define __T_MEM_READY_IND__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 * CCDGEN:WriteStruct_Count==14842
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 U8 user_handle; /*< 0: 1> User Handle */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 U8 user_parameter; /*< 1: 1> User parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 U8 zzz_align0; /*< 2: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 U8 zzz_align1; /*< 3: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 } T_MEM_READY_IND;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 #ifndef __T_MEM_BUFFER__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 #define __T_MEM_BUFFER__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 * CCDGEN:WriteStruct_Count==14845
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 U32 memory_pool_size; /*< 0: 4> Memory pool size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 U32 allocated; /*< 4: 4> Parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 U8 ordering; /*< 8: 1> Ordering */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 U8 delete_pending; /*< 9: 1> Parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 U8 zzz_align0; /*< 10: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 U8 zzz_align1; /*< 11: 1> alignment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 U32 max_allocated; /*< 12: 4> Parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 U32 fifo_read_index; /*< 16: 4> Parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 U32 fifo_write_index; /*< 20: 4> Parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 } T_MEM_BUFFER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 #include "CDG_LEAVE.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 /*==== CONSTS ================================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 #define MEM_READY_IND (0x8000408b)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 #define MEM_BUFFER (0x8001408b)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 #ifdef ENTITY_MEM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 #define VSI_CALLER mem_handle,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 #define VSI_CALLER_SINGLE mem_handle
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 #define MEM_STATISTICS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 #define MAX_UPLINK_USERS 11 /* Maximum number of uplink buffer users. Corresponds */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 /* maxim number of available rab identifiers */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 #define MAX_RAB_ID 16 /* Maximum RAB identifier. Used in array declarations. 15+1 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 #define RAB_TRANSMIT_BUFFER_SIZE_BYTES 500000 /* Uplink buffer size */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 #define MAX_SDU_SIZE 1520
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 /*==== TYPES =================================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 T_HANDLE comm_handle; /* Communication handle to user */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 U8 user_parameter; /* User defined parameter */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 U8 buffer_id; /* Id of buffer used by this user */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 U32 low; /* Flow control low */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 U32 high; /* Flow control high */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 U32 max; /* Flow control max */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 U32 allocated; /* Allocated number of octets */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 #ifdef MEM_STATISTICS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 U32 max_allocated; /* Max number of octets allocated by user */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 #endif /* STATISTICS */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 U16 space_before; /* Extra space to allocate before user data */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 U8 space_after; /* Extra space to allocate after user data */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 U8 ready; /* TRUE if ready to receive data from this user */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 U8 delete_pending; /* TRUE if user is to be deleted when all freed */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 } T_MEM_USER;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 U8* (*get_user_data) (U32 memory_handle, U16 *ptr_length);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 U8 (*create_user) (U8 buffer_handle, U8 user_parameter, char *task_name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 U8 (*create_buffer) (U8 ordering, U32 memory_pool_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 U8* (*alloc) (U8 user_handle, U16 length, U32 *ptr_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 void (*dealloc) (U32 memory_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272 void (*delete_user) (U8 user_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 void (*delete_buffer) (U8 buffer_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 } T_MEM_PROPERTIES;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 /*==== EXPORTS ===============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 #ifdef MEM_PEI_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 /* Task handle for MEM */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 T_HANDLE mem_handle;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 /* Semaphore used to guarantee exclusive access at critical points */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 T_HANDLE mem_semaphore_handle;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 /*T_MEM_BUFFER *mem_buffer[MEM_MAX_NUMBER_OF_BUFFERS];*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 T_MEM_USER *mem_user[MEM_MAX_NUMBER_OF_USERS];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 #else /* MEM_PEI_C */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 extern T_HANDLE mem_handle;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 extern T_HANDLE mem_semaphore_handle;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 extern T_MEM_BUFFER *mem_buffer[MEM_MAX_NUMBER_OF_BUFFERS];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 extern T_MEM_USER *mem_user[MEM_MAX_NUMBER_OF_USERS];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 #endif /* MEM_PEI_C */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 extern U8 mem_create_buffer(U8 ordering, U32 memory_pool_size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 extern void mem_delete_buffer(U8 buffer_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 extern U8 mem_create_user(U8 buffer_handle, U8 user_parameter, char *task_name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 extern void mem_init(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 extern void mem_delete_user(U8 user_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 extern U8 mem_create_uplink_user(char* task_name, U8 mem_rab_id);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 extern void mem_delete_uplink_user(U8 user_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 extern void mem_adjust_uplink_users_flow_control(T_MEM_uplink_buffer_users_info *users_info[MEM_MAX_RAB_ID]);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 extern void mem_configure_flow_control(U8 user_handle, U32 low, U32 high, U32 max);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 extern void mem_configure_extra_space(U8 user_handle, U16 space_before, U8 space_after);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 extern BOOL mem_ready(U8 user_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 extern U8 *mem_alloc(U8 user_handle, U16 length, U32 *ptr_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 extern void mem_dealloc(U32 memory_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 extern void mem_realloc(U32 memory_handle, U16 length);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 extern U8 *mem_get_user_data(U32 memory_handle, U16 *ptr_length);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 extern U16 mem_get_space_before(U32 memory_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 extern U8 mem_get_space_after(U32 memory_handle);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 extern U8 *mem_decrease_space_before(U32 memory_handle, U16 delta_space_before, U16 *ptr_length);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 extern void mem_increase_space_before(U32 memory_handle, U16 delta_space_before);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 extern void mem_decrease_space_after(U32 memory_handle, U8 delta_space_after);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 extern void mem_increase_space_after(U32 memory_handle, U8 delta_space_after);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 extern void mem_send_ready_ind(T_HANDLE com_handle, U8 user_handle, U8 user_paramaeter);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 #endif /* MEM_H */
|