2
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: frame.h
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | Copyright 2002 Texas Instruments Berlin, AG
|
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 Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 | Purpose : Definitions for the frame.
|
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 FRAME_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #define FRAME_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
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /*==== TYPES ================================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 typedef enum { TST_ADR, RCV_ADR, END_OF_COMP_TABLE } T_COMPONENT_ID;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 void *RcvAdr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 void *TstAdr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 void *DrvListAdr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 void *InitFuncAdr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 UBYTE *FrameEnvAdr;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 } T_CONFIGURATION_ADDRESS;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 /*==== CONSTANTS ============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #define PF_OK 0
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #define PF_ERROR -1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #define VSI_CALLER 0,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #ifdef __FRAME_C__
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #ifndef RUN_INT_RAM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 char FRM_TST_NAME[RESOURCE_NAMELEN] = { 'T','S','T',0x0,0x0,0x0,0x0,0x0 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 char FRM_RCV_NAME[RESOURCE_NAMELEN] = { 'R','C','V',0x0,0x0,0x0,0x0,0x0 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 char FRM_SYST_NAME[RESOURCE_NAMELEN] = { 'S','Y','S','T',0x0,0x0,0x0,0x0 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 char FRM_PCO_NAME [RESOURCE_NAMELEN] = { 'P','C','O',0x0,0x0,0x0,0x0,0x0 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 char const *syst_wrn = "SYSTEM WARNING:";
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 extern char FRM_TST_NAME[];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 extern char FRM_RCV_NAME[];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 extern char FRM_SYST_NAME[];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 extern char FRM_PCO_NAME[];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 #else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 extern char const *syst_wrn;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 * Tokens of the system primitives
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #define SYSPRIM_REDIRECT_TOKEN "REDIRECT"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #define SYSPRIM_CONNECT_TOKEN "CONNECT"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #define SYSPRIM_DISCONNECT_TOKEN "DISCONNECT"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 #define SYSPRIM_DUPLICATE_TOKEN "DUPLICATE"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 #define SYSPRIM_CONFIG_TOKEN "CONFIG"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 #define SYSPRIM_MEMCHECK_TOKEN "MEMCHECK"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 #define SYSPRIM_RESET_TOKEN "RESET"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 #define SYSPRIM_VERSION_TOKEN "VERSION"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 #define SYSPRIM_CLEAR_TOKEN "CLEAR"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 #define SYSPRIM_NULL_TOKEN "NULL"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 #define SYSPRIM_TRACECLASS_TOKEN "TRACECLASS"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 #define SYSPRIM_DISPLAY_TOKEN "DISPLAY"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 #define SYSPRIM_BOOT_TOKEN "BOOT"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 #define SYSPRIM_SHOW_MEMORY "MEMORY"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 #define SYSPRIM_TRC_SUSPEND "TRCSUSPEND"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 #define SYSPRIM_READ_ROUTING "ROUTING"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 #define SYSPRIM_STR2IND_VERSION "STR2INDVERSION"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 #define SYSPRIM_EXIT_TOKEN "EXIT"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 #define SYSPRIM_REGISTER_TOKEN "REGISTER"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 #define SYSPRIM_WITHDRAW_TOKEN "WITHDRAW"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 #define SYSPRIM_STATUS_TOKEN "STATUS"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 #define SYSPRIM_SUPPRESS_OK "SUPPRESS_OK"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 #define SYSPRIM_GET_STACK_TIME "GET_STACK_TIME"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 #define SYSPRIM_IS_STACK_TIME "IS_STACK_TIME"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 #define SYSPRIM_READ_FFS_DAR "READ_DAR_FILE"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 #define SYSPRIM_SELECT_TIME_TDMA "TIME_TDMA"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #define SYSPRIM_CHECK_OWNER "PPM_CHECK_OWNER"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 #define SYSPRIM_TST_SYNC_REQ "TST_SYNC_REQ"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 #define SYSPRIM_TST_SYNC_CNF "TST_SYNC_CNF"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 #define SYSPRIM_TST_SYNC_REJ "TST_SYNC_REJ"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 #define SYSPRIM_ROUTE_DESCLIST "ROUTE_DESCLIST"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 #define SYSPRIM_READ_COM_MATRIX "READ_COM_MATRIX"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 #define SYSPRIM_ISOLATE_TOKEN "ISOLATE"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 #define SYSPRIM_REGISTER_ERR_IND "REG_ERROR_IND"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 #define SYSPRIM_WITHDRAW_ERR_IND "WITHDRAW_ERROR_IND"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 #define SYSPRIM_CHECK_DESCLIST "CHECK_DESCLIST"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 #define SYSPRIM_PCHECK "PCHECK"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 #define PERIODIC_TIMER 0x8000
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 #define TIMEOUT_OCCURRED 0x4000
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 #define TIMER_HANDLE_MASK (~(PERIODIC_TIMER|TIMEOUT_OCCURRED))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 * message prioritiey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 #define MSG_PRIMITIVE_PRIO OS_NORMAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 #define MSG_SIGNAL_PRIO OS_URGENT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 #define MSG_TRACE_PRIO OS_NORMAL
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 * length for traces
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 #define ITRACE_LEN (2*sizeof(USHORT)+1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 #define PTRACE_LEN_OPC16 18
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 #define PTRACE_LEN_OPC32 22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 #define STRACE_LEN 80
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 #define TRACE_TEXT_SIZE (sizeof(T_S_HEADER)+TTRACE_LEN)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 #define TRACE_INDEX_SIZE (sizeof(T_S_HEADER)+ITRACE_LEN)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 #define TRACE_PRIM_SIZE (sizeof(T_S_HEADER)+PTRACE_LEN_OPC32)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 #define TRACE_STATE_SIZE (sizeof(T_S_HEADER)+STRACE_LEN)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 /*==== PROTOTYPES ===========================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 GLOBAL void pf_Init (T_CONFIGURATION_ADDRESS *ConfigAddress);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 GLOBAL SHORT pf_CreateAllEntities (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 GLOBAL SHORT pf_StartAllTasks ( void );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 GLOBAL void pf_Timeout (T_HANDLE TaskHandle, T_HANDLE EntityHandle, USHORT TimerIndex );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 GLOBAL void pf_ProcessSystemPrim ( T_HANDLE TaskHandle, T_VOID_STRUCT *pPrim);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 GLOBAL int pf_handle_warning ( USHORT cause, const char * const format,...);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 GLOBAL void InitializeTimer (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 GLOBAL void InitializeTrace (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 GLOBAL void TracePoolstatus (T_HANDLE Caller );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 GLOBAL void InitializePPM (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 GLOBAL void InitializeDriverConfig (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 #ifdef _TOOLS_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 extern USHORT pf_get_frameenv (void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 void set_stack_time (ULONG time);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 void get_local_time (ULONG *time);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 #endif /* _TOOLS_ */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 #endif /* FRAME_H */
|