some misc fixes, cleanup
authorDavid Lide <a0216552@gtudci01.(none)>
Fri, 27 Jan 2012 22:57:18 +0000 (17:57 -0500)
committerDavid Lide <a0216552@gtudci01.(none)>
Fri, 27 Jan 2012 22:57:18 +0000 (17:57 -0500)
timer now chains results from multiple cells

15 files changed:
ti/runtime/netapi/OLD/qmsim.c
ti/runtime/netapi/OLD/qmsim.h
ti/runtime/netapi/OLD/shmtest.c
ti/runtime/netapi/OLD/synchtest.c [deleted file]
ti/runtime/netapi/OLD/synchtest2.c [deleted file]
ti/runtime/netapi/src/netapi_timer.c
ti/runtime/netapi/src/timlist.c
ti/runtime/netapi/test/net_test.c
ti/runtime/netapi/test/qmsim.c [deleted file]
ti/runtime/netapi/test/qmsim.h [deleted file]
ti/runtime/netapi/test/stubs.c
ti/runtime/netapi/test/synchtest.c
ti/runtime/netapi/test/synchtest2.c
ti/runtime/netapi/test/trie.c
ti/runtime/netapi/test/trie.h

index 8cb9ac323c9242506d4e9d6b105bf3510080dd75..9a652b10ab87fca4b5807f538a2bd7e9e539bd34 100644 (file)
@@ -1,3 +1,44 @@
+/*******************************************************************
+* FILE:  qmsim.c
+ * 
+ * DESCRIPTION:  netapi user space transport
+ *               library  desktop simulator for queues.
+ *              (test code, not operational) 
+ * 
+ * REVISION HISTORY:  rev 0.0.1 
+ *
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011
+ * 
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the 
+ *    documentation and/or other materials provided with the   
+ *    distribution.
+ *
+ *    Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ ***********************************************************************/
+
+
 #include <stdlib.h>
 #include "qmsim.h"
 
index bb5dc4babdeec7b2b034133f9ee677dcc9914b08..c4acaf79c903ad8a5b05139413d864896ac78958 100644 (file)
@@ -1,5 +1,42 @@
 /****************************
  * qmsim.h: qmss lld, hw simulator
+ *************************************************
+ * FILE:  net_test.c
+ * 
+ * DESCRIPTION:  netapi user space transport
+ *               library  test application - simulator code for desktop testing
+ * 
+ * REVISION HISTORY:  rev 0.0.1 
+ *
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011
+ * 
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the 
+ *    documentation and/or other materials provided with the   
+ *    distribution.
+ *
+ *    Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *****************************/
 #ifndef __QMSIM__H
 #define __QMSIM__H
index b24adbbfcdbf442c45167bc86b2b39da25b5e3e4..16ed129cb5fe8ff8efede4fff79f9d371c92dfbe 100644 (file)
@@ -1,3 +1,43 @@
+/*************************************************
+* FILE:  shmtest.c
+ * 
+ * DESCRIPTION:  netapi user space transport
+ *               library  test application (not used, kept as refenence)
+ * 
+ * REVISION HISTORY:  rev 0.0.1 
+ *
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011
+ * 
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the 
+ *    documentation and/or other materials provided with the   
+ *    distribution.
+ *
+ *    Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ **********************************************************************/
+
+
 #include <stdlib.h>
 #include <sys/shm.h>
 #include <errno.h>
diff --git a/ti/runtime/netapi/OLD/synchtest.c b/ti/runtime/netapi/OLD/synchtest.c
deleted file mode 100644 (file)
index 92b899d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-int spot=0;
-main()
-{
-int val;
-int i;
-for(i=0;i<10;i++) {
-val=__sync_fetch_and_add_4(&spot, 1);
-printf(" val = %d %d\n",val,spot);
-}
-}
diff --git a/ti/runtime/netapi/OLD/synchtest2.c b/ti/runtime/netapi/OLD/synchtest2.c
deleted file mode 100755 (executable)
index 8698919..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-#include <stdio.h>\r
-#include <pthread.h>\r
-#include <unistd.h>\r
-#include <stdlib.h>\r
-#include <sched.h>\r
-#include <linux/unistd.h>\r
-#include <sys/syscall.h>\r
-#include <errno.h>\r
-\r
-#define INC_TO 1000000 // one million...\r
-\r
-int global_int = 0;\r
-\r
-pid_t gettid( void )\r
-{\r
-       return syscall( __NR_gettid );\r
-}\r
-\r
-void *thread_routine( void *arg )\r
-{\r
-       int i;\r
-       int proc_num = (int)(long)arg;\r
-       cpu_set_t set;\r
-\r
-       CPU_ZERO( &set );\r
-       CPU_SET( proc_num, &set );\r
-\r
-       if (sched_setaffinity( gettid(), sizeof( cpu_set_t ), &set ))\r
-       {\r
-               perror( "sched_setaffinity" );\r
-               return NULL;\r
-       }\r
-\r
-       for (i = 0; i < INC_TO; i++)\r
-       {\r
-//             global_int++;\r
-               __sync_fetch_and_add( &global_int, 1 );\r
-       }\r
-\r
-       return NULL;\r
-}\r
-\r
-int main()\r
-{\r
-       int procs = 0;\r
-       int i;\r
-       pthread_t *thrs;\r
-\r
-       // Getting number of CPUs\r
-       procs = (int)sysconf( _SC_NPROCESSORS_ONLN );\r
-       if (procs < 0)\r
-       {\r
-               perror( "sysconf" );\r
-               return -1;\r
-       }\r
-\r
-       thrs = malloc( sizeof( pthread_t ) * procs );\r
-       if (thrs == NULL)\r
-       {\r
-               perror( "malloc" );\r
-               return -1;\r
-       }\r
-\r
-       printf( "Starting %d threads...\n", procs );\r
-\r
-       for (i = 0; i < procs; i++)\r
-       {\r
-               if (pthread_create( &thrs[i], NULL, thread_routine,\r
-                       (void *)(long)i ))\r
-               {\r
-                       perror( "pthread_create" );\r
-                       procs = i;\r
-                       break;\r
-               }\r
-       }\r
-\r
-       for (i = 0; i < procs; i++)\r
-               pthread_join( thrs[i], NULL );\r
-\r
-       free( thrs );\r
-\r
-       printf( "After doing all the math, global_int value is: %d\n",\r
-               global_int );\r
-       printf( "Expected value is: %d\n", INC_TO * procs );\r
-\r
-       return 0;\r
-}
\ No newline at end of file
index c1c6df516c3552e377abbe81803021dba7580442..ffa5f01f17103f9d06e01bb5d48d3b39c539ef81 100644 (file)
@@ -200,7 +200,7 @@ int  netapi_TimerGroupPoll(NETAPI_TIMER_GROUP_HANDLE_T th, int maxTimers)
 unsigned long long ct= netapi_getTimestamp(); 
 unsigned long long i;
 int cell;
-TIM_LIST_T res;
+TIM_LIST_T res={NULL,NULL};
 int n;
 int n_tot=0;
 int c_seen=0;
@@ -213,15 +213,16 @@ int c_seen=0;
                             &((TIMER_GROUP_T*) th)->free,
                             i,  
                             &n);
-      if (n)
-      {
-           ((TIMER_GROUP_T*) th)->cb(th, n, (NETAPI_TIMER_LIST_T) &res, ct);
-           tim_return_free(&((TIMER_GROUP_T*) th)->free,&res,n);
-           n_tot+=n;
-      }
+      n_tot+=n;
       i += ((TIMER_GROUP_T*) th)->cell_width; 
       c_seen+=1;
    }
+   if (n_tot)
+      {
+           ((TIMER_GROUP_T*) th)->cb(th, n_tot, (NETAPI_TIMER_LIST_T) &res, ct);
+           tim_return_free(&((TIMER_GROUP_T*) th)->free,&res,n_tot);
+      }
+
    ((TIMER_GROUP_T*) th)->last_polled = i;
    if (c_seen) timer_poll_stats.n_tot = n_tot;
    if (c_seen) timer_poll_stats.c_seen = c_seen;
index b7ff14ad683fff82d29fbddf46eb3348260b27fe..9eb69d6ea667254dff2167c90b9a65abfb0b3109 100644 (file)
@@ -163,7 +163,6 @@ int got_start=0;
 int found_end=0;
 TIM_T * p_last, *p, *temp_p_next;
 TIM_LIST_T p_free={NULL,NULL};
-pr->head=pr->tail=NULL;
 if (! tl->head) { *p_nf=0; return ;}
 
 p =  tl->head;
@@ -179,7 +178,8 @@ for(i=0;p;)
        {
        //start results chain
          got_start=1;
-         pr->head=pr->tail = p;
+         if(pr->tail)  {pr->tail->next = p; pr->tail=p;}
+         else {pr->head=pr->tail = p;}
          i+=1;
          p_last=p;
          p=p->next;
@@ -341,24 +341,29 @@ main()
 
  tim_cancel(timers[6], &err);
 
+
+ res.head=res.tail=NULL;
 for(i=90;i<106;i++)
  {
 tim_return_fired_list(&cell_base, &res, &the_base, (unsigned long long) i,  &n);
  printf("at %d got %d\n", i, n);
- if (n) tim_return_free(&the_base,&res,n);
+ if (n) {tim_return_free(&the_base,&res,n); res.head=res.tail=NULL;
+
  }
 
 //special cases..
-
+ res.head=res.tail=NULL;
  timers[0]=tim_set(&cell_base, &the_base, 106LL, (void *)10, &err);
  tim_cancel(timers[0],&err);
  tim_return_fired_list(&cell_base, &res, &the_base, (unsigned long long) 106,  &n);
  
+ res.head=res.tail=NULL;
  timers[0]=tim_set(&cell_base, &the_base, 106LL, (void *)10, &err);
  timers[1]=tim_set(&cell_base, &the_base, 106LL, (void *)10, &err);
  tim_cancel(timers[0],&err);
  tim_return_fired_list(&cell_base, &res, &the_base, (unsigned long long) 106,  &n);
 
+ res.head=res.tail=NULL;
  timers[0]=tim_set(&cell_base, &the_base, 106LL, (void *)10, &err);
  timers[1]=tim_set(&cell_base, &the_base, 106LL, (void *)10, &err);
  tim_cancel(timers[0],&err);
index 6ea95fc553e61279c89b82ab7851c8e13209c23f..99105f9ca3a1a4e53e970f926693264a33d0fccc 100755 (executable)
@@ -205,6 +205,7 @@ typedef struct key_t
 unsigned char mac0[]={0x00,0x01,0x02,0x03,0x04,0x05}; //interface 0
 unsigned char mac1[]={0x00,0x01,0x02,0x03,0x04,0x06}; //interface 1
 nwalIpAddr_t OurIp0={ 10, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+nwalIpAddr_t OurIp1={ 10, 0, 1, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 
 #if 1  //goes with real tx (to laptop) 
 unsigned char real_mac_header[]={0xd4,0xbe,0xd9,0x00,0xd3,0x7e,
@@ -780,6 +781,19 @@ netcp_cfgCreateMacInterface(
                   1,
                   &err);
 if (err) {printf("addmac1 failed %d\n",err); exit(1); }
+
+//attach an IP to this interface
+netcp_addIp(
+                  netapi_handle,
+                  1,
+                  nwal_IPV4,
+                  &OurIp1,
+                  NULL,  //all IP
+                  (NETCP_CFG_ROUTE_HANDLE_T) NULL,
+                  &err
+                  );
+if (err) {printf("addip1 failed %d\n",err); exit(1); }
+
 #endif
 
  ourTimerBlock = netapi_TimerGroupCreate(
@@ -790,7 +804,7 @@ if (err) {printf("addmac1 failed %d\n",err); exit(1); }
         0,    //1 if expect to cancel
         netapi_getTicksPerSec()/1000,  /* 1 msc resolution for these timers */
         netapi_getTicksPerSec()/5000, /* would like .5 msc tolerence */
-        100,
+        10,  //small # of timers to test garbage collection
         &err);
 if (err) {printf("timergroupcreate failed %d\n",err); exit(1);}
 
diff --git a/ti/runtime/netapi/test/qmsim.c b/ti/runtime/netapi/test/qmsim.c
deleted file mode 100644 (file)
index 8cb9ac3..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <stdlib.h>
-#include "qmsim.h"
-
-/*-------------------Simulator part ---------------*/
-
-void dumpq(Q* q)
-{
-  printf("QDUMP: %d %d %d %d\n",q->size, q->ne, q->head,q->tail);
-}
-void qsim_close(Q * q)
-{
-  if (!q) return;
-  if (q->q) free(q->q);
-  free(q);
-  printf("QSIM: freeing queue\n");
-}
-
-Q * qsim_create(nelem)
-{
-void *p;
-Q * q;
-if (!nelem) return NULL;
-q = (Q*) calloc(1,sizeof(Q));
-if (!q) return NULL;
-
-p = (void **) calloc(nelem,sizeof(void *));
-if (!p) { free(q); return NULL; }
-
-q->size=nelem;
-q->q = p ;
- printf("QSIM CREATE .. "); dumpq(q);
-return q;
-}
-
-int  qsim_push(Q *q, void *p)
-{
- if (!q) return -1;
- if (q->ne >= q->size) return-1;
- q->q[q->tail] = p;
- q->tail +=1;
- q->ne+=1;
- if (q->tail >= q->size) q->tail = 0;
- //dumpq(q);
- return 1;
-}
-void * qsim_pop(Q *q )
-{
-   void * val;
-   if (!q) return NULL;
-   if (q->ne ==0) return NULL;
-   val = q->q[q->head];
-   q->head+=1;
-   if(q->head>= q->size) q->head=0;
-   q->ne -=1;
- //dumpq(q);
-   return val;
-} 
-
-//#define TEST_QSIM
-#ifdef TEST_QSIM
-main()
-{
- Q * q;
- int i;
- q=  qsim_create(10);
- for(i=1;i<11;i++)  qsim_push(q, (void *) i);
- for(;i<16;i++) { void * val; val = qsim_pop(q); printf("%d\n", (int) val);}
- for(;i<21;i++) qsim_push(q, (void *) i);
- for(;i<31;i++) { void * val; val = qsim_pop(q); printf("%d\n", (int) val);}
-}
-#endif
diff --git a/ti/runtime/netapi/test/qmsim.h b/ti/runtime/netapi/test/qmsim.h
deleted file mode 100644 (file)
index bb5dc4b..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/****************************
- * qmsim.h: qmss lld, hw simulator
-*****************************/
-#ifndef __QMSIM__H
-#define __QMSIM__H
-
-
-#ifndef NULL
-#define NULL (void*) 0
-#endif
-
-typedef struct Q_t
-{
-  int size;
-  int head;
-  int tail;
-  int ne;
-  void ** q;
-} Q;
-
-/*-----------------------*/
-/*--------simulator------*/
-Q * qsim_create(int nelem);
-int  qsim_push(Q *, void *p);
-void * qsim_pop(Q * );
-void qsim_close(Q * );
-#endif
index fda76b84228b40401825bb9c3667463e3d42135c..b8ce04b688e9441684e0572bc96cce069e3a2b3c 100644 (file)
@@ -1 +1,2 @@
 /* stubs .. */
+/* place holder...*/
index baa19f957aeadb3f8ec3cd3a68719c96c1410c82..f916ba323609a7c3ee2d2414772e30bbdbd49447 100644 (file)
@@ -1,6 +1,43 @@
 /********************************
  * file: synchtest.c
  * sync primitives unit test
+ ************************************************
+* FILE:  synchtest.c 
+ * 
+ * DESCRIPTION:  netapi user space transport
+ *               library  test application -> synchronization primitives
+ * 
+ * REVISION HISTORY:  rev 0.0.1 
+ *
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011
+ * 
+ *  Redistribution and use in source and binary forms, with or without 
+ *  modification, are permitted provided that the following conditions 
+ *  are met:
+ *
+ *    Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *    Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the 
+ *    documentation and/or other materials provided with the   
+ *    distribution.
+ *
+ *    Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  ******************************/
 #include "netsync.h"
 #include "netapi_util.h"
index 8a35af34129b758e5542beea29c32f1ca7e80617..b18f6db19a49e1e1b81ae970491b271ad5eb03b2 100644 (file)
@@ -1,3 +1,44 @@
+/**************************************\r
+ * file : synchtest2.c\r
+ **************************************\r
+ * * FILE:  synchtest2.c\r
+ * \r
+ * DESCRIPTION:  netapi user space transport\r
+ *               library  test application - more synchtest\r
+ * \r
+ * REVISION HISTORY:  rev 0.0.1 \r
+ *\r
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011\r
+ * \r
+ *  Redistribution and use in source and binary forms, with or without \r
+ *  modification, are permitted provided that the following conditions \r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright \r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the \r
+ *    documentation and/or other materials provided with the   \r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ ******************************************************************************/\r
+\r
 #include <stdio.h>\r
 #include <pthread.h>\r
 #include <unistd.h>\r
index c4f50b522b53dd1373b6d87bde68b06fd3d0307f..481e66b670dd88dfa85a90626d8b53a2fc3fc26a 100755 (executable)
@@ -30,6 +30,39 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \r
 POSSIBILITY OF SUCH DAMAGE.\r
 \r
+ *ALSO:   TI modifications made to support binary data keys\r
+\r
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011\r
+ * \r
+ *  Redistribution and use in source and binary forms, with or without \r
+ *  modification, are permitted provided that the following conditions \r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright \r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the \r
+ *    documentation and/or other materials provided with the   \r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+* \r
+\r
 */\r
 \r
 /* Trie: fast mapping of strings to values */\r
index 5096cec5d3c8a0d4a93531f257dd0e6d85f222a0..67ca46277542ad4b7f1e419dfd131a60e571d5e3 100755 (executable)
@@ -30,6 +30,41 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \r
 POSSIBILITY OF SUCH DAMAGE.\r
 \r
+ * ALSO: TI mods to support binary keys\r
+ * REVISION HISTORY:  rev 0.0.1 \r
+ *\r
+ *  Copyright (c) Texas Instruments Incorporated 2010-2011\r
+ * \r
+ *  Redistribution and use in source and binary forms, with or without \r
+ *  modification, are permitted provided that the following conditions \r
+ *  are met:\r
+ *\r
+ *    Redistributions of source code must retain the above copyright \r
+ *    notice, this list of conditions and the following disclaimer.\r
+ *\r
+ *    Redistributions in binary form must reproduce the above copyright\r
+ *    notice, this list of conditions and the following disclaimer in the \r
+ *    documentation and/or other materials provided with the   \r
+ *    distribution.\r
+ *\r
+ *    Neither the name of Texas Instruments Incorporated nor the names of\r
+ *    its contributors may be used to endorse or promote products derived\r
+ *    from this software without specific prior written permission.\r
+ *\r
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \r
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT \r
+ *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
+ *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT \r
+ *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, \r
+ *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT \r
+ *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
+ *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\r
+ *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT \r
+ *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE \r
+ *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+\r
+\r
+\r
 */\r
 \r
 /**\r