comparison src/cs/drivers/drv_app/kpd/kpd_env.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_env.h
3 *
4 * Declarations of the Riviera Generic Functions
5 * (except handle message and handle timer).
6 *
7 * @author Laurent Sollier (l-sollier@ti.com)
8 * @version 0.1
9 */
10
11 /*
12 * History:
13 *
14 * Date Author Modification
15 * ----------------------------------------
16 * 10/10/2001 L Sollier Create
17 *
18 *
19 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
20 */
21
22 #ifndef _KPD_ENV_H_
23 #define _KPD_ENV_H_
24
25 #include "kpd/kpd_cfg.h"
26
27 #include "rvm/rvm_gen.h"
28
29 #include "kpd/kpd_pool_size.h" /* Stack & Memory Bank sizes definitions */
30
31
32 /**
33 * Mailbox ID used by the SWE.
34 */
35 #define KPD_MAILBOX_USED RVF_TASK_MBOX_0
36
37
38 /**
39 * @name Mem bank
40 *
41 * Memory bank size and watermark.
42 */
43 /*@{*/
44 #define KPD_MB_PRIM_SIZE (KPD_MB_BASE_SIZE + KPD_MAX_SUBSCRIBER*(100+3*(KPD_NB_PHYSICAL_KEYS)))
45 #define KPD_MB_PRIM_WATERMARK (KPD_MB_PRIM_SIZE - 50*KPD_MAX_SUBSCRIBER)
46 /*@}*/
47
48 #if ((!defined DEPENDENCY) && (KPD_MB_PRIM_SIZE != KPD_MB1_SIZE))
49 /* If the KPD Memory Bank sizes defined in rvf_pool_size.h differs from */
50 /* this computed one, compilation is STOPPED. */
51 #error KPD Memory Bank size mismatch!
52 #endif
53
54
55 /** Define a structure used to store all the informations related to KPD's task
56 * & MBs identifiers.
57 */
58 typedef struct
59 {
60 T_RVF_MB_ID prim_id;
61 T_RVF_ADDR_ID addr_id;
62 BOOL swe_is_initialized;
63 T_RVM_RETURN (*error_ft)(T_RVM_NAME swe_name,
64 T_RVM_RETURN error_cause,
65 T_RVM_ERROR_TYPE error_type,
66 T_RVM_STRING error_msg);
67 } T_KPD_ENV_CTRL_BLK;
68
69 /**
70 * @name Generic functions
71 *
72 * Generic functions declarations.
73 */
74 /*@{*/
75
76
77 T_RVM_RETURN kpd_get_info(T_RVM_INFO_SWE *infoSWE);
78
79 T_RVM_RETURN kpd_set_info( T_RVF_ADDR_ID addr_id,
80 T_RV_RETURN return_path[],
81 T_RVF_MB_ID bk_id[],
82 T_RVM_RETURN (*rvm_error_ft)(T_RVM_NAME swe_name,
83 T_RVM_RETURN error_cause,
84 T_RVM_ERROR_TYPE error_type,
85 T_RVM_STRING error_msg));
86
87 T_RVM_RETURN kpd_init(void);
88
89 T_RVM_RETURN kpd_stop(void);
90
91 T_RVM_RETURN kpd_kill(void);
92
93 /*@}*/
94
95
96 #endif /* #ifndef _KPD_ENV_H_ */