FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/ccd/ccd_elem.c @ 672:0dc6f9e8e980
gsm-fw/ccd/asn1_objid.c: _TMS470 conditional: do what the official fw does
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Sun, 28 Sep 2014 19:36:23 +0000 | 
| parents | 970d6199f2c5 | 
| children | 
| rev | line source | 
|---|---|
| 648 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 | Project : | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 | Modul : ccd_elem.c | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 | All rights reserved. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 | | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 | This file is confidential and a trade secret of Texas | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | The receipt of or possession of this file does not convey | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 | any rights to reproduce or disclose its contents or to | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 | whole, or in part, without the specific written consent of | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 | Purpose : Condat Conder Decoder - | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 | Definition of encoding and decoding functions of | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 | information elements of air interface messages | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 +----------------------------------------------------------------------------- | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 #define CCD_ELEM_C | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 #include <stdio.h> | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 #include <string.h> | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 #include "typedefs.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 #include "ccd_globs.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 #include "ccd.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 #include "ccdtable.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 #include "ccddata.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 #include "ccdapi.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 #include "bitfun.h" | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 #ifndef RUN_INT_RAM | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 +--------------------------------------------------------------------+ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 | PROJECT : CCD (6144) MODULE : ccd_elem | | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 | STATE : code ROUTINE : ccd_decodeElem | | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 +--------------------------------------------------------------------+ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 PARAMETERS: ULONG ccdid | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 - Enumeration of the information element to be | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 decoded in the file ccdid.h. This number is also | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 the reference number of the IE in the melem table. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 USHORT l_buf | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 - Number of bits in the encoded IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 USHORT o_buf | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 - Offset of the bitstream buffer in bits. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 U8 *buf | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 - Bitstream buffer of the encoded IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 U8 *eStruct | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 - reference to the C-Structure containing the | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 C-Representation of the decoded IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 PURPOSE: decodes a bitstream containing an encoded information | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 element. The results are written to a corresponding | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 C-Structure, the C-Representation of the IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 int CCDDATA_PREF(ccd_decodeElem) (ULONG ccdid, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 USHORT l_buf, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 USHORT o_buf, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 UCHAR* buf, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 UCHAR* eStruct) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 int jmp_ret; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 USHORT mcompRef; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 T_CCD_Globs *globs; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 T_CCD_ERR_LIST_HEAD* eentry; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 T_CCD_STORE_LIST* stoentry; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 globs = ccd_GetGlobVars (&eentry, &stoentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 ccd_dump_msg(l_buf, o_buf, buf, globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 * setup the structure-buffer. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 globs->pstruct = eStruct; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 globs->pstructOffs = 0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 ccd_common_decode_init(l_buf, o_buf, buf, globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 ccd_err_reset (eentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 globs->ccd_recurs_level =1; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 if ((mcompRef = melem[ccdid].elemRef) EQ NO_REF) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 ccd_recordFault (globs, ERR_INVALID_CCDID, BREAK, ccdid, NULL); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 ccd_FreeGlobVars (globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 ccd_err_free (eentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 return (BYTE)globs->CCD_Error; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 #ifdef CCD_SYMBOLS | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 TRACE_CCD (globs, "CCD decode: Element = %s", | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 mcomp[mcompRef].name); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 #else | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 TRACE_CCD (globs, "CCD decode: CCD_Id = %x", ccdid); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 #ifdef ERR_TRC_STK_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 /* save the value for tracing in error case */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 globs->error_stack[0] = mcompRef; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 #endif /* ERR_TRC_STK_CCD */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 * Clean up the entite C-structure before decoding. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 * Do not overwrite the MsgId (1. Byte) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 TRACE_CCD (globs, "CCD Cleaning struct %ld bytes", | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 mcomp[mcompRef].cSize); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 memset ((UBYTE *) globs->pstruct, 0, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 (size_t)(mcomp[mcompRef].cSize)); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 * clear the UPN stack | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 globs->SP=0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 globs->StackOvfl=FALSE; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 globs->KeepReg[0] = 0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 * inform the GSM-CODEC about the begin of a new message | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 cdc_GSM_start (globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 jmp_ret = setjmp (globs->jmp_mark); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 if (jmp_ret EQ 0) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 globs->jmp_mark_set = TRUE; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 ccd_decodeComposition ((ULONG) mcompRef, globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 TRACE_CCD (globs, "CCD-ERROR = %d", globs->CCD_Error); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 TRACE_CCD (globs, "-------------------------------------------------"); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 #endif /* DEBUG_CCD */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 ccd_FreeGlobVars (globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 ccd_err_free (eentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 return (BYTE) globs->CCD_Error; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 #endif /* !RUN_INT_RAM */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 #ifndef RUN_INT_RAM | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 +--------------------------------------------------------------------+ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 | PROJECT : CCD (6144) MODULE : ccd_elem | | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 | STATE : code ROUTINE : ccd_encodeElem | | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 +--------------------------------------------------------------------+ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 PARAMETERS: ULONG ccdid | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 - Enumeration of the information element to be | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 encoded in the file ccdid.h. This number is also | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 the reference number of the IE in the melem table | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 USHORT l_buf | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 - Number of bits in the encoded IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 173 USHORT o_buf | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 174 - Offset of the bitstream buffer in bits. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 U8 *buf | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 177 - Bitstream buffer of the encoded IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 178 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 UBYTE * eStruct | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 180 - reference to the C-Structure containing the | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 181 C-Representation of the decoded IE. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 182 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 183 PURPOSE: encodes a C-Structure containing the C-Representation of | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 184 an information element to a bitstream. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 185 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 186 int CCDDATA_PREF(ccd_encodeElem) (ULONG ccdid, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 187 USHORT* l_buf, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 188 USHORT o_buf, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 189 UCHAR* buf, | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 190 UCHAR* eStruct) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 191 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 192 int jmp_ret; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 193 USHORT maxBytes, mcompRef; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 194 T_CCD_Globs *globs; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 195 T_CCD_ERR_LIST_HEAD* eentry; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 196 T_CCD_STORE_LIST* stoentry; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 197 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 198 globs = ccd_GetGlobVars (&eentry, &stoentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 199 ccd_err_reset (eentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 200 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 201 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 202 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 203 /* to avoid the vsprintf if the traces won't appear anyhow */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 204 ULONG mask; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 205 if (vsi_gettracemask (globs->me, globs->me, &mask) != VSI_ERROR) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 206 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 207 globs->TraceIt = mask & TC_CCD; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 208 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 209 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 210 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 211 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 212 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 213 * Set a sign that no call to setjmp() is done. So ccd_setError | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 214 * performs no longjmp in case of an error. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 215 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 216 globs->jmp_mark_set = FALSE; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 217 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 218 /* Setup the bitbuffer. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 globs->bitbuf = buf; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 globs->bitpos = 0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 /* Setup the structure-buffer. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 globs->pstruct = eStruct; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 globs->pstructOffs = 0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 225 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 226 /* Cleanup the read-caches. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 227 globs->lastbytepos16 = globs->lastbytepos32 = 0xffff; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 228 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 229 /* Setup the bitoffset. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 230 globs->bitoffs = o_buf; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 231 bf_incBitpos (o_buf, globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 232 globs->bitbuf[globs->bytepos] = 0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 233 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 234 globs->CCD_Error = ccdOK; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 235 globs->ccd_recurs_level =1; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 236 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 237 if ((mcompRef = melem[ccdid].elemRef) EQ NO_REF) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 238 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 239 ccd_recordFault (globs, ERR_INVALID_CCDID, BREAK, ccdid, NULL); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 240 ccd_FreeGlobVars (globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 241 ccd_err_free (eentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 242 return (BYTE)globs->CCD_Error; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 243 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 244 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 245 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 246 #ifdef CCD_SYMBOLS | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 247 TRACE_CCD (globs, "CCD encode: Element = %s", | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 248 mcomp[mcompRef].name); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 249 #else | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 250 TRACE_CCD (globs, "CCD encode: CCD_Id = %x", ccdid); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 251 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 252 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 253 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 254 #ifdef ERR_TRC_STK_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 255 /* Save the value for tracing in error case. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 256 globs->error_stack[0] = mcompRef; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 257 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 258 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 259 maxBytes = (USHORT) (mcomp[mcompRef].bSize+7)>>3; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 260 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 261 TRACE_CCD (globs, "-------------------------------------------------"); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 262 TRACE_CCD (globs, "CCD: Code Elem"); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 263 TRACE_CCD (globs, "Cleaning %d bits (%d bytes) of the bitstream", | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 264 mcomp[mcompRef].bSize, maxBytes); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 265 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 266 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 267 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 268 * Clean up the bit buffer for the encoded message before encoding. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 269 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 270 memset ((U8 *) &buf[o_buf>>3], 0, (size_t) maxBytes); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 271 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 272 /* Store the length of ereased buffer to support error handling. */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 273 globs->buflen = (USHORT) mcomp[mcompRef].bSize; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 274 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 275 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 276 * Clear the UPN stack. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 277 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 278 globs->SP=0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 279 globs->StackOvfl=FALSE; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 280 globs->KeepReg[0] = 0; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 281 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 282 /* | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 283 * Inform the GSM-CODEC about the begin of a new message. | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 284 */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 285 cdc_GSM_start (globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 286 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 287 jmp_ret = setjmp (globs->jmp_mark); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 288 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 289 if (jmp_ret EQ 0) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 290 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 291 globs->jmp_mark_set = TRUE; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 292 ccd_encodeComposition ((ULONG) mcompRef, globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 293 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 294 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 295 *l_buf = (USHORT)(globs->bitpos - globs->bitoffs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 296 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 297 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 298 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 299 int i, j, buflen; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 300 char s[64], c[4]; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 301 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 302 buflen = (*l_buf + o_buf + 7) >> 3; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 303 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 304 TRACE_CCD (globs, "-------------------------------------------------"); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 305 TRACE_CCD (globs, " After ENCODING: lbuf= %d, obuf= %d", *l_buf, o_buf); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 306 TRACE_CCD (globs, " Hex dump of encoded message:"); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 307 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 308 s[0] = '\0'; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 309 for (i = o_buf >> 3; i < buflen; i+=16) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 310 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 311 for (j = 0; j < 16; j++) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 312 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 313 if ((i+j) < buflen) | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 314 { | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 315 sprintf(c, " %02x", buf[i+j]); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 316 strcat (s, c); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 317 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 319 TRACE_CCD (globs, "%s", s); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 320 s[0] = '\0'; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 321 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 #endif | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 #ifdef DEBUG_CCD | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 TRACE_CCD (globs, "CCD-ERROR = %d", globs->CCD_Error); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 TRACE_CCD (globs, "-------------------------------------------------"); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 #endif /* DEBUG_CCD */ | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 ccd_FreeGlobVars (globs); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 ccd_err_free (eentry); | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 return (BYTE) globs->CCD_Error; | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 } | 
| 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 #endif /* !RUN_INT_RAM */ | 
