2
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : ccddata_ccdptab.c
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : Ccddata abstraction for use in lib/dll. The four tables
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | pvar, pcomp, pelem, and pmtx, genereraed by ccdgen
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 | (in ccdptab.cdg) are supplied. In addition, corresponding
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 | functions deliver specified elements of the tables. For
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 | pmtx the function must be used, because this three-dimesional
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 | array cannot be declared as extern without knowing the constants
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 | at compile time.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "typedefs.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "pconst.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "ccdtable.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 static const T_CCD_VarTabEntry ccddata_pvar [] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "pvar.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 static const T_CCD_CompTabEntry ccddata_pcomp [] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #include "pcomp.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 static const T_CCD_ElemTabEntry ccddata_pelem [] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #include "pelem.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 static const USHORT ccddata_pmtx [MAX_PMTX_SIZE] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #include "pmtxval.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 const T_CCD_MTXIDX ccddata_pmtx_idx [] =
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #include "pmtxidx.cdg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 };
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 const T_CCD_VarTabEntry* ccddata_get_pvar (USHORT idx)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 return &ccddata_pvar[idx];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 const T_CCD_CompTabEntry* ccddata_get_pcomp (USHORT idx)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 return &ccddata_pcomp[idx];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 const T_CCD_ElemTabEntry* ccddata_get_pelem (USHORT idx)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 return &ccddata_pelem[idx];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 USHORT ccddata_get_pmtx (USHORT sap, USHORT primid, USHORT index)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 if ((sap > MAX_SAP_NUM) || (primid >= ccddata_pmtx_idx[sap].numitems))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 return NO_REF;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 return ccddata_pmtx[2*(ccddata_pmtx_idx[sap].idx + primid) + index];
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 }
|