From 2952e428967caeae908450bb92710cb92b11a8f5 Mon Sep 17 00:00:00 2001 From: hadaq Date: Wed, 24 Nov 2010 15:07:30 +0000 Subject: [PATCH] EB prefix from shared mem added. Sergey. --- ebctrl/ioc/ebctrlApp/src/evtbuild.c | 34 +++++++++++++++++++++++---- ebctrl/ioc/ebctrlApp/src/evtbuild.dbd | 2 +- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/ebctrl/ioc/ebctrlApp/src/evtbuild.c b/ebctrl/ioc/ebctrlApp/src/evtbuild.c index 438bf73..a225968 100644 --- a/ebctrl/ioc/ebctrlApp/src/evtbuild.c +++ b/ebctrl/ioc/ebctrlApp/src/evtbuild.c @@ -42,6 +42,7 @@ long evtbuild_proc( struct genSubRecord *pgsub ) unsigned long tmp; static unsigned long temp[10] = {0}; int i; + char *prefix; out[0] = (uint32_t *)pgsub->vala; /* nrOfMsgs */ out[1] = (uint32_t *)pgsub->valb; /* byteWrit = bytes written */ @@ -59,6 +60,8 @@ long evtbuild_proc( struct genSubRecord *pgsub ) out[13] = (uint32_t *)pgsub->valn; /* number of EB machine (1 = lxhadeb01) */ out[14] = (uint32_t *)pgsub->valo; /* PID */ out[15] = (uint32_t *)pgsub->valp; /* core number */ + prefix = (char *)pgsub->valq; + /* pgsub->vall : bytesWrittenRate in stringin record (array of char's) */ for( i=0; i<16; i++ ) @@ -280,11 +283,34 @@ long evtbuild_proc( struct genSubRecord *pgsub ) } /* - * int bytedCoverted; - * sprintf( buf, "%s", unit(*out[9])); - * strcpy(pgsub->vall, buf); + * ************** prefix code *************** */ - + + if( Worker_getStatistic( buf, "prefix", &tmp ) == -1) { + sprintf(prefix, "--"); + + if(evtbuildDebug) + printf(" evtbuild.c: Worker_getStatistic failed for prefix!\n"); + } + else { + uint32_t code = (uint32_t)tmp; + + /* Decode prefixCode back to prefix string */ + char alphabet[] = "abcdefghijklmnopqrstuvwxyz"; + + int i1 = (int)(code/100) - 1; + int i2 = code - 100 * (int)(code/100) - 1; + + if(i1 >= 0 && i1 < 26 && i2 >= 0 && i2 < 26){ + sprintf(prefix, "%c%c", alphabet[i1], alphabet[i2]); + } + else{ + sprintf(prefix, "--"); + if(evtbuildDebug) + printf(" evtbuild.c: decoding for prefix failed!\n"); + } + } + return(0); } diff --git a/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd b/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd index 7a19465..f379820 100644 --- a/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd +++ b/ebctrl/ioc/ebctrlApp/src/evtbuild.dbd @@ -1,3 +1,3 @@ variable(evtbuildDebug) function(evtbuild_init) -function(evtbuild_proc) \ No newline at end of file +function(evtbuild_proc) -- 2.43.0