comparison gpf/inc/frm_types.h @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:75a11d740a02
1 /*
2 +------------------------------------------------------------------------------
3 | File: frm_types.h
4 +------------------------------------------------------------------------------
5 | Copyright 2002 Texas Instruments Berlin, AG
6 | All rights reserved.
7 |
8 | This file is confidential and a trade secret of Texas
9 | Instruments Berlin, AG
10 | The receipt of or possession of this file does not convey
11 | any rights to reproduce or disclose its contents or to
12 | manufacture, use, or sell anything it may describe, in
13 | whole, or in part, without the specific written consent of
14 | Texas Instruments Berlin, AG.
15 +-----------------------------------------------------------------------------
16 | Purpose : Definitions for the Frame
17 +-----------------------------------------------------------------------------
18 */
19
20 #ifndef FRM_TYPES_H
21 #define FRM_TYPES_H
22
23 /*==== INCLUDES =============================================================*/
24
25 #include "gpfconf.h"
26 #include "pei.h"
27 #include "gdi.h"
28
29 /*==== CONSTANTS ============================================================*/
30
31 /*==== TYPES ================================================================*/
32
33 /*
34 * Type Definitions for Frame Management
35 */
36
37 typedef struct
38 {
39 char Name[RESOURCE_NAMELEN]; /* name of task */
40 T_PEI_FUNC const *PeiTable; /* addresses of pei_functions */
41 USHORT NumOfTimers; /* timers are created in pf_TaskEntry() */
42 USHORT QueueEntries; /* queue is created in pf_TaskEntry() */
43 T_HANDLE * FirstTimerEntry; /* first entry in timer handle array */
44 T_HANDLE MemPoolHandle; /* handle for memory pool access */
45 T_HANDLE QueueHandle; /* own queue handle */
46 T_HANDLE TaskHandle; /* own task handle */
47 U32 Flags; /* active/passive */
48 } T_FRM_TASK_TABLE_ENTRY;
49
50 typedef struct
51 {
52 ULONG TimerValue; /* value of timer */
53 ULONG TimerMode; /* mode of timer */
54 } T_FRM_TIMCFG_TABLE_ENTRY;
55
56 typedef struct
57 {
58 char *Name; /* name of the driver */
59 T_HANDLE ProcessHandle; /* handle of the process to be notified */
60 USHORT UpperDrv; /* handle of driver in the upper layer */
61 USHORT LowerDrv; /* handle of driver in the lower layer */
62 USHORT SignalTo; /* handle of process to be notified at Callback */
63 T_DRV_EXPORT const *DrvInfo;
64 } T_DRV_TABLE_ENTRY;
65
66 typedef struct
67 {
68 unsigned int part_num;
69 unsigned int part_size;
70 void * mem;
71 } T_FRM_PARTITION_POOL_CONFIG;
72
73 typedef struct
74 {
75 char * name;
76 const T_FRM_PARTITION_POOL_CONFIG * grp_config;
77 } T_FRM_PARTITION_GROUP_CONFIG;
78
79 typedef struct
80 {
81 char *Name;
82 ULONG Size;
83 char *PoolAddress;
84 } T_MEMORY_POOL_CONFIG;
85
86 typedef SHORT T_PEI_CREATE ( T_PEI_INFO const **Info );
87
88 typedef struct
89 {
90 T_PEI_CREATE *PeiCreate;
91 char *Name;
92 int Priority;
93 } T_COMPONENT_ADDRESS;
94
95
96 #ifdef MEMORY_SUPERVISION
97
98 typedef struct
99 {
100 ULONG Total; /* total number of elements */
101 ULONG Current; /* current number of elements */
102 ULONG Maximum; /* maximum number of elements */
103 ULONG MaxByteMemory; /* number of allocated bytes at maximum of elements */
104 ULONG MaxPartMemory; /* number of allocated partitions at maximum of elements */
105 } T_COUNTER;
106
107 typedef struct
108 {
109 ULONG UsedSize; /* size of stored primitive */
110 ULONG RequestedSize; /* requested size during allocation */
111 ULONG time; /* time when partition is touched */
112 USHORT Status; /* status of partition */
113 T_HANDLE owner;
114 ULONG PrimOPC; /* opc of primitive that uses this partition */
115 void *ptr;
116 const char *Userfile; /* file that accesses partition */
117 int Line; /* line where partition is accessed */
118 } T_PARTITION_STATUS;
119
120 typedef struct
121 {
122 ULONG PrimOPC; /* opc of primitive that does not fit in partition */
123 const char *Userfile; /* file that access partition */
124 int Line; /* line where partition is accessed */
125 } T_OVERSIZE_STATUS;
126
127 typedef struct
128 {
129 T_PARTITION_STATUS *PartitionStatus;
130 T_OVERSIZE_STATUS *PartitionOversize;
131 T_COUNTER *PartitionCounter;
132 #ifdef OPTIMIZE_POOL
133 T_COUNTER *ByteCounter;
134 T_COUNTER *RangeCounter;
135 #endif /* OPTIMIZE_POOL */
136 } T_PARTITION_POOL_STATUS;
137
138 #endif
139
140 #endif