FreeCalypso > hg > fc-magnetite
annotate src/aci2/mfw/mfw_mfw.c @ 481:24078551b620
build system: set ALLOW_CSIM_GSM=1 by default for hybrid configs
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 19 Jun 2018 06:39:18 +0000 | 
| parents | 93999a60b835 | 
| children | 
| rev | line source | 
|---|---|
| 3 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | PROJECT: MMI-Framework (8417) $Workfile:: mfw_mfw.c $| | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 | $Author:: Es $ CONDAT GmbH $Revision:: 11 $| | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | CREATED: 21.09.98 $Modtime:: 23.03.00 10:47 $| | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | STATE : code | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 MODULE : MFW_MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 PURPOSE : element chaining functions | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 EXPORT : | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 TO DO : | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 $History:: mfw_mfw.c $ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 Nov 05, 2005 REF: OMAPS00049571 Sumanth Kumar. C | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 Description: eZi Text function is not working | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 Solution: current_mfw_elem variable is updated when any of the elements | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 such as window, keyboard, timer, etc., are deleted so that the | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 current_mfw_element does not point to element that has already been freed. | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 Feb 28, 2004 REF: CRR 25608 Deepa M.D | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 The mfwEorc is made const.The changes will be present both in Color and Golite build . | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 Jan 27, 2005 REF: CRR MMI-SPR-28300 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 Description: BMI: memory leak in mfwFree/mfwAlloc ?? | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 Solution: Trace output to print memory address and size freed | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 modified in function mfwFree() | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 Oct 06, 2004 REF: CRR 25608 Deepa M.D | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 Bug:Change "static MfwHdr mfwEorc =" to const | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 Fix: MfwHdr mfwEorc is made const to save memory. | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 * ***************** Version 11 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 * User: Es Date: 23.03.00 Time: 14:43 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 * Updated in $/GSM/Condat/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 * Added 'mfwParent(elem)' | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 * ***************** Version 10 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 * User: Es Date: 18.02.00 Time: 15:45 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 * Updated in $/GSM/Condat/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 * fixed alloc/free bug (shrink) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 * changed MfwMemLarge macro | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 * added constants for MMI event handler return values | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 * ***************** Version 9 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 * User: Kk Date: 10.01.00 Time: 14:03 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 * Updated in $/GSM/Condat/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 * ***************** Version 4 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 * User: Rm Date: 12/22/99 Time: 4:34p | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 * Updated in $/GSM/Condat/SND-MMI/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 * ***************** Version 3 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 * User: Be Date: 29.11.99 Time: 14:31 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 * Updated in $/GSM/Condat/SND-MMI/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 * target integration | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 * ***************** Version 2 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 * User: Es Date: 22.11.99 Time: 10:24 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 * Updated in $/GSM/Condat/SND-MMI/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 * ***************** Version 1 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 * User: Es Date: 18.11.99 Time: 16:35 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 * Created in $/GSM/Condat/SND-MMI/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 * Initial | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 * ***************** Version 6 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 * User: Es Date: 1.04.99 Time: 17:07 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 * Updated in $/GSM/DEV/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 * removed lots of traces | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 * ***************** Version 5 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 * User: Es Date: 18.02.99 Time: 17:01 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 * Updated in $/GSM/DEV/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 * ***************** Version 4 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 * User: Es Date: 17.02.99 Time: 19:11 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 * Updated in $/GSM/DEV/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 * ***************** Version 3 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 * User: Es Date: 27.01.99 Time: 15:06 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 * Updated in $/GSM/DEV/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 * | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 * ***************** Version 2 ***************** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 * User: Es Date: 23.12.98 Time: 16:19 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 * Updated in $/GSM/DEV/MS/SRC/MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 #define ENTITY_MFW | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 #define TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 #include <stdio.h> | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 #include <string.h> | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 #include <stdlib.h> | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 #if defined (NEW_FRAME) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 #include "typedefs.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 #include "vsi.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 #include "pei.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 #include "custom.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 #include "gsm.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 #else | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 #include "STDDEFS.H" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 #include "custom.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 #include "gsm.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 #include "vsi.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 //#include <stdio.h> | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 //#include <string.h> | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 #include "mfw_mfw.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 #include "mfw_sys.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 #include "mfw_win.h" | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 #include "mfw_sat.h" /* CQ16435 : Header Required */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 // Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 U32 mfwMemDynTotal = 0; /* sample memory usage */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 U32 mfwMemLowWater = 0xffffffff; /* sample memory usage */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 MfwHdr *mfwFocus = 0; /* the focus node */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 MfwHdr *mfwRoot = 0; /* root of MFW elements */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 MfwCb mfwCommand [MfwTypMax]; /* MFW commands to modules */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 static MfwHdr *mfwSatIdleWin = 0; /* CQ16435 : When this window gets focus, SAT will be informed */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 static MfwMemHdr mfwMem; /* root of free memory list */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 static U8 *mfwMemBase; /* mfw dynamic memory pool */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 static U8 *mfwMemEnd; /* end of mfw memory */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 // Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 static U32 mfwMemLeft; /* space left in pool */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 //Feb 28, 2005 REF: CRR 25608 Deepa M.D | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 //The mfwEorc is made const.The changes will be present both in Color and Golite build | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 static const MfwHdr mfwEorc = {0, MfwTypMax, 0}; /* end of root chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 /***************************Go-lite Optimization changes end***********************/ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 U8 mfwSignallingMethod = 0; /* default is focus+root */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 EXTERN MfwHdr * current_mfw_elem; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 #define SENTINAL_CHECK 1 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 // Solution: define SENTINEL_SIZE to a value of 4 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 #define SENTINEL_SIZE 4 //Will, Dec/07/2004-->Ti is 4 bytes | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 | STATE : code ROUTINE : mfwInit | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 PURPOSE : initialize framework | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 // Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 MfwRes mfwInit (void *externalRoot, U32 dynMemSize) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 int i; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 mfwSetFocus(0); /* initially no focus */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 dynMemSize &= ~(sizeof(MfwMemHdr)-1); /* align to header size */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 mfwMemDynTotal = dynMemSize; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 if (dynMemSize) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 /***************************Go-lite Optimization changes start***********************/ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 mfwRoot = (MfwHdr *)&mfwEorc; /* points to end of chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 /***************************Go-lite Optimization changes end***********************/ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 mfwMemBase = (U8 *) externalRoot; /* setup memory handler */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 mfwMemEnd = (U8 *) externalRoot + dynMemSize; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 mfwMem.next = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 mfwMem.len = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 ((MfwMemHdr *) mfwMemBase)->next = dynMemSize; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 ((MfwMemHdr *) mfwMemBase)->len = dynMemSize; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 mfwMemLeft = dynMemSize; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 memset(mfwMemBase+sizeof(MfwMemHdr),0, | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 dynMemSize-sizeof(MfwMemHdr)); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 else | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 mfwRoot = (MfwHdr *) externalRoot; /* setup root pointer */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 /***************************Go-lite Optimization changes start***********************/ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 if (!mfwRoot) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 mfwRoot = (MfwHdr *)&mfwEorc; /* points to end of chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 /***************************Go-lite Optimization changes end***********************/ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 mfwMemBase = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 mfwMemEnd = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 mfwMem.next = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 mfwMem.len = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 for (i = 0; i < MfwTypMax; i++) /* init command table */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 mfwCommand[i] = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 return MfwResOk; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 | STATE : code ROUTINE : mfwExit | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 PURPOSE : finalize framework | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 void mfwExit (void) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 TRACE_FUNCTION("mfwExit()"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 | STATE : code ROUTINE : mfwSignallingMethod| | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 PURPOSE : Defines the signalling method | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 MfwRes mfwSetSignallingMethod (U8 method) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 mfwSignallingMethod = method; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 | STATE : code ROUTINE : mfwSetFocus | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 PURPOSE : Assign Focus to the passed window | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 void mfwSetFocus(MfwHdr *w) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 if (satEvtRegistered(SatEvtIdleScreenActivated) == TRUE) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 if ((mfwSatIdleWin != 0) && (mfwSatIdleWin == w)) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 TRACE_EVENT("NDH >>> CQ16435 : Send the Idle Screen Available Event to the SIM"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 satEvtDownload(SatEvtIdleScreen); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 mfwFocus = w; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 return; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 | STATE : code ROUTINE : mfwSetSatIdle | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 PURPOSE : Set the window which will trigger SAT Event Idle Activated if required | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 void mfwSetSatIdle(MfwHdr *w) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 MfwWin *win; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 if (!w) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 mfwSatIdleWin = 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 return; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 win = w->data; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 mfwSatIdleWin = win->elems; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 return; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 | STATE : code ROUTINE : mfwInsert | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 PURPOSE : chain up framework element | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 MfwHdr *mfwInsert (MfwHdr *h, MfwHdr *e) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 if (!e) /* nothing to insert */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 if (!h) /* use root chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 e->next = mfwRoot; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 mfwRoot = e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 else if (h->type == MfwTypWin) /* use window chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 e->next = ((MfwWin *) (h->data))->elems; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 ((MfwWin *) h->data)->elems = e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 if (mfwFocus == e->next) /* was focus window ? */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 mfwSetFocus(e); /* yes: reassign focus */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 else /* insert into any chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 return e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 | STATE : code ROUTINE : mfwAppend | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 PURPOSE : chain up framework element at end of chain | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 MfwHdr *mfwAppend (MfwHdr **h, MfwHdr *e) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 if (!e) /* nothing to append */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 if (!h) /* append to header chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 h = &mfwRoot; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 if ((*h)->type == MfwTypMax) /* empty chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 if (mfwFocus == *h) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 mfwSetFocus(e); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 e->next = *h; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 *h = e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 return e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 while ((*h)->next && (*h)->next->type != MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 h = &((*h)->next); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 e->next = (*h)->next; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 (*h)->next = e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 return e; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 | STATE : code ROUTINE : mfwRemove | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 PURPOSE : unchain element and return its root | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 MfwHdr **mfwRemove (MfwHdr *e) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 MfwHdr **rp, **rpr, *h; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 if (!e) /* nothing to remove */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 h = e; /* find elements root */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 while (h->next && h->type != MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 h = h->next; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 if (h->type != MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 h = h->next; /* h points to root element */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 if (!h) /* remove from header chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 rp = &mfwRoot; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 else if (h->type == MfwTypWin) /* remove from window chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 rp = &(((MfwWin*)(h->data))->elems); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 else /* don't remove from normal */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 rpr = rp; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 while (*rp && (*rp)->type != MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 if (*rp == e) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 *rp = e->next; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 if (mfwFocus == e) /* first element of window */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 mfwSetFocus(e->next); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 /* Nov 05, 2005 REF: OMAPS00049571 Sumanth Kumar. C | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 * Solution: current_mfw_elem variable is updated when any of the elements | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 * such as window, keyboard, timer, etc., are deleted so that the | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 * current_mfw_element does not point to element that has already been freed. | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 if(e->type == MfwTypWin || e->type == MfwTypKbd ||e->type == MfwTypTim || | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 e->type == MfwTypEdt || e->type == MfwTypMnu || e->type == MfwTypIcn) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 current_mfw_elem = e->next; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 return rpr; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 rp = &((*rp)->next); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 | STATE : code ROUTINE : mfwParent | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 PURPOSE : get parent of given element | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 MfwHnd mfwParent (MfwHdr *h) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 if (!h) /* no element */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 while (h->next && h->type != MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 h = h->next; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 if(!h) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 if (h->type != MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 return 0; /* ERROR ! */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 h = h->next; /* h points to root element */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 if (h && h->type == MfwTypWin) /* parent should be window */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 return h; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 return 0; /* root element */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 463 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 464 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 467 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 | STATE : code ROUTINE : mfwHeader | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 469 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 471 PURPOSE : get header of a given element | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 472 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 MfwHnd mfwHeader (void) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 return current_mfw_elem; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 480 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 481 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 482 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 | STATE : code ROUTINE : mfwControl | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 PURPOSE : retrieve element control block | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 491 MfwHnd mfwControl (MfwHdr *h) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 492 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 if (!h) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 495 if (h->type <= MfwTypNone || h->type >= MfwTypMax) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 496 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 return h->data; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 499 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 500 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 501 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 502 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 503 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 504 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 505 | STATE : code ROUTINE : mfwAlloc | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 506 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 507 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 508 PURPOSE : alloc MFW memory | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 509 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 510 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 511 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 512 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 513 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 514 // Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 515 U8 *mfwAlloc (U32 size) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 516 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 517 MfwMemHdr *p, *n, *l; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 518 U8 *data_ptr; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 519 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 520 if (!size) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 521 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 522 TRACE_ERROR("mfwAlloc(): invalid memory request"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 523 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 524 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 525 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 526 #ifdef SENTINAL_CHECK | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 527 if (!mfwMemBase) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 528 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 529 size += (SENTINEL_SIZE*2); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 530 data_ptr = (U8 *) sysAlloc(size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 531 memset(data_ptr, 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 532 memset(data_ptr + (size-SENTINEL_SIZE), 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 533 data_ptr += SENTINEL_SIZE; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 534 return data_ptr; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 535 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 536 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 537 size = (U32) mfwMemLarge(size) + (SENTINEL_SIZE*2); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 538 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 539 if (size >= mfwMemLeft) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 540 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 541 TRACE_ERROR("mfwAlloc(): no memory"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 542 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 543 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 544 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 545 if (mfwMemBase + mfwMem.next > mfwMemEnd | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 546 || mfwMemBase + mfwMem.next < mfwMemBase) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 547 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 548 TRACE_ERROR("mfwAlloc(): corrupted memory"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 549 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 550 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 551 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 552 p = &mfwMem; /* root of dyn memory */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 553 n = (MfwMemHdr *) (mfwMemBase + p->next); /* first free block */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 554 while ((U8 *) n < mfwMemEnd) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 555 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 556 if (n->len == size) /* fits exactly: */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 557 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 558 p->next = n->next; /* just remove from chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 559 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 560 mfwMemLeft -= size; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 561 if (mfwMemLeft < mfwMemLowWater) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 562 mfwMemLowWater = mfwMemLeft; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 563 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 564 data_ptr = (U8 *)n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 565 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 566 memset(data_ptr, 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 567 memset(data_ptr + size-SENTINEL_SIZE, 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 568 memset(data_ptr + SENTINEL_SIZE, 0, size-(SENTINEL_SIZE*2)); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 569 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 570 data_ptr += SENTINEL_SIZE; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 571 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 572 #ifdef TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 573 TRACE_EVENT_P2("MFWAlloc %d bytes in address %p",size,n); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 574 mfwCheckMemoryLeft(); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 575 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 576 return data_ptr; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 577 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 578 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 579 if (n->len > size) /* take it from a big one */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 580 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 581 l = (MfwMemHdr *) ((U8 *) n + size); /* new header */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 582 l->next = n->next; /* setup chain to next */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 583 l->len = (U32) (n->len - size); /* remaining memory */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 584 p->next += size; /* link with previous block */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 585 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 586 mfwMemLeft -= size; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 587 if (mfwMemLeft < mfwMemLowWater) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 588 mfwMemLowWater = mfwMemLeft; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 589 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 590 data_ptr = (U8 *)n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 591 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 592 memset(data_ptr, 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 593 memset(data_ptr + size-SENTINEL_SIZE, 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 594 memset(data_ptr + SENTINEL_SIZE, 0, size-(SENTINEL_SIZE*2)); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 595 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 596 data_ptr += SENTINEL_SIZE; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 597 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 598 #ifdef TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 599 TRACE_EVENT_P2("MFWAlloc %d bytes in address %p",size,n); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 600 mfwCheckMemoryLeft(); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 601 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 602 return data_ptr; /* allocated me address */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 603 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 604 p = n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 605 n = (MfwMemHdr *) (mfwMemBase + n->next); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 606 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 607 #else | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 608 if (!mfwMemBase) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 609 return (U8 *) sysAlloc(size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 610 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 611 size = (U32) mfwMemLarge(size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 612 if (size >= mfwMemLeft) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 613 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 614 TRACE_ERROR("mfwAlloc(): no memory"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 615 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 616 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 617 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 618 if (mfwMemBase + mfwMem.next > mfwMemEnd | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 619 || mfwMemBase + mfwMem.next < mfwMemBase) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 620 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 621 TRACE_ERROR("mfwAlloc(): corrupted memory"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 622 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 623 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 624 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 625 p = &mfwMem; /* root of dyn memory */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 626 n = (MfwMemHdr *) (mfwMemBase + p->next); /* first free block */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 627 while ((U8 *) n < mfwMemEnd) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 628 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 629 if (n->len == size) /* fits exactly: */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 630 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 631 p->next = n->next; /* just remove from chain */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 632 mfwMemLeft -= size; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 633 if (mfwMemLeft < mfwMemLowWater) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 634 mfwMemLowWater = mfwMemLeft; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 635 memset(n,0,size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 636 #ifdef TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 637 TRACE_EVENT_P2("MFWAlloc %d bytes in address %p",size,n); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 638 mfwCheckMemoryLeft(); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 639 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 640 return (U8 *) n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 641 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 642 if (n->len > size) /* take it from a big one */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 643 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 644 l = (MfwMemHdr *) ((U8 *) n + size); /* new header */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 645 l->next = n->next; /* setup chain to next */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 646 l->len = (U32) (n->len - size); /* remaining memory */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 647 p->next += size; /* link with previous block */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 648 mfwMemLeft -= size; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 649 if (mfwMemLeft < mfwMemLowWater) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 650 mfwMemLowWater = mfwMemLeft; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 651 memset(n,0,size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 652 #ifdef TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 653 TRACE_EVENT_P2("MFWAlloc %d bytes in address %p",size,n); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 654 mfwCheckMemoryLeft(); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 655 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 656 return (U8 *) n; /* allocated me address */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 657 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 658 p = n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 659 n = (MfwMemHdr *) (mfwMemBase + n->next); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 660 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 661 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 662 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 663 if ((U8 *)n == mfwMemEnd) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 664 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 665 TRACE_ERROR("mfwAlloc(): no memory block big enough to allocate size requested"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 666 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 667 else | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 668 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 669 TRACE_ERROR("mfwAlloc(): Error: free list corruption is likely"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 670 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 671 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 672 return 0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 673 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 674 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 675 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 676 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 677 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 678 | PROJECT : MMI-Framework (8417) MODULE : MFW | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 679 | STATE : code ROUTINE : mfwFree | | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 680 +--------------------------------------------------------------------+ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 681 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 682 PURPOSE : free allocated MFW memory | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 683 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 684 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 685 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 686 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 687 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 688 // Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 689 void mfwFree (U8 *mem, U32 size) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 690 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 691 MfwMemHdr *p, *n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 692 U8 check_val[SENTINEL_SIZE]; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 693 // U32 check_val = 0x55555555; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 694 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 695 memset(&check_val, 0x55, SENTINEL_SIZE); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 696 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 697 #ifdef SENTINAL_CHECK | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 698 mem -= SENTINEL_SIZE; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 699 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 700 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 701 if (!size || !mem ) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 702 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 703 TRACE_ERROR("mfwFree(): invalid"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 704 return; /* nothing to free */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 705 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 706 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 707 #ifdef SENTINAL_CHECK | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 708 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 709 ** Check the 4 preceeding bytes to ensure they haven't been changed | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 710 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 711 if (memcmp(mem, &check_val, SENTINEL_SIZE) != 0) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 712 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 713 TRACE_ERROR("mfwFree(): Error: Preceeding Sentinal Bytes have been corrupted"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 714 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 715 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 716 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 717 #ifdef TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 718 // Jan 27, 2005 REF: CRR MMI-SPR-28300 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 719 // Description: BMI: memory leak in mfwFree/mfwAlloc ?? | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 720 // Solution: Trace output to print memory address and size freed modified | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 721 TRACE_EVENT_P2("MFWFree address = %p, size : %d bytes",mem,size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 722 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 723 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 724 if (!mfwMemBase) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 725 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 726 void *m = mem; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 727 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 728 #ifdef SENTINAL_CHECK | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 729 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 730 ** Check the SENTINEL_SIZE last bytes to ensure they haven't been changed | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 731 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 732 if (memcmp(mem + size + SENTINEL_SIZE, &check_val, SENTINEL_SIZE) != 0) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 733 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 734 TRACE_ERROR("mfwFree(): Error: Following Sentinal Bytes have been corrupted"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 735 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 736 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 737 sysFree(m); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 738 return; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 739 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 740 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 741 #ifdef SENTINAL_CHECK | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 742 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 743 size = (U32) mfwMemLarge(size) + (SENTINEL_SIZE*2); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 744 #else | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 745 size = (U32) mfwMemLarge(size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 746 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 747 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 748 if ( mem < mfwMemBase || mem >= mfwMemEnd || | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 749 mem + size > mfwMemEnd || | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 750 mem + size <= mfwMemBase) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 751 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 752 TRACE_ERROR("mfwFree(): invalid"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 753 return; /* nothing to free */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 754 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 755 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 756 p = &mfwMem; /* root of dyn memory */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 757 n = (MfwMemHdr *) (mfwMemBase + p->next); /* first free block */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 758 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 759 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 760 ** Skip through the Free Link List until we get to where the current pointer | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 761 ** should be added | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 762 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 763 while ((U8 *) n < mfwMemEnd && (U8 *) n < mem) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 764 { /* search allocated area */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 765 p = n; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 766 n = (MfwMemHdr *) (mfwMemBase + n->next); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 767 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 768 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 769 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 770 ** Check that the select memory isn't already free | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 771 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 772 if (mem == (U8 *) p || mem == (U8 *) n) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 773 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 774 TRACE_ERROR("mfwFree(): already free"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 775 return; /* already free */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 776 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 777 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 778 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 779 ** Memory not already free | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 780 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 781 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 782 #ifdef SENTINAL_CHECK | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 783 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 784 ** Check the 4 last bytes to ensure they haven't been changed | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 785 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 786 if (memcmp(mem + size - SENTINEL_SIZE, &check_val, SENTINEL_SIZE) != 0) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 787 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 788 TRACE_ERROR("mfwFree(): Error: Following Sentinal Bytes have been corrupted"); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 789 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 790 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 791 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 792 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 793 ** This memset should only be performed after we are sure that the memory should be freed | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 794 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 795 memset(mem, 0, size); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 796 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 797 if (p != &mfwMem && (U8 *) p + p->len == mem) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 798 { /* adjacent to left free: */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 799 p->len += size; /* just add it */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 800 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 801 else | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 802 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 803 p->next = (U32) (mem - mfwMemBase); /* new free link */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 804 p = (MfwMemHdr *) mem; /* to new header */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 805 p->next = (U32) ((U8 *) n - mfwMemBase); /* link to next */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 806 p->len = size; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 807 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 808 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 809 if ((U8 *) n < mfwMemEnd && ((mem + size) == (U8 *) n)) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 810 { /* adjacent to right free: */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 811 p->next = n->next; /* eliminate link and */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 812 p->len += n->len; /* eat up the space */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 813 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 814 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 815 mfwMemLeft += size; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 816 #ifdef TRACE_MEMORY | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 817 mfwCheckMemoryLeft(); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 818 #endif | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 819 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 820 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 821 // Dec 22, 2004 REF: CRR MFW-SPR-27847 xnkulkar | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 822 // Description: MFW memory size variable changed from U16 -> U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 823 // Solution: The use of variable U16 has been replaced with U32 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 824 U32 mfwCheckMemoryLeft(void) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 825 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 826 TRACE_EVENT_P1("memory left %ld",mfwMemLeft); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 827 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 828 return mfwMemLeft; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 829 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 830 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 831 /* | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 832 ** This function gives the bounds safety of strncpy, but NULL terminates the string like strcpy | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 833 ** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 834 ** parameters : cpyto : the pointer to the destination string | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 835 ** : cpyfrm : the pointer to the source string | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 836 ** : len : the maximum length of the destination string including the NULL terminator | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 837 ** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 838 ** returns : A character pointer to the destination string if successful, otherwise NULL | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 839 ** | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 840 ** CQ16507 : strcpy call for string without null termination causing hardware reset | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 841 */ | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 842 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 843 char *mfwStrncpy(char *cpyto, const char *cpyfrm, size_t len) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 844 { | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 845 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 846 if (len <= 0) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 847 return (void *)0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 848 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 849 if (cpyto == (char *)0) | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 850 return (void *)0; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 851 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 852 strncpy(cpyto, cpyfrm, len-1); | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 853 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 854 *(cpyto + (len -1)) = 0x00; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 855 | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 856 return cpyto; | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 857 } | 
| 
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 858 | 
