comparison src/cs/drivers/drv_app/kpd/kpd_messages_i.h @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4e78acac3d88
1 /**
2 * @file kpd_messages_i.h
3 *
4 * Data structures that KPD SWE can receive.
5 *
6 * These messages are send by the bridge function. There are not available
7 * out of the SWE.
8 *
9 * @author Laurent Sollier (l-sollier@ti.com)
10 * @version 0.1
11 */
12
13 /*
14 * History:
15 *
16 * Date Author Modification
17 * ----------------------------------------
18 * 10/10/2001 L Sollier Create
19 *
20 *
21 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
22 */
23
24 #ifndef _KPD_MESSAGES_I_H_
25 #define _KPD_MESSAGES_I_H_
26
27 #include "kpd/kpd_api.h"
28 #include "kpd/kpd_i.h"
29 #include "kpd/kpd_messages_i.h"
30
31 #include "rv/rv_general.h"
32
33
34 /* Strusture used to send a subscription request */
35 typedef struct
36 {
37 T_SUBSCRIBER_ID subscriber_id;
38 T_KPD_MODE mode;
39 T_KPD_VIRTUAL_KEY_TABLE notified_keys;
40 T_RV_RETURN return_path;
41
42 } T_SUBSCRIPTION_INFO;
43
44
45 /**
46 * @name KPD_SUBSCRIBE_MSG
47 *
48 * Internal message.
49 *
50 * Message issued by KPD to KPD task.
51 * This message is used to process a subscription.
52 */
53 /*@{*/
54 /** Message ID. */
55 #define KPD_SUBSCRIBE_MSG (KPD_MESSAGES_OFFSET | 0x003)
56
57 /** Message structure. */
58 typedef struct
59 {
60 /** Message header. */
61 T_RV_HDR hdr;
62
63 /** Informations for subscription. */
64 T_SUBSCRIPTION_INFO subscription_info;
65
66 } T_KPD_SUBSCRIBE_MSG;
67 /*@}*/
68
69 /**
70 * @name KPD_UNSUBSCRIBE_MSG
71 *
72 * Internal message.
73 *
74 * Message issued by KPD to KPD task.
75 * This message is used to process an unsubscription.
76 */
77 /*@{*/
78 /** Message ID. */
79 #define KPD_UNSUBSCRIBE_MSG (KPD_MESSAGES_OFFSET | 0x004)
80
81 /** Message structure. */
82 typedef struct
83 {
84 /** Message header. */
85 T_RV_HDR hdr;
86
87 /** Subscriber Id. */
88 T_SUBSCRIBER_ID subscriber_id;
89
90 } T_KPD_UNSUBSCRIBE_MSG;
91 /*@}*/
92
93 /**
94 * @name KPD_NOTIF_KEYS_MSG
95 *
96 * Internal message.
97 *
98 * Message issued by KPD to KPD task.
99 * This message is used to store a notification key level .
100 */
101 /*@{*/
102 /** Message ID. */
103 #define KPD_NOTIF_KEYS_MSG (KPD_MESSAGES_OFFSET | 0x005)
104
105 /** Message structure. */
106 typedef struct
107 {
108 /** Message header. */
109 T_RV_HDR hdr;
110
111 /* Keys informations */
112 T_SUBSCRIBER_ID subscriber_id;
113 T_KPD_VIRTUAL_KEY_TABLE notif_key_table;
114 T_KPD_NOTIF_LEVEL notif_level;
115 UINT16 long_press_time;
116 UINT16 repeat_time;
117
118 } T_KPD_NOTIF_KEYS_MSG;
119 /*@}*/
120
121 /**
122 * @name KPD_CHANGE_MODE_MSG
123 *
124 * Internal message.
125 *
126 * Message issued by KPD to KPD task.
127 * This message is used to change the mode for a subscriber.
128 */
129 /*@{*/
130 /** Message ID. */
131 #define KPD_CHANGE_MODE_MSG (KPD_MESSAGES_OFFSET | 0x006)
132
133 /** Message structure. */
134 typedef struct
135 {
136 /** Message header. */
137 T_RV_HDR hdr;
138
139 /* Change mode informations */
140 T_SUBSCRIBER_ID subscriber_id;
141 T_KPD_VIRTUAL_KEY_TABLE notified_keys;
142 T_KPD_MODE new_mode;
143
144 } T_KPD_CHANGE_MODE_MSG;
145 /*@}*/
146
147 /**
148 * @name KPD_OWN_KEYPAD_MSG
149 *
150 * Internal message.
151 *
152 * Message issued by KPD to KPD task.
153 * This message is used to define the subscriber as the owner of the keypad.
154 */
155 /*@{*/
156 /** Message ID. */
157 #define KPD_OWN_KEYPAD_MSG (KPD_MESSAGES_OFFSET | 0x007)
158
159 /** Message structure. */
160 typedef struct
161 {
162 /** Message header. */
163 T_RV_HDR hdr;
164
165 /* Own keypad informations */
166 T_SUBSCRIBER_ID subscriber_id;
167 BOOL is_keypad_owner;
168 T_KPD_VIRTUAL_KEY_TABLE keys_owner;
169
170 } T_KPD_OWN_KEYPAD_MSG;
171
172
173 /*@}*/
174
175 /**
176 * @name KPD_SET_CONFIG_MODE_MSG
177 *
178 * Internal message.
179 *
180 * Message issued by KPD to KPD task.
181 * This message is used to define the configurable mode with a set of keys.
182 */
183 /*@{*/
184 /** Message ID. */
185 #define KPD_SET_CONFIG_MODE_MSG (KPD_MESSAGES_OFFSET | 0x008)
186
187 /** Message structure. */
188 typedef struct
189 {
190 /** Message header. */
191 T_RV_HDR hdr;
192
193 /* New config mode informations */
194 T_SUBSCRIBER_ID subscriber_id;
195 T_KPD_VIRTUAL_KEY_TABLE reference_keys;
196 T_KPD_VIRTUAL_KEY_TABLE new_keys;
197
198 } T_KPD_SET_CONFIG_MODE_MSG;
199 /*@}*/
200
201 /**
202 * @name T_KPD_KEY_PRESSED_MSG
203 *
204 * Internal message.
205 *
206 * Message issued by HISR to KPD task.
207 * This message is used by the Keypad HISR to inform the keypad task
208 * that a key is pressed.
209 */
210 /*@{*/
211 /** Message ID. */
212 #define KPD_KEY_PRESSED_MSG (KPD_MESSAGES_OFFSET | 0x009)
213
214 /** Message structure. */
215 typedef struct
216 {
217 /** Message header. */
218 T_RV_HDR hdr;
219
220 /* Physical key pressed Id, or KPD_PKEY_NULL if key is released.
221 Note that this variable is used only for PC Riviera Tool, but is
222 not in flag compilation for forward compatibility (Calypso+, IT
223 when key is pressed and released) */
224 T_KPD_PHYSICAL_KEY_ID value;
225
226 /* Define if key must be processd or not.
227 This field is used in order to limit memory use,
228 and allow keypad task to send messages to subscribers */
229 BOOL key_to_process;
230
231 } T_KPD_KEY_PRESSED_MSG;
232 /*@}*/
233
234
235 #endif /* _KPD_MESSAGES_I_H_ */