FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/ccd/pdi.c @ 695:698a036a023d
cc_pei.c compiles
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Tue, 30 Sep 2014 02:14:08 +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 : pdi.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 : | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
18 +----------------------------------------------------------------------------- | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
19 */ | 
| 
 
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 #define PDI_C | 
| 
 
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 #include "typedefs.h" | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
24 #include "ccdapi.h" | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
25 #include "ccdtable.h" | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
26 #include "ccddata.h" | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
27 #include <malloc.h> | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
28 #include <memory.h> | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
29 #include <string.h> | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
30 #include "pdi.h" | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
31 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
32 #define GET_PD(m) ((m)->buf[((m)->o_buf)>>3] & 0x0f) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
33 #define GET_TI(m) ((m)->buf[((m)->o_buf)>>3] >> 4) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
34 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
35 /* Constants borrowed from grr.h */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
36 #define CTRL_BLK_NO_OPT 1 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
37 #define CTRL_BLK_OPT 2 | 
| 
 
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 static T_PDI_DECODEINFO* g_DummyDecodeInfo = NULL; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
40 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
41 static T_PDI_DECODEINFO m_def_dinfo[]={ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
42 /* type */ /* attrib */ /* prim */ /* entity */ /* mt */ /* pdi_prepare_ccdmsg */ /* primmbr */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
43 {PDI_DECODETYPE_L3PDU_N, "sdu", "PH_*", "", 0xff, NULL, NULL}, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
44 {PDI_DECODETYPE_L3PDU_N, "sdu", "MPH_*", "", 0xff, NULL, NULL}, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
45 {PDI_DECODETYPE_L3PDU_N, "sdu", "DL_*", "", 0xff, NULL, NULL}, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
46 {PDI_DECODETYPE_L3PDU, "sdu", "XX_TAP*", "", 0xff, NULL, NULL}, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
47 {PDI_DECODETYPE_NOPD, "sdu", "XX_*", "XX", 0xff, NULL, NULL}, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
48 {PDI_DECODETYPE_L3PDU, "sdu", "*", "", 0xff, NULL, NULL} | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
49 }; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
50 #define DEF_DINFO_COUNT (sizeof(m_def_dinfo) / sizeof(*m_def_dinfo)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
51 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
52 static UBYTE pdi_readmtype (T_MSGBUF* msg, UBYTE len) | 
| 
 
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 UBYTE mt = msg->buf[msg->o_buf>>3] >> (8-len); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
55 msg->l_buf -= len; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
56 msg->o_buf += len; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
57 return mt; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
58 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
59 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
60 #define PDI_MBUFLEN 1024 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
61 static struct | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
62 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
63 U16 l_buf; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
64 U16 o_buf; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
65 char buf[PDI_MBUFLEN]; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
66 } pdi_msgbuf; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
67 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
68 static int pdi_rmac_hdr (T_PDI_CCDMSG* ccdmsg, char* evalue, int evlen) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
69 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
70 char* ptr_blk; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
71 UBYTE payload, rrbp, sp; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
72 evalue++; /* Assume it is an array and skip length delivered from ccdedit */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
73 memcpy (pdi_msgbuf.buf, evalue, evlen > PDI_MBUFLEN ? PDI_MBUFLEN : evlen); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
74 ptr_blk = evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
75 pdi_msgbuf.l_buf = evlen * 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
76 pdi_msgbuf.o_buf = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
77 ccdmsg->mbuf = (T_MSGBUF*) &pdi_msgbuf; | 
| 
 
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 /* the following is borrowed from grlc_gfff.c */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
80 payload = (ptr_blk[0] & 0xC0) >> 6; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
81 rrbp = (ptr_blk[0] & 0x30) >> 4; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
82 sp = (ptr_blk[0] & 0x08) >> 3; | 
| 
 
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 if (payload == CTRL_BLK_NO_OPT) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
85 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
86 /* msg starts at byte #2 */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
87 pdi_msgbuf.l_buf -= 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
88 pdi_msgbuf.o_buf += 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
89 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
90 else if ((payload == CTRL_BLK_OPT) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
91 !(ptr_blk[1] & 0x01) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
92 !(ptr_blk[1] & 0x80) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
93 (ptr_blk[1] & 0x02)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
94 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
95 /* msg starts at byte #3 */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
96 pdi_msgbuf.l_buf -= 16; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
97 pdi_msgbuf.o_buf += 16; | 
| 
 
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 else if ((payload == CTRL_BLK_OPT) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
100 (ptr_blk[1] & 0x01) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
101 !(ptr_blk[1] & 0x80) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
102 (ptr_blk[1] & 0x02)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
103 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
104 /* msg starts at byte #4 */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
105 pdi_msgbuf.l_buf -= 24; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
106 pdi_msgbuf.o_buf += 24; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
107 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
108 else | 
| 
 
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 return PDI_NONE; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
111 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
112 return PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
113 } | 
| 
 
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 T_PDI_CONTEXT* CCDDATA_PREF(pdi_createDefContext)() | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
116 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
117 const T_PDI_DECODEINFO* dinfo; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
118 int dinfo_count=ccddata_get_pdi_dinfo(&dinfo); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
119 if (dinfo_count==0) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
120 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
121 dinfo_count=DEF_DINFO_COUNT; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
122 dinfo=m_def_dinfo; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
123 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
124 return CCDDATA_PREF(pdi_createContext)(dinfo,dinfo_count); | 
| 
 
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 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
128 T_PDI_CONTEXT* CCDDATA_PREF(pdi_createContext)(const T_PDI_DECODEINFO *dinfo, unsigned int dicount) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
129 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
130 int i; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
131 USHORT sap, opc, dir, di; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
132 USHORT pmtx; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
133 T_PDI_DECODEINFO* decodeInfo[1024]; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
134 int decodeInfoCount; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
135 int len; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
136 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
137 T_PDI_CONTEXT *context; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
138 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
139 if (context = (T_PDI_CONTEXT*)malloc(sizeof(T_PDI_CONTEXT))) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
140 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
141 // copy dinfo | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
142 if (!(context->dinfo = (T_PDI_DECODEINFO*)malloc(sizeof(T_PDI_DECODEINFO)*dicount))) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
143 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
144 free(context); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
145 return NULL; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
146 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
147 memcpy(context->dinfo, dinfo, sizeof(T_PDI_DECODEINFO)*dicount); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
148 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
149 // PD -> CCDENT | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
150 memset(context->PdEntityTable, -1, sizeof(T_PDI_PdEntityTable)); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
151 context->PdEntityTable[PD_XX] = ccddata_get_ccdent("XX"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
152 context->PdEntityTable[PD_CC] = ccddata_get_ccdent("CC"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
153 context->PdEntityTable[PD_MM] = ccddata_get_ccdent("MM"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
154 context->PdEntityTable[PD_RR] = ccddata_get_ccdent("RR"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
155 context->PdEntityTable[PD_GMM] = ccddata_get_ccdent("GMM"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
156 context->PdEntityTable[PD_SMS] = ccddata_get_ccdent("SMS"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
157 context->PdEntityTable[PD_SS] = ccddata_get_ccdent("SS"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
158 context->PdEntityTable[PD_SM] = ccddata_get_ccdent("SM"); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
159 context->PdEntityTable[PD_TST] = ccddata_get_ccdent("TST"); | 
| 
 
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 /* initialize mi_length */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
162 context->mi_length = ccddata_get_mi_length (); | 
| 
 
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 // count pcomp | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
165 i = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
166 while (ccddata_get_pcomp((USHORT)i)->name != NULL) i++; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
167 context->PrimDecodeInfo = (T_PDI_DECODEINFO***)malloc(i*sizeof(T_PDI_DECODEINFO**)); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
168 memset(context->PrimDecodeInfo, 0, i*sizeof(int*)); | 
| 
 
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 // search all primitives | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
171 for (sap = 0; sap <= ccddata_get_max_sap_num(); sap++) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
172 for (opc = 0; opc <= (USHORT)ccddata_get_max_primitive_id(); opc++) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
173 for (dir = 0; dir <= 1; dir++) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
174 if ((pmtx = ccddata_get_pmtx(sap, opc, dir)) != NO_REF) | 
| 
 
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 const char* pname; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
177 pname = ccddata_get_pcomp(pmtx)->name; | 
| 
 
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 decodeInfoCount = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
180 for (di = 0; di < dicount; di++) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
181 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
182 int wildcard; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
183 len = strlen(context->dinfo[di].prim); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
184 if (context->dinfo[di].prim[len-1] == '*') | 
| 
 
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 wildcard = 1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
187 len--; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
188 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
189 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
190 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
191 wildcard = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
192 len = strlen(pname); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
193 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
194 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
195 if (wildcard) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
196 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
197 if (!strncmp(context->dinfo[di].prim, pname, len)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
198 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
199 decodeInfo[decodeInfoCount] = &context->dinfo[di]; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
200 decodeInfoCount++; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
201 } | 
| 
 
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 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
204 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
205 if (!strcmp(context->dinfo[di].prim, pname)) | 
| 
 
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 decodeInfo[decodeInfoCount] = &context->dinfo[di]; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
208 decodeInfoCount++; | 
| 
 
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 } | 
| 
 
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 // store decodeInfo for this primitive | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
214 if (decodeInfoCount != 0) | 
| 
 
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 decodeInfo[decodeInfoCount] = g_DummyDecodeInfo; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
217 decodeInfoCount++; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
218 context->PrimDecodeInfo[pmtx] = (T_PDI_DECODEINFO**) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
219 malloc(decodeInfoCount*sizeof(T_PDI_DECODEINFO*)); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
220 if (context->PrimDecodeInfo+pmtx) | 
| 
 
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 memcpy(context->PrimDecodeInfo[pmtx], &decodeInfo, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
223 decodeInfoCount*sizeof(T_PDI_DECODEINFO*)); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
224 | 
| 
 
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 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
227 context->PrimDecodeInfo[pmtx] = &g_DummyDecodeInfo; | 
| 
 
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 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
230 context->PrimDecodeInfo[pmtx] = &g_DummyDecodeInfo; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
231 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
232 } // endif (pmtx != NO_REF) | 
| 
 
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 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
235 return context; | 
| 
 
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 | 
| 
 
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 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
240 void CCDDATA_PREF(pdi_destroyContext)(T_PDI_CONTEXT *context) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
241 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
242 int i = 0; | 
| 
 
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 if (context==NULL) return; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
245 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
246 while (ccddata_get_pcomp((USHORT)i)->name != NULL) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
247 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
248 if ((context->PrimDecodeInfo[i] != NULL) && | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
249 (context->PrimDecodeInfo[i][0] != NULL)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
250 free(context->PrimDecodeInfo[i]); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
251 i++; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
252 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
253 if (context->PrimDecodeInfo != NULL) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
254 free(context->PrimDecodeInfo); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
255 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
256 free(context->dinfo); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
257 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
258 free(context); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
259 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
260 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
261 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
262 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
263 void CCDDATA_PREF(pdi_startPrim)(T_PDI_CONTEXT *context, ULONG opc) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
264 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
265 context->sapi = 0; | 
| 
 
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 if (opc & 0x80000000) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
268 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
269 context->sap = (USHORT) (opc & 0x3fff); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
270 context->opc = (USHORT) ((opc >> 16) & 0xff); | 
| 
 
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 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
273 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
274 context->sap = (USHORT) (((opc & 0x3f00)>>8) & 0xff); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
275 context->opc = (USHORT) (opc & 0xff); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
276 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
277 context->dir = (UBYTE) (((opc & 0x4000)>>14) & 0x01); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
278 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
279 context->pmtx = ccddata_get_pmtx(context->sap, context->opc, context->dir); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
280 context->mtypenum = 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 void CCDDATA_PREF(pdi_getDecodeInfo)(T_PDI_CONTEXT *context, const char *ename, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
284 char *evalue, int evlen, T_PDI *decinfo) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
285 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
286 int i=0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
287 T_PDI_DECODEINFO* di; | 
| 
 
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 decinfo->decodetype = PDI_NONE; | 
| 
 
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 while (di = context->PrimDecodeInfo[context->pmtx][i++]) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
292 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
293 if ((di->type == PDI_DECODETYPE_SAPI) && (strcmp(ename, "sapi") == 0)) | 
| 
 
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 context->sapi = evalue[0]; | 
| 
 
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 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
298 if (!strcmp(ename, di->attrib)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
299 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
300 decinfo->pdi.ccdmsg.msg_type = 0xff; | 
| 
 
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 if (di->pdi_prepare_ccdmsg) | 
| 
 
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 decinfo->decodetype = (*di->pdi_prepare_ccdmsg) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
305 (&decinfo->pdi.ccdmsg, context->mtypeval, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
306 context->mtypenum); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
307 if (decinfo->decodetype == PDI_NONE) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
308 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
309 continue; | 
| 
 
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 } | 
| 
 
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 switch (di->type) | 
| 
 
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 case PDI_DECODETYPE_AIM: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
316 case PDI_DECODETYPE_AIM_N: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
317 case PDI_DECODETYPE_AIM_CHECK: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
318 case PDI_DECODETYPE_AIM_N_CHECK: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
319 decinfo->decodetype = PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
320 memcpy (pdi_msgbuf.buf, evalue, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
321 evlen > PDI_MBUFLEN ? PDI_MBUFLEN : evlen); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
322 pdi_msgbuf.l_buf = evlen * 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
323 pdi_msgbuf.o_buf = 0; | 
| 
 
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 /* first byte: don't care */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
326 pdi_msgbuf.l_buf -= 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
327 pdi_msgbuf.o_buf += 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
328 decinfo->pdi.ccdmsg.mbuf = (T_MSGBUF*) &pdi_msgbuf; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
329 decinfo->pdi.ccdmsg.pd = GET_PD (decinfo->pdi.ccdmsg.mbuf); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
330 if (strcmp (di->entity, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
331 CCDDATA_PREF(pdi_pd2name)(decinfo->pdi.ccdmsg.pd))) | 
| 
 
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 /* pd does not match the configured entity */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
334 decinfo->decodetype = PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
335 continue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
336 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
337 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
338 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
339 pdi_msgbuf.l_buf -= 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
340 pdi_msgbuf.o_buf += 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
341 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
342 //decinfo->pdi.ccdmsg.ti = GET_TI (decinfo->pdi.ccdmsg.mbuf); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
343 decinfo->pdi.ccdmsg.dir = (di->type == PDI_DECODETYPE_AIM) || | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
344 (di->type == PDI_DECODETYPE_AIM_CHECK) ? | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
345 context->dir : (~context->dir)&1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
346 decinfo->pdi.ccdmsg.entity = (UBYTE)ccddata_get_ccdent(di->entity); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
347 decinfo->pdi.ccdmsg.msg_type = pdi_readmtype ( | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
348 decinfo->pdi.ccdmsg.mbuf, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
349 context->mi_length[decinfo->pdi.ccdmsg.entity]); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
350 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
351 case PDI_DECODETYPE_L3PDU_N: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
352 case PDI_DECODETYPE_L3PDU: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
353 decinfo->decodetype = PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
354 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
355 decinfo->pdi.ccdmsg.pd = GET_PD ((T_MSGBUF*) evalue); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
356 decinfo->pdi.ccdmsg.ti = GET_TI ((T_MSGBUF*) evalue); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
357 decinfo->pdi.ccdmsg.dir = (di->type == PDI_DECODETYPE_L3PDU) ? | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
358 context->dir : (~context->dir)&1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
359 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
360 decinfo->pdi.ccdmsg.mbuf = (T_MSGBUF*)evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
361 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
362 if (CCDDATA_PREF(pdi_getEntityByPD)(context, decinfo->pdi.ccdmsg.pd)==-1) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
363 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
364 decinfo->decodetype = PDI_NONE; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
365 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
366 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
367 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
368 decinfo->pdi.ccdmsg.entity = (UBYTE)CCDDATA_PREF(pdi_getEntityByPD)(context, decinfo->pdi.ccdmsg.pd); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
369 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
370 ((T_MSGBUF*)evalue)->o_buf += 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
371 ((T_MSGBUF*)evalue)->l_buf -= 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
372 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
373 decinfo->pdi.ccdmsg.msg_type = pdi_readmtype ((T_MSGBUF*)evalue, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
374 context->mi_length[decinfo->pdi.ccdmsg.entity]); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
375 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
376 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
377 /* remove SSN bit */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
378 if (!strcmp ("DL_DATA_REQ", ccddata_get_pcomp (context->pmtx)->name)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
379 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
380 if (decinfo->pdi.ccdmsg.pd == PD_CC || | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
381 decinfo->pdi.ccdmsg.pd == PD_MM || | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
382 decinfo->pdi.ccdmsg.pd == PD_SS) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
383 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
384 decinfo->pdi.ccdmsg.msg_type &= ~0x40; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
385 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
386 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
387 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
388 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
389 case PDI_DECODETYPE_NOPD: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
390 case PDI_DECODETYPE_NOPD_N: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
391 case PDI_DECODETYPE_RR_SHORT: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
392 decinfo->decodetype = PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
393 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
394 decinfo->pdi.ccdmsg.pd = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
395 decinfo->pdi.ccdmsg.ti = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
396 decinfo->pdi.ccdmsg.dir = (di->type == PDI_DECODETYPE_NOPD) ? | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
397 context->dir : (~context->dir)&1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
398 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
399 decinfo->pdi.ccdmsg.mbuf = (T_MSGBUF*)evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
400 decinfo->pdi.ccdmsg.entity = (UBYTE)ccddata_get_ccdent(di->entity); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
401 decinfo->pdi.ccdmsg.msg_type = pdi_readmtype ((T_MSGBUF*)evalue, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
402 context->mi_length[decinfo->pdi.ccdmsg.entity]); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
403 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
404 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
405 case PDI_DECODETYPE_NOPD_NOTYPE: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
406 case PDI_DECODETYPE_NOPD_NOTYPE_N: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
407 decinfo->decodetype = PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
408 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
409 decinfo->pdi.ccdmsg.pd = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
410 decinfo->pdi.ccdmsg.ti = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
411 decinfo->pdi.ccdmsg.dir = (di->type == PDI_DECODETYPE_NOPD_NOTYPE) ? | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
412 context->dir : (~context->dir)&1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
413 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
414 decinfo->pdi.ccdmsg.mbuf = (T_MSGBUF*)evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
415 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
416 if (decinfo->pdi.ccdmsg.msg_type == 0xff) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
417 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
418 decinfo->pdi.ccdmsg.msg_type = di->msg_type; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
419 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
420 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
421 decinfo->pdi.ccdmsg.entity = (UBYTE)ccddata_get_ccdent(di->entity); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
422 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
423 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
424 case PDI_DECODETYPE_MAC_H: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
425 case PDI_DECODETYPE_MAC_H_N: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
426 case PDI_DECODETYPE_MAC_H_CHECK: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
427 case PDI_DECODETYPE_MAC_H_N_CHECK: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
428 if ((decinfo->decodetype = pdi_rmac_hdr (&decinfo->pdi.ccdmsg, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
429 evalue, evlen)) == PDI_CCDMSG) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
430 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
431 decinfo->pdi.ccdmsg.pd = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
432 decinfo->pdi.ccdmsg.ti = 0; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
433 decinfo->pdi.ccdmsg.dir = ((di->type == PDI_DECODETYPE_MAC_H) || | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
434 (di->type == PDI_DECODETYPE_MAC_H_CHECK)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
435 ? context->dir : (~context->dir)&1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
436 decinfo->pdi.ccdmsg.entity = (UBYTE)ccddata_get_ccdent(di->entity); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
437 decinfo->pdi.ccdmsg.msg_type = | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
438 pdi_readmtype (decinfo->pdi.ccdmsg.mbuf, | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
439 context->mi_length[decinfo->pdi.ccdmsg.entity]); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
440 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
441 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
442 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
443 case PDI_DECODETYPE_SAPI: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
444 decinfo->decodetype = PDI_NONE; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
445 if (context->sapi == 1) // only sapi1 (GMM) has data for ccd | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
446 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
447 decinfo->decodetype = PDI_CCDMSG; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
448 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
449 decinfo->pdi.ccdmsg.pd = GET_PD ((T_MSGBUF*) evalue); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
450 decinfo->pdi.ccdmsg.ti = GET_TI ((T_MSGBUF*) evalue); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
451 decinfo->pdi.ccdmsg.dir = context->dir; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
452 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
453 /* !!! TBD !!! */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
454 /* find msg_type*/ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
455 /* !!! TBD !!! */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
456 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
457 decinfo->pdi.ccdmsg.mbuf = (T_MSGBUF*)evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
458 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
459 ((T_MSGBUF*)evalue)->o_buf += 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
460 ((T_MSGBUF*)evalue)->l_buf -= 8; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
461 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
462 if (CCDDATA_PREF(pdi_getEntityByPD)(context, decinfo->pdi.ccdmsg.pd)==-1) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
463 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
464 decinfo->decodetype = PDI_NONE; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
465 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
466 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
467 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
468 decinfo->pdi.ccdmsg.entity = (UBYTE)CCDDATA_PREF(pdi_getEntityByPD)(context, decinfo->pdi.ccdmsg.pd); | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
469 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
470 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
471 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
472 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
473 default: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
474 decinfo->decodetype = PDI_NONE; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
475 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
476 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
477 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
478 } /* endif (strcmp) */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
479 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
480 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
481 if (evlen > 4 || evlen < 0 || evlen == 3) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
482 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
483 /* don't check prim members for non base types */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
484 continue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
485 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
486 /* check for prim members later needed for finding out msg type */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
487 if (di->primmbr) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
488 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
489 int i; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
490 for (i=0; di->primmbr[i] && context->mtypenum<PDI_MAXPMEMFORMTYPE; i++) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
491 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
492 if (!strcmp(ename, di->primmbr[i])) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
493 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
494 switch (evlen) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
495 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
496 case 1: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
497 context->mtypeval[context->mtypenum++] = | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
498 (ULONG) * (UBYTE*) evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
499 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
500 case 2: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
501 context->mtypeval[context->mtypenum++] = | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
502 (ULONG) * (USHORT*) evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
503 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
504 case 4: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
505 default: | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
506 context->mtypeval[context->mtypenum++] = * (ULONG*) evalue; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
507 break; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
508 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
509 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
510 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
511 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
512 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
513 } /* endwhile */ | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
514 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
515 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
516 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
517 short CCDDATA_PREF(pdi_getEntityByPD)(const T_PDI_CONTEXT *context, unsigned char pd) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
518 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
519 if ((pd > 16) || (context->PdEntityTable == NULL)) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
520 return -1; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
521 else | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
522 return context->PdEntityTable[pd]; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
523 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
524 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
525 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
526 const char* CCDDATA_PREF(pdi_pd2name)(unsigned char pd) | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
527 { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
528 switch (pd) { | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
529 case PD_XX: return "XX"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
530 case PD_CC: return "CC"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
531 case PD_MM: return "MM"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
532 case PD_RR: return "RR"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
533 case PD_GMM: return "GMM"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
534 case PD_SMS: return "SMS"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
535 case PD_SS: return "SS"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
536 case PD_SM: return "SM"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
537 case PD_TST: return "TST"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
538 | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
539 default: return "??"; | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
540 } | 
| 
 
970d6199f2c5
gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
541 } | 
