-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/agent.c,v 6.11 2003-03-02 15:50:08 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/agent.c,v 6.12 2003-03-02 16:24:59 hadaq Exp $";
 
 #define _GNU_SOURCE
 #include <unistd.h>
 
-
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/ctrlctu.c,v 6.14 2003-03-02 15:50:09 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/ctrlctu.c,v 6.15 2003-03-02 16:24:59 hadaq Exp $";
 
 #define _XOPEN_SOURCE
 #define _POSIX_C_SOURCE 199506L
 
--- /dev/null
+$Header$
+$Log$
+Revision 6.1  2003-03-02 16:24:59  hadaq
+Joined evtbuild.c BUGFIX from shw-blt branch -- mm
+
+Revision 1.1.2.18  2003/03/02 16:08:25  hadaq
+indented, regression test ok -- mm
+
+Revision 1.1.2.17  2003/03/02 14:34:44  hadaq
+CFLAGS=-pg, copy, transport and build only minimum crate events:
+     evtsComplete/s:  256     evtsDiscarded/s:    0      bytesWritten/s: 8192
+ with jitter evtComplete/s approx 230 ->  8.5MByte/s again
+
+Revision 1.1.2.16  2003/03/02 13:56:47  hadaq
+*_2charP functions are performance problem (sprintf without
+honouring the debug level -> put into #ifndef NDEBUG -- mm
+
+Revision 1.1.2.15  2003/03/02 13:31:08  hadaq
+CFLAGS=-pg      evtsComplete/s:  167     evtsDiscarded/s:    0      bytesWritten/s: 6193k
+
+Revision 1.1.2.14  2003/03/02 13:21:13  hadaq
+worker put statistic only on stderr, not into syslog
+
+Revision 1.1.2.13  2003/03/02 12:52:17  hadaq
+maxSubEvtSize for one shw ipc is 3088 00000C10 (measured) -- mm
+
+Revision 1.1.2.12  2003/03/02 11:02:00  hadaq
+trigAccepted zeigt unmglich Werte
+
+Revision 1.1.2.11  2003/03/02 09:21:40  hadaq
+Shower crate an/aus:
+ca_test HAD:wi_4_control_send 256 (aus)
+ca_test HAD:wi_4_control_send 768 (an)
+-- mm
+
+Revision 1.1.2.10  2003/03/02 08:39:48  hadaq
+Regression test (Shw debug) successful -- mm
+
+Revision 1.1.2.9  2003/02/23 15:10:31  hadaq
+Still keep crashing now and then, connected to profiling ?
+
+Revision 1.1.2.8  2003/02/23 14:29:00  hadaq
+virtually switched off the rest of the processing (get large se via
+BLT, but transport only headers) 230ev/s 8.5MByte/s
+
+Revision 1.1.2.7  2003/02/23 14:12:32  hadaq
+with memnet 6.5 MByte/s, slower than evtbuildcd ROC!
+
+Revision 1.1.2.6  2003/02/23 14:09:03  hadaq
+memcpy (virtually) switched off (copies only header): 196ev/s 7.6MByte/s
+
+Revision 1.1.2.5  2003/02/23 14:02:56  hadaq
+Recompiled everything -O3 -dNDEBUG, no stable start, but now
+once running.  evtComplete/s 170 (6.2MByte/s)
+
+Revision 1.1.2.4  2003/02/23 13:36:42  hadaq
+Was running once with BLT (6MB/s), now crashes readout, tag Exp20030223
+
+Revision 1.1.2.3  2003/02/23 08:25:25  hadaq
+construct and delete bma, normal readout, ok
+
+Revision 1.1.2.2  2003/02/23 08:16:38  hadaq
+Regression Test with version of last saturday ok
+
+Revision 1.1.2.1  2003/02/23 08:14:52  hadaq
+Experiment with CVS as a more general logbook
+
+Sun Feb 23 09:14:06 MET 2003
+Sun Feb 23 09:16:21 MET 2003
+Sun Feb 23 09:23:46 MET 2003
+Sun Feb 23 09:25:23 MET 2003
+Sun Feb 23 14:36:40 MET 2003
+Sun Feb 23 15:01:43 MET 2003
+Sun Feb 23 15:08:20 MET 2003
+Sun Feb 23 15:12:31 MET 2003
+Sun Feb 23 15:27:07 MET 2003
+Sun Feb 23 16:10:07 MET 2003
+Sun Mar  2 09:39:09 MET 2003
+Sun Mar  2 10:19:46 MET 2003
+Sun Mar  2 12:01:59 MET 2003
+Sun Mar  2 13:52:16 MET 2003
+Sun Mar  2 14:21:12 MET 2003
+Sun Mar  2 14:30:55 MET 2003
+Sun Mar  2 14:31:07 MET 2003
+Sun Mar  2 14:56:46 MET 2003
+Sun Mar  2 15:34:43 MET 2003
+Sun Mar  2 17:08:24 MET 2003
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evt.c,v 6.13 2003-03-02 15:50:09 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evt.c,v 6.14 2003-03-02 16:24:59 hadaq Exp $";
 
 
 #define _ANSI_C_SOURCE
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.60 2003-03-02 15:50:09 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/evtbuild.c,v 6.61 2003-03-02 16:24:59 hadaq Exp $";
 
 
 #define _POSIX_C_SOURCE 199309L
        static unsigned long lastTE;
        static unsigned long lastED;
        static unsigned long lastBW;
-       static time_t lastTime = 0;
-       time_t dT;
+       static time_t t0 = 0;
+       time_t t, dT;
        int i;
 
 
-       if (theArgs->isStandalone
-               && strcmp(theArgs->verbosity, "info") == 0
-               && (dT = (time(NULL) - lastTime)) >= interval
-               ) {
-               int col = 0;
-
-               fputs("==============================================================================\n", stderr);
-               fprintf(stderr, "%19s:%6s", "evtsComplete  ", unit(*my->evtsComplete));
-               fprintf(stderr, "%19s:%6s", "evtsDiscarded  ", unit(*my->evtsDiscarded));
-               fprintf(stderr, "%19s:%6s", "bytesWritten  ", unit(*my->bytesWritten));
-               fputc('\n', stderr);
-               fprintf(stderr, "%19s:%6s", "evtsDataError  ", unit(*my->evtsDataError));
-               fprintf(stderr, "%19s:%6s", "evtsTagError  ", unit(*my->evtsTagError));
-               fputc('\n', stderr);
-
-               fprintf(stderr, "%19s:%6s", "evtsComplete/s", unit(*my->evtsComplete - lastEC));
-               fprintf(stderr, "%19s:%6s", "evtsDiscarded/s", unit(*my->evtsDiscarded - lastED));
-               fprintf(stderr, "%19s:%6s", "bytesWritten/s", unit(*my->bytesWritten - lastBW));
-               fputc('\n', stderr);
-               fprintf(stderr, "%19s:%6s", "evtsDataError/s", unit(*my->evtsDataError - lastEE));
-               fprintf(stderr, "%19s:%6s", "evtsTagError/s", unit(*my->evtsTagError - lastTE));
-               fputc('\n', stderr);
-               lastEC = *my->evtsComplete;
-               lastEE = *my->evtsDataError;
-               lastTE = *my->evtsTagError;
-               lastED = *my->evtsDiscarded;
-               lastBW = *my->bytesWritten;
-
-               fputs("------------------------------------------------------------------------------\n", stderr);
-               col = 0;
-               for (i = 0; i < NEVTIDS; i++) {
-                       if (*my->evtId[i] != 0) {
-                               fprintf(stderr, "%17s%02x:%6s", "evtId", i, unit(*my->evtId[i]));
+       if (theArgs->isStandalone && strcmp(theArgs->verbosity, "info") == 0) {
+               t = time(NULL);
+               dT = t - t0;
+               if (dT >= interval) {
+                       int col = 0;
+
+                       fputs("==============================================================================\n", stderr);
+                       fprintf(stderr, "%19s:%6s", "evtsComplete  ", unit(*my->evtsComplete));
+                       fprintf(stderr, "%19s:%6s", "evtsDiscarded  ", unit(*my->evtsDiscarded));
+                       fprintf(stderr, "%19s:%6s", "bytesWritten  ", unit(*my->bytesWritten));
+                       fputc('\n', stderr);
+                       fprintf(stderr, "%19s:%6s", "evtsDataError  ", unit(*my->evtsDataError));
+                       fprintf(stderr, "%19s:%6s", "evtsTagError  ", unit(*my->evtsTagError));
+                       fputc('\n', stderr);
+
+                       fprintf(stderr, "%19s:%6s", "evtsComplete/s", unit((*my->evtsComplete - lastEC) / dT));
+                       fprintf(stderr, "%19s:%6s", "evtsDiscarded/s", unit((*my->evtsDiscarded - lastED) / dT));
+                       fprintf(stderr, "%19s:%6s", "bytesWritten/s", unit((*my->bytesWritten - lastBW) / dT));
+                       fputc('\n', stderr);
+                       fprintf(stderr, "%19s:%6s", "evtsDataError/s", unit((*my->evtsDataError - lastEE) / dT));
+                       fprintf(stderr, "%19s:%6s", "evtsTagError/s", unit((*my->evtsTagError - lastTE) / dT));
+                       fputc('\n', stderr);
+                       lastEC = *my->evtsComplete;
+                       lastEE = *my->evtsDataError;
+                       lastTE = *my->evtsTagError;
+                       lastED = *my->evtsDiscarded;
+                       lastBW = *my->bytesWritten;
+
+                       fputs("------------------------------------------------------------------------------\n", stderr);
+                       col = 0;
+                       for (i = 0; i < NEVTIDS; i++) {
+                               if (*my->evtId[i] != 0) {
+                                       fprintf(stderr, "%17s%02x:%6s", "evtId", i, unit(*my->evtId[i]));
+                                       if (++col == 3) {
+                                               fputc('\n', stderr);
+                                               col = 0;
+                                       }
+                               }
+                       }
+                       if (col != 0) {
+                               fputc('\n', stderr);
+                       }
+                       col = 0;
+
+                       fputs("------------------------------------------------------------------------------\n", stderr);
+                       for (i = 0; i < theArgs->nrOfMsgs; i++) {
+                               fprintf(stderr, "%12s%02d: 0x%08x", "trigNr", i, *my->trigNr[i]);
                                if (++col == 3) {
                                        fputc('\n', stderr);
                                        col = 0;
                                }
                        }
-               }
-               if (col != 0) {
-                       fputc('\n', stderr);
-               }
-               col = 0;
-
-               fputs("------------------------------------------------------------------------------\n", stderr);
-               for (i = 0; i < theArgs->nrOfMsgs; i++) {
-                       fprintf(stderr, "%12s%02d: 0x%08x", "trigNr", i, *my->trigNr[i]);
-                       if (++col == 3) {
+                       if (col != 0) {
                                fputc('\n', stderr);
-                               col = 0;
                        }
+                       t0 = t;
                }
-               if (col != 0) {
-                       fputc('\n', stderr);
-               }
-               lastTime += dT;
        }
 }
 
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/hadtu.c,v 6.4 2001-11-18 11:56:21 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/hadtu.c,v 6.5 2003-03-02 16:24:59 hadaq Exp $";
 
 
 #define _ANSI_C_SOURCE
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/hadtuqueue.c,v 6.4 2001-03-07 16:02:44 hades Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/hadtuqueue.c,v 6.5 2003-03-02 16:24:59 hadaq Exp $";
 
 
 #define _ANSI_C_SOURCE
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/hldread.c,v 6.6 2003-03-02 15:50:09 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/hldread.c,v 6.7 2003-03-02 16:24:59 hadaq Exp $";
 
 
 #define _POSIX_C_SOURCE 199309L
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.38 2003-03-02 15:50:09 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwrich.c,v 6.39 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsam.c,v 6.17 2003-03-02 15:50:09 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsam.c,v 6.18 2003-03-02 16:25:00 hadaq Exp $";
 
 #include <assert.h>
 #include <string.h>
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsoft.c,v 6.27 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwsoft.c,v 6.28 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define _POSIX_C_SOURCE 199309L
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.29 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtip.c,v 1.30 2003-03-02 16:25:00 hadaq Exp $";
 
 #include <assert.h>
 #include <string.h>
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.35 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/hwtrig.c,v 6.36 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/memnet.c,v 6.16 2003-03-02 15:50:10 hadaq Exp $";
-
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/memnet.c,v 6.17 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #define SYSLOG_NAMES
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.24 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/netmem.c,v 6.25 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define _POSIX_C_SOURCE 199309L
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/nettrans.c,v 6.26 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/nettrans.c,v 6.27 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define _GNU_SOURCE
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/online.c,v 6.7 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/online.c,v 6.8 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define _GNU_SOURCE
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/psxshm.c,v 6.4 2002-10-09 12:42:18 hadaq Exp $";
-
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/psxshm.c,v 6.5 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/rc.c,v 6.4 2001-11-18 11:56:21 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/rc.c,v 6.5 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #include <stdlib.h>
 
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/readout.c,v 6.25 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/readout.c,v 6.26 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #define SYSLOG_NAMES
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/shmtrans.c,v 6.7 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/shmtrans.c,v 6.8 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define _POSIX_C_SOURCE 199309L
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/showevt.c,v 6.8 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/showevt.c,v 6.9 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define _ANSI_C_SOURCE
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/sniff.c,v 6.8 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/sniff.c,v 6.9 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #define SYSLOG_NAMES
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/subevt.c,v 6.10 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/subevt.c,v 6.11 2003-03-02 16:25:00 hadaq Exp $";
 
 
 #include <stdlib.h>
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/tclAppInit.c,v 6.4 2001-03-07 16:02:44 hades Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/tclAppInit.c,v 6.5 2003-03-02 16:25:00 hadaq Exp $";
 
 
 /*
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/tcldaq.c,v 6.12 2003-03-02 15:50:10 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/tcldaq.c,v 6.13 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _GNU_SOURCE
 #include <unistd.h>
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/tkAppInit.c,v 6.4 2001-03-07 16:02:44 hades Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/tkAppInit.c,v 6.5 2003-03-02 16:25:00 hadaq Exp $";
 
 
 /*
 
 /****  Headerfile for TOF-IPU registers */
 /****  created: E.Lins 13-Jan-2000 */
 
-/* $Id: tof_defs.h,v 1.4 2003-03-02 15:50:10 hadaq Exp $ */
+/* $Id: tof_defs.h,v 1.5 2003-03-02 16:25:00 hadaq Exp $ */
 /* $Source: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/Attic/tof_defs.h,v $ */
 
 
 
-static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/worker.c,v 6.18 2003-03-02 15:50:11 hadaq Exp $";
+static char *rcsId = "$Header: /misc/hadesprojects/daq/cvsroot/eventbuilder/hadaq/worker.c,v 6.19 2003-03-02 16:25:00 hadaq Exp $";
 
 #define _POSIX_C_SOURCE 199309L
 #include <unistd.h>
 #include <sched.h>
 #include <setjmp.h>
 #include <signal.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
        | sigaction(my->signal1, my->oldSigAction1, NULL);
 }
 
-static int installSigHandlers(Worker *my, int s0, int s1,
-                                                         void (*sigHandler) (int))
+static int installSigHandlers(Worker *my, int s0, int s1, void (*sigHandler) (int))
 {
        int retVal;
        struct sigaction actS, *act = &actS;
                retVal = NULL;
        } else {
                strcpy(buf, "{}");
-               for (i = 0, p = buf;
-                        i < WORKER_MAX_NUM_STATS
-                        && strcmp(my->statistics[i].name, "") != 0; i++) {
-                       p += sprintf(p, "{ %s %lu } ", my->statistics[i].name,
-                                                my->statistics[i].value);
+               for (
+                               i = 0, p = buf;
+                               i < WORKER_MAX_NUM_STATS && strcmp(my->statistics[i].name, "") != 0;
+                               i++) {
+                       p += sprintf(p,
+                                                "{ %s %lu } ", my->statistics[i].name, my->statistics[i].value);
                }
                closeStatShm(my);
                retVal = buf;
 
                curTime = time(NULL);
                if (curTime >= lastTime + interval) {
-                       syslog(LOG_INFO, "%s", Worker_status(my->name));
+                       fprintf(stderr, "%s\n", Worker_status(my->name));
                        lastTime = curTime;
                }
        }
 }
 
-int Worker_getStatistic(const char *name, const char *stat,
-                                               unsigned long int *value)
+int Worker_getStatistic(const char *name, const char *stat, unsigned long int *value)
 {
        int retVal = -1;
        int i;