0
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 rvm_api.h
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * Public interface of the Riviera Manager.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * @author Cristian Livadiotti (c-livadiotti@ti.com)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 * @version 0.2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * Revision History:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 * 06/04/2000 Cristian Livadiotti Create.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 * 10/18/2001 David Lamy-Charrier Update for new Riviera 1.6.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 *
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #ifndef __RVM_API_H_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #define __RVM_API_H_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "rv/rv_general.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 //#include "rvf_i.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #ifdef __cplusplus
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 extern "C" {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #endif
|
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 * Message type used by rvf: add, del and Modify timers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 *******************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #define RVM_MSG_OFFSET_PUB BUILD_MESSAGE_OFFSET(RVM_USE_ID)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #define RVM_TMS_MSG (RVM_MSG_OFFSET_PUB | 0x004)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #define RVF_NOTIFY_MSG (RVM_MSG_OFFSET_PUB | 0x006)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 /******************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 /* RVM functions return type and values */
|
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 /* Return type */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 typedef T_RV_RET T_RVM_RETURN;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 /* RVM return parameters definition */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #define RVM_OK RV_OK
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #define RVM_NOT_SUPPORTED RV_NOT_SUPPORTED
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #define RVM_NOT_READY RV_NOT_READY
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #define RVM_MEMORY_ERR RV_MEMORY_ERR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 #define RVM_INTERNAL_ERR RV_INTERNAL_ERR
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 #define RVM_INVALID_PARAMETER RV_INVALID_PARAMETER
|
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 /******************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 /* Definition / Types related to both API functions and messages */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 /******************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 /* RVM USEID definition (Unique Software Entity IDentifier)*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 typedef UINT32 T_RVM_USE_ID;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 #define RVM_INVALID_USE_ID (0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 /* RVM name prototype */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #define RVM_NAME_MAX_LEN (10)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 typedef char T_RVM_NAME[RVM_NAME_MAX_LEN];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 typedef UINT32 T_RVM_VERSION;
|
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 /* Definition / Types related to messages only */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 /***********************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 /* Message used as a result from a rvm_start or rv_stop function call */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 /*--------------------------------------------------------------------*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 #define RVM_EVT_TO_APPLI (60009) // Value of the event field in the message buffer
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 /* Action field of the results message to application */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 typedef enum {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 RVM_START_APPLI = 0,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 RVM_STOP_APPLI = 1
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 }T_RVM_APPLI_ACTION;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 /* structure of RVM returned message to appli */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 typedef struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 T_RV_HDR header; // event field will be RVM_EVT_TO_APPLI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 T_RV_RETURN_PATH rp;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 T_RVM_APPLI_ACTION action; // Indicates if the result is coming from a rvm_start or a rvm_stop function call
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 T_RVM_NAME swe_name; // Name of the SW entity
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 UINT8 swe_index; // Number of the SW entity
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 T_RVM_RETURN result;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 } T_RVM_APPLI_RESULT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102
|
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 /* RVM external functions declarations */
|
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 /* enable init at boot up */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 BOOLEAN rvm_init(void);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 /* launch the creation process to start the specified SWE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 T_RVM_RETURN rvm_start_swe( T_RVM_USE_ID swe_id, T_RV_RETURN_PATH return_path);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 /* stop the specified SWE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 T_RVM_RETURN rvm_stop_swe( T_RVM_USE_ID swe_id, T_RV_RETURN_PATH return_path);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 T_RVM_RETURN rvm_swe_stopped(T_RV_HDR* p_msg);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 /* function called to start the RV Environment */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 T_RVM_RETURN rvm_start_environment();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 /* function called to get the return_path of a SWE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 T_RVM_RETURN rvm_get_swe_information( T_RVM_USE_ID swe_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 T_RV_RETURN_PATH * return_path);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 /* function called to get the user-friendly name of a SWE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 T_RVM_RETURN rvm_get_swe_name( T_RVM_USE_ID swe_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 T_RVM_NAME swe_name);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 /* function called to get the version number of a SWE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 T_RVM_RETURN rvm_get_swe_version( T_RVM_USE_ID swe_id,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 T_RVM_VERSION * swe_version);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 #ifdef __cplusplus
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 #endif
|
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 #endif /* __RVM_API_H_ */
|