annotate src/condat3/com/include/kbd.h @ 516:1ed9de6c90bd

src/g23m-gsm/sms/sms_for.c: bogus malloc removed The new error handling code that was not present in TCS211 blob version contains a malloc call that is bogus for 3 reasons: 1) The memory allocation in question is not needed in the first place; 2) libc malloc is used instead of one of the firmware's proper ways; 3) The memory allocation is made inside a function and then never freed, i.e., a memory leak. This bug was caught in gcc-built FreeCalypso fw projects (Citrine and Selenite) because our gcc environment does not allow any use of libc malloc (any reference to malloc produces a link failure), but this code from TCS3.2 is wrong even for Magnetite: if this code path is executed repeatedly over a long time, the many small allocations made by this malloc call without a subsequent free will eventually exhaust the malloc heap provided by the TMS470 environment, malloc will start returning NULL, and the bogus code will treat it as an error. Because the memory allocation in question is not needed at all, the fix entails simply removing it.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 22 Jul 2018 06:04:49 +0000
parents c8bd5a927942
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 | Project : GSM (6301)
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 | Modul :
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 | Copyright 2002 Texas Instruments Berlin, AG
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 | All rights reserved.
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 |
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 | This file is confidential and a trade secret of Texas
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 | Instruments Berlin, AG
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 | The receipt of or possession of this file does not convey
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 | any rights to reproduce or disclose its contents or to
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 | manufacture, use, or sell anything it may describe, in
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 | whole, or in part, without the specific written consent of
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 | Texas Instruments Berlin, AG.
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 | Purpose : Types definitions for the keybord driver
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 | .
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 +-----------------------------------------------------------------------------
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 #ifndef KBD_H
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 #define KBD_H
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 * typematic rates (character per second)
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 #define KBD_TYPERATE_NONE 0
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 #define KBD_TYPERATE_6 1
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 #define KBD_TYPERATE_8 2
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 #define KBD_TYPERATE_10 3
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 #define KBD_TYPERATE_12 4
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 #define KBD_TYPERATE_15 5
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 #define KBD_TYPERATE_20 6
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 #define KBD_TYPERATE_24 7
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 #define KBD_TYPERATE_30 8
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 * type delay (in milliseconds)
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 #define KBD_TYPEDELAY_250 1
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 #define KBD_TYPEDELAY_500 2
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 #define KBD_TYPEDELAY_750 3
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 #define KBD_TYPEDELAY_1000 4
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 * Keyboard operations
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 #define KBD_KEYDOWN 1
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 #define KBD_KEYUP 2
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 #define KBD_KEYREPEAT 3
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 * Keyboard signals
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 #define KBD_SIGTYPE_STATUSCHG 1
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 * Driver Control Block
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 typedef struct kbd_DCB_Type
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 {
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 USHORT TypematicRate;
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 USHORT TypematicDelay;
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 } kbd_DCB_Type;
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 #if defined (NEW_FRAME)
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 * to achieve backward compatibility with older definitions
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 #define drv_SignalCB_Type T_DRV_CB_FUNC
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 #define drv_SignalID_Type T_DRV_SIGNAL
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 #define T_VSI_THANDLE USHORT
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 #endif
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 /* Marcus: Issue 811: 05:09/2002: Start */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 * Number of elements in the keypad arrays
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 #define NUM_KPD_KEYS 32
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 * External data
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 extern const UBYTE kbd_map [NUM_KPD_KEYS];
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 extern const UBYTE simkbd_map [NUM_KPD_KEYS];
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 extern char * const config_map [NUM_KPD_KEYS];
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 /* Marcus: Issue 811: 05:09/2002: End */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 /*
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 * Prototypes
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 */
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 EXTERN UBYTE kbd_Init (drv_SignalCB_Type in_SignalCBPtr);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 EXTERN void kbd_Exit (void);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 EXTERN UBYTE kbd_SetConfig (kbd_DCB_Type * in_DCBPtr);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 EXTERN UBYTE kbd_GetConfig (kbd_DCB_Type * out_DCBPtr);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 EXTERN UBYTE kbd_SetSignal (drv_SignalID_Type * in_SignalIDPtr);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 EXTERN UBYTE kbd_ResetSignal (drv_SignalID_Type * in_SignalIDPtr);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 EXTERN ULONG kbd_GetStatus (void);
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99
c8bd5a927942 src/condat3: import of "condat" tree from TCS3.2, pruned
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 #endif