diff gsm-fw/ccd/ccddata_ccdent.c @ 648:970d6199f2c5

gsm-fw/ccd/*.[ch]: initial import from the LoCosto source
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 04 Sep 2014 05:48:57 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsm-fw/ccd/ccddata_ccdent.c	Thu Sep 04 05:48:57 2014 +0000
@@ -0,0 +1,74 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  
+|  Modul   : ccddata_ccdent.c
++----------------------------------------------------------------------------- 
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG. 
++----------------------------------------------------------------------------- 
+|  Purpose :  Ccddata abstraction for use in lib/dll. The table ccdent.cdg
+|             genereraed by ccdgen is included. 
+|             The exported function ccddata_get_ccdent delivers a mapping
+|             from an entitiy name (like e.g. "RR") to the generated
+|             entity number (CCDENT_RR).
++----------------------------------------------------------------------------- 
+*/ 
+
+#define CCDDATA_CCDENT_C
+#include <string.h>
+#include "typedefs.h"
+#include "mconst.cdg"
+#include "ccdtable.h"
+#include "ccddata.h"
+
+static struct
+{
+  char* entname;
+  int    ccdent;
+} ccdenttbl [] =
+{
+#ifndef CCDDATA_NO_CCDENT
+#include "ccdent.cdg"
+#endif /* CCDDATA_NO_CCDENT */
+{ (char *) NULL , 65535 }
+};
+
+short ccddata_get_ccdent (char* entname)
+{
+  int i = 0;
+
+  for (;;)
+  {
+    if (!ccdenttbl[i].entname)
+      return CCDDATA_CCDENT_INVALID;
+    if (!strcmp (ccdenttbl[i].entname, entname))
+      return ccdenttbl[i].ccdent;
+    ++i;
+  }
+}
+
+const char * ccddata_get_entname (short ccdent)
+{
+  int i = 0;
+
+  for (;;)
+  {
+    if (!ccdenttbl[i].entname)
+    {
+      return NULL;
+    }
+    if (ccdenttbl[i].ccdent==ccdent)
+    {
+      return ccdenttbl[i].entname;
+    }
+    ++i;
+  }
+}