Index: /trunk/ippTools/src/dettool.h
===================================================================
--- /trunk/ippTools/src/dettool.h	(revision 13574)
+++ /trunk/ippTools/src/dettool.h	(revision 13575)
@@ -24,5 +24,5 @@
 
 typedef enum {
-    DETTOOL_MODE_NONE           = 0x0,
+    DETTOOL_MODE_NONE           = PXTOOL_MODE_NONE,
     DETTOOL_MODE_PENDING,
     DETTOOL_MODE_DEFINEBYTAG,
Index: /trunk/ippTools/src/dettoolConfig.c
===================================================================
--- /trunk/ippTools/src/dettoolConfig.c	(revision 13574)
+++ /trunk/ippTools/src/dettoolConfig.c	(revision 13575)
@@ -22,6 +22,4 @@
 #endif
 
-#include <string.h>
-
 #include <psmodules.h>
 
@@ -29,160 +27,6 @@
 #include "dettool.h"
 
-#define PXTOOL_MODE(option, comment, modeval, argset) \
-{ \
-    if (!psMetadataAddMetadata(argSets, PS_LIST_TAIL, option, 0, comment, argset)) {;\
-        psError(PS_ERR_UNKNOWN, false, "failed to add argset for %s", option); \
-    } \
-    psFree(argset); \
-\
-    if (!psMetadataAddU32(modes, PS_LIST_TAIL, option, 0, comment, modeval)) {;\
-        psError(PS_ERR_UNKNOWN, false, "failed to add argset for %s", option); \
-    } \
-}
-
-static void printUsage(int argc, char **argv, psMetadata *modes) 
+pxConfig *dettoolConfig(pxConfig *config, int argc, char **argv)
 {
-    printf("Usage: %s <mode> [<options>]\n\n", argv[0]);
-    printf("<mode>:\n");
-
-    psArgumentHelpSimple(stderr, modes);
-}
-
-
-static void printUsageMode(int argc, char **argv, const char *modeName, psMetadata *argSet) 
-{
-    printf("Usage: %s <mode> [<options>]\n\n", argv[0]);
-    printf("%s:\n", modeName);
-
-    psArgumentHelpSimple(stderr, argSet);
-}
-
-
-static bool parseOptions(int argc, char **argv, pxConfig *config, psMetadata *modes, psMetadata *argSets)
-{
-    // figure out what mode we're running in
-    psMetadataIterator *iter = psMetadataIteratorAlloc(modes, PS_LIST_HEAD, NULL);
-    psMetadataItem *item = NULL;
-    while ((item = psMetadataGetAndIncrement(iter))) {
-        int N = 0;
-        if ((N = psArgumentGet(argc, argv, item->name))) {
-            psArgumentRemove(N, &argc, argv);
-            // check for duplicate mode specification
-            if (config->mode) {
-                psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed");
-                fprintf(stderr, "only one mode selection is allowed\n");
-                printUsage(argc, argv, modes);
-                return NULL;
-            }
-
-            config->mode = item->data.U32;
-            config->modeName = psStringCopy(item->name);
-
-            bool status = false;
-            psMetadata *argset = psMetadataLookupMetadata(&status, argSets, item->name);
-            // make sure we can find the argSet for the sepcified mode
-            if (!status) {
-                psError(PS_ERR_UNKNOWN, true, "can not find arguments for mode");
-                fprintf(stderr, "can not find arugments for mode");
-                return NULL;
-            }
-
-            config->args = psMemIncrRefCounter(argset);
-        }
-
-    }
-
-    psFree(iter);
-
-    // make sure we found a mode
-    if (config->mode == DETTOOL_MODE_NONE) {
-        psError(PS_ERR_UNKNOWN, true, "mode argument is required");
-        fprintf(stderr, "mode argument is required\n");
-        printUsage(argc, argv, modes);
-        return NULL;
-    }
-
-    // actually parse the command line
-    if (!psArgumentParse(config->args, &argc, argv)) {
-        psError(PS_ERR_UNKNOWN, true, "error parsing arguments");
-        fprintf(stderr, "error parsing arguments\n");
-        printUsageMode(argc, argv, config->modeName, config->args);
-        return NULL;
-    }
-
-    // look for left overs on the command line
-    if (argc != 1) {
-        psError(PS_ERR_UNKNOWN, true, "extra arguments: ");
-        fprintf(stderr, "extra arguments: ");
-        for (int i = 1; i < argc; i++) {
-            fprintf (stderr, "%s ", argv[i]);
-        }
-        fprintf(stderr, "\n");
-        printUsageMode(argc, argv, config->modeName, config->args);
-        return NULL;
-    }
-
-    // make sure that all required parameters have been specified
-    iter = psMetadataIteratorAlloc(config->args, PS_LIST_HEAD, NULL);
-    item = NULL; // Item from iterator
-    while ((item = psMetadataGetAndIncrement(iter))) {
-        if (strstr(item->comment, "require") == NULL) {
-            continue;
-        }
-
-        switch (item->type) {
-            case PS_DATA_BOOL:
-                psError(PS_ERR_UNKNOWN, false, "boolean type can not be required");
-                fprintf(stderr, "boolean type can not be required\n");
-                return NULL;
-                break;
-            case PS_DATA_S8:
-            case PS_DATA_S16:
-            case PS_DATA_S32:
-            case PS_DATA_S64:
-                if (item->data.S64 != 0) {
-                    break;
-                }
-                goto ARG_REQUIRED;
-            case PS_DATA_U8:
-            case PS_DATA_U16:
-            case PS_DATA_U32:
-            case PS_DATA_U64:
-                if (item->data.U64 != 0) {
-                    break;
-                }
-                goto ARG_REQUIRED;
-            case PS_DATA_F32:
-            case PS_DATA_F64:
-                if (!isnan(item->data.F64)) {
-                    break;
-                }
-                goto ARG_REQUIRED;
-            case PS_DATA_STRING:
-            case PS_DATA_METADATA:
-                if (item->data.V) {
-                    break;
-                }
-                goto ARG_REQUIRED;
-            default:
-                psError(PS_ERR_UNKNOWN, false, "unknown argument type");
-                fprintf(stderr, "unknown argument type\n");
-                return NULL;
-            ARG_REQUIRED:                
-                psError(PS_ERR_UNKNOWN, false, "argument %s is required", item->name);
-                fprintf(stderr, "argument %s is required\n", item->name);
-                printUsageMode(argc, argv, config->modeName, config->args);
-                return NULL;
-        }
-
-    }
-
-    psFree(iter);
-
-    return true;
-}
-
-
-pxConfig *dettoolConfig(pxConfig *config, int argc, char **argv) {
     if (!config) {
         config = pxConfigAlloc();
@@ -941,46 +785,46 @@
 
     // find which mode we're running under
-    PXTOOL_MODE("-pending",         "list active detruns", DETTOOL_MODE_PENDING,       pendingArgs);
-    PXTOOL_MODE("-definebytag",     "", DETTOOL_MODE_DEFINEBYTAG,   definebytagArgs);
-    PXTOOL_MODE("-definebyquery",   "", DETTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs);
-    PXTOOL_MODE("-definebydetrun",  "", DETTOOL_MODE_DEFINEBYDETRUN, definebydetrunArgs);
-    PXTOOL_MODE("-raw",             "", DETTOOL_MODE_RAW,           rawArgs);
-    PXTOOL_MODE("-runs",            "", DETTOOL_MODE_RUNS,          runsArgs);
-    PXTOOL_MODE("-childlessrun",    "", DETTOOL_MODE_CHILDLESSRUN,  childlessrunArgs);
-    PXTOOL_MODE("-input",           "", DETTOOL_MODE_INPUT,         inputArgs);
-    PXTOOL_MODE("-toprocessedimfile", "", DETTOOL_MODE_TOPROCESSEDIMFILE, toprocessedimfileArgs);
-    PXTOOL_MODE("-addprocessedimfile", "", DETTOOL_MODE_ADDPROCESSEDIMFILE,  addprocessedimfileArgs);
-    PXTOOL_MODE("-processedimfile", "", DETTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
-    PXTOOL_MODE("-toprocessedexp",  "", DETTOOL_MODE_TOPROCESSEDEXP,  toprocessedexpArgs);
-    PXTOOL_MODE("-addprocessedexp", "", DETTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
-    PXTOOL_MODE("-processedexp",    "", DETTOOL_MODE_PROCESSEDEXP, processedexpArgs);
-    PXTOOL_MODE("-tostacked",       "", DETTOOL_MODE_TOSTACKED,     tostackedArgs);
-    PXTOOL_MODE("-addstacked",      "", DETTOOL_MODE_ADDSTACKED,    addstackedArgs);
-    PXTOOL_MODE("-stacked",         "", DETTOOL_MODE_STACKED,       stackedArgs);
-    PXTOOL_MODE("-tonormalize",     "", DETTOOL_MODE_TONORMALIZE,   tonormalizeArgs);
-    PXTOOL_MODE("-addnormalizedstat",     "", DETTOOL_MODE_ADDNORMALIZEDSTAT,   addnormstatArgs);
-    PXTOOL_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormstatArgs);
-    PXTOOL_MODE("-addnormalizedimfile", "", DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileArgs);
-    PXTOOL_MODE("-normalizedimfile","", DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileArgs);
-    PXTOOL_MODE("-tonormalizedexp", "", DETTOOL_MODE_TONORMALIZEDEXP, tonormalizedexpArgs);
-    PXTOOL_MODE("-addnormalizedexp", "", DETTOOL_MODE_ADDNORMALIZEDEXP, addnormalizedexpArgs);
-    PXTOOL_MODE("-normalizedexp",   "", DETTOOL_MODE_NORMALIZEDEXP, normalizedexpArgs);
-    PXTOOL_MODE("-toresidimfile",   "", DETTOOL_MODE_TORESIDIMFILE, toresidimfileArgs);
-    PXTOOL_MODE("-addresidimfile",  "", DETTOOL_MODE_ADDRESIDIMFILE,  addresidimfileArgs);
-    PXTOOL_MODE("-residimfile",     "", DETTOOL_MODE_RESIDIMFILE,    residimfileArgs);
-    PXTOOL_MODE("-toresidexp",      "", DETTOOL_MODE_TORESIDEXP,    toresidexpArgs);
-    PXTOOL_MODE("-addresidexp",     "", DETTOOL_MODE_ADDRESIDEXP,  addresidexpArgs);
-    PXTOOL_MODE("-residexp",        "", DETTOOL_MODE_RESIDEXP,     residexpArgs);
-    PXTOOL_MODE("-residdetrun",     "", DETTOOL_MODE_RESIDDETRUN,  residdetrunArgs);
-    PXTOOL_MODE("-updateresidexp", "", DETTOOL_MODE_UPDATERESIDEXP,updateresidexpArgs);
-    PXTOOL_MODE("-adddetrunsummary", "", DETTOOL_MODE_ADDDETRUNSUMMARY,adddetrunsummaryArgs);
-    PXTOOL_MODE("-detrunsummary", "", DETTOOL_MODE_DETRUNSUMMARY,detrunsummaryArgs);
-    PXTOOL_MODE("-updatedetrun", "", DETTOOL_MODE_UPDATEDETRUN, updatedetrunArgs);
-    PXTOOL_MODE("-rerun",           "", DETTOOL_MODE_RERUN,         rerunArgs);
-    PXTOOL_MODE("-register_detrend", "", DETTOOL_MODE_REGISTER_DETREND, register_detrendArgs);
-    PXTOOL_MODE("-register_detrend_imfile", "", DETTOOL_MODE_REGISTER_DETREND_IMFILE, register_detrend_imfileArgs);
-
-
-    if (!parseOptions(argc, argv, config, modes, argSets)) {
+    PXTOOL_ADD_MODE("-pending",         "list active detruns", DETTOOL_MODE_PENDING,       pendingArgs);
+    PXTOOL_ADD_MODE("-definebytag",     "", DETTOOL_MODE_DEFINEBYTAG,   definebytagArgs);
+    PXTOOL_ADD_MODE("-definebyquery",   "", DETTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs);
+    PXTOOL_ADD_MODE("-definebydetrun",  "", DETTOOL_MODE_DEFINEBYDETRUN, definebydetrunArgs);
+    PXTOOL_ADD_MODE("-raw",             "", DETTOOL_MODE_RAW,           rawArgs);
+    PXTOOL_ADD_MODE("-runs",            "", DETTOOL_MODE_RUNS,          runsArgs);
+    PXTOOL_ADD_MODE("-childlessrun",    "", DETTOOL_MODE_CHILDLESSRUN,  childlessrunArgs);
+    PXTOOL_ADD_MODE("-input",           "", DETTOOL_MODE_INPUT,         inputArgs);
+    PXTOOL_ADD_MODE("-toprocessedimfile", "", DETTOOL_MODE_TOPROCESSEDIMFILE, toprocessedimfileArgs);
+    PXTOOL_ADD_MODE("-addprocessedimfile", "", DETTOOL_MODE_ADDPROCESSEDIMFILE,  addprocessedimfileArgs);
+    PXTOOL_ADD_MODE("-processedimfile", "", DETTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
+    PXTOOL_ADD_MODE("-toprocessedexp",  "", DETTOOL_MODE_TOPROCESSEDEXP,  toprocessedexpArgs);
+    PXTOOL_ADD_MODE("-addprocessedexp", "", DETTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
+    PXTOOL_ADD_MODE("-processedexp",    "", DETTOOL_MODE_PROCESSEDEXP, processedexpArgs);
+    PXTOOL_ADD_MODE("-tostacked",       "", DETTOOL_MODE_TOSTACKED,     tostackedArgs);
+    PXTOOL_ADD_MODE("-addstacked",      "", DETTOOL_MODE_ADDSTACKED,    addstackedArgs);
+    PXTOOL_ADD_MODE("-stacked",         "", DETTOOL_MODE_STACKED,       stackedArgs);
+    PXTOOL_ADD_MODE("-tonormalize",     "", DETTOOL_MODE_TONORMALIZE,   tonormalizeArgs);
+    PXTOOL_ADD_MODE("-addnormalizedstat",     "", DETTOOL_MODE_ADDNORMALIZEDSTAT,   addnormstatArgs);
+    PXTOOL_ADD_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormstatArgs);
+    PXTOOL_ADD_MODE("-addnormalizedimfile", "", DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileArgs);
+    PXTOOL_ADD_MODE("-normalizedimfile","", DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileArgs);
+    PXTOOL_ADD_MODE("-tonormalizedexp", "", DETTOOL_MODE_TONORMALIZEDEXP, tonormalizedexpArgs);
+    PXTOOL_ADD_MODE("-addnormalizedexp", "", DETTOOL_MODE_ADDNORMALIZEDEXP, addnormalizedexpArgs);
+    PXTOOL_ADD_MODE("-normalizedexp",   "", DETTOOL_MODE_NORMALIZEDEXP, normalizedexpArgs);
+    PXTOOL_ADD_MODE("-toresidimfile",   "", DETTOOL_MODE_TORESIDIMFILE, toresidimfileArgs);
+    PXTOOL_ADD_MODE("-addresidimfile",  "", DETTOOL_MODE_ADDRESIDIMFILE,  addresidimfileArgs);
+    PXTOOL_ADD_MODE("-residimfile",     "", DETTOOL_MODE_RESIDIMFILE,    residimfileArgs);
+    PXTOOL_ADD_MODE("-toresidexp",      "", DETTOOL_MODE_TORESIDEXP,    toresidexpArgs);
+    PXTOOL_ADD_MODE("-addresidexp",     "", DETTOOL_MODE_ADDRESIDEXP,  addresidexpArgs);
+    PXTOOL_ADD_MODE("-residexp",        "", DETTOOL_MODE_RESIDEXP,     residexpArgs);
+    PXTOOL_ADD_MODE("-residdetrun",     "", DETTOOL_MODE_RESIDDETRUN,  residdetrunArgs);
+    PXTOOL_ADD_MODE("-updateresidexp", "", DETTOOL_MODE_UPDATERESIDEXP,updateresidexpArgs);
+    PXTOOL_ADD_MODE("-adddetrunsummary", "", DETTOOL_MODE_ADDDETRUNSUMMARY,adddetrunsummaryArgs);
+    PXTOOL_ADD_MODE("-detrunsummary", "", DETTOOL_MODE_DETRUNSUMMARY,detrunsummaryArgs);
+    PXTOOL_ADD_MODE("-updatedetrun", "", DETTOOL_MODE_UPDATEDETRUN, updatedetrunArgs);
+    PXTOOL_ADD_MODE("-rerun",           "", DETTOOL_MODE_RERUN,         rerunArgs);
+    PXTOOL_ADD_MODE("-register_detrend", "", DETTOOL_MODE_REGISTER_DETREND, register_detrendArgs);
+    PXTOOL_ADD_MODE("-register_detrend_imfile", "", DETTOOL_MODE_REGISTER_DETREND_IMFILE, register_detrend_imfileArgs);
+
+
+    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
         psError(PS_ERR_UNKNOWN, true, "option parsing failed");
         psFree(argSets);
Index: /trunk/ippTools/src/pxconfig.c
===================================================================
--- /trunk/ippTools/src/pxconfig.c	(revision 13574)
+++ /trunk/ippTools/src/pxconfig.c	(revision 13575)
@@ -21,4 +21,9 @@
 #include <config.h>
 #endif
+
+#include <string.h>
+
+#include <pslib.h>
+#include <psmodules.h>
 
 #include "pxtools.h"
@@ -51,2 +56,144 @@
     psFree(config->args);
 }
+
+void pxUsage(FILE *stream, int argc, char **argv, psMetadata *modes) 
+{
+    fprintf(stream, "Usage: %s <mode> [<options>]\n\n", argv[0]);
+    fprintf(stream, "<mode>:\n");
+
+    psArgumentHelpSimple(stream, modes);
+}
+
+
+void pxUsageMode(FILE *stream, int argc, char **argv, const char *modeName, psMetadata *argSet) 
+{
+    fprintf(stream, "Usage: %s <mode> [<options>]\n\n", argv[0]);
+    fprintf(stream, "%s:\n", modeName);
+
+    psArgumentHelpSimple(stream, argSet);
+}
+
+
+bool pxGetOptions(FILE *stream, int argc, char **argv, pxConfig *config, psMetadata *modes, psMetadata *argSets)
+{
+    // figure out what mode we're running in
+    psMetadataIterator *iter = psMetadataIteratorAlloc(modes, PS_LIST_HEAD, NULL);
+    psMetadataItem *item = NULL;
+    while ((item = psMetadataGetAndIncrement(iter))) {
+        int N = 0;
+        if ((N = psArgumentGet(argc, argv, item->name))) {
+            psArgumentRemove(N, &argc, argv);
+            // check for duplicate mode specification
+            if (config->mode) {
+                psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed");
+                fprintf(stream, "only one mode selection is allowed\n");
+                pxUsage(stream, argc, argv, modes);
+                return NULL;
+            }
+
+            config->mode = item->data.U32;
+            config->modeName = psStringCopy(item->name);
+
+            bool status = false;
+            psMetadata *argset = psMetadataLookupMetadata(&status, argSets, item->name);
+            // make sure we can find the argSet for the sepcified mode
+            if (!status) {
+                psError(PS_ERR_UNKNOWN, true, "can not find arguments for mode");
+                fprintf(stderr, "can not find arugments for mode");
+                return NULL;
+            }
+
+            config->args = psMemIncrRefCounter(argset);
+        }
+
+    }
+
+    psFree(iter);
+
+    // make sure we found a mode
+    if (config->mode == PXTOOL_MODE_NONE) {
+        psError(PS_ERR_UNKNOWN, true, "mode argument is required");
+        fprintf(stderr, "mode argument is required\n");
+        pxUsage(stream, argc, argv, modes);
+        return NULL;
+    }
+
+    // actually parse the command line
+    if (!psArgumentParse(config->args, &argc, argv)) {
+        psError(PS_ERR_UNKNOWN, true, "error parsing arguments");
+        fprintf(stderr, "error parsing arguments\n");
+        pxUsageMode(stream, argc, argv, config->modeName, config->args);
+        return NULL;
+    }
+
+    // look for left overs on the command line
+    if (argc != 1) {
+        psError(PS_ERR_UNKNOWN, true, "extra arguments: ");
+        fprintf(stderr, "extra arguments: ");
+        for (int i = 1; i < argc; i++) {
+            fprintf (stderr, "%s ", argv[i]);
+        }
+        fprintf(stderr, "\n");
+        pxUsageMode(stream, argc, argv, config->modeName, config->args);
+        return NULL;
+    }
+
+    // make sure that all required parameters have been specified
+    iter = psMetadataIteratorAlloc(config->args, PS_LIST_HEAD, NULL);
+    item = NULL; // Item from iterator
+    while ((item = psMetadataGetAndIncrement(iter))) {
+        if (strstr(item->comment, "require") == NULL) {
+            continue;
+        }
+
+        switch (item->type) {
+            case PS_DATA_BOOL:
+                psError(PS_ERR_UNKNOWN, false, "boolean type can not be required");
+                fprintf(stderr, "boolean type can not be required\n");
+                return NULL;
+                break;
+            case PS_DATA_S8:
+            case PS_DATA_S16:
+            case PS_DATA_S32:
+            case PS_DATA_S64:
+                if (item->data.S64 != 0) {
+                    break;
+                }
+                goto ARG_REQUIRED;
+            case PS_DATA_U8:
+            case PS_DATA_U16:
+            case PS_DATA_U32:
+            case PS_DATA_U64:
+                if (item->data.U64 != 0) {
+                    break;
+                }
+                goto ARG_REQUIRED;
+            case PS_DATA_F32:
+            case PS_DATA_F64:
+                if (!isnan(item->data.F64)) {
+                    break;
+                }
+                goto ARG_REQUIRED;
+            case PS_DATA_STRING:
+            case PS_DATA_METADATA:
+                if (item->data.V) {
+                    break;
+                }
+                goto ARG_REQUIRED;
+            default:
+                psError(PS_ERR_UNKNOWN, false, "unknown argument type");
+                fprintf(stream, "unknown argument type\n");
+                return NULL;
+            ARG_REQUIRED:                
+                psError(PS_ERR_UNKNOWN, false, "argument %s is required", item->name);
+                fprintf(stream, "argument %s is required\n", item->name);
+                pxUsageMode(stream, argc, argv, config->modeName, config->args);
+                return NULL;
+        }
+
+    }
+
+    psFree(iter);
+
+    return true;
+}
Index: /trunk/ippTools/src/pxtools.h
===================================================================
--- /trunk/ippTools/src/pxtools.h	(revision 13574)
+++ /trunk/ippTools/src/pxtools.h	(revision 13575)
@@ -32,9 +32,6 @@
 # include "pxdata.h"
 
-// load these values from the db in the init stage
-# define P2_TYPE_OBJECT 1
-# define P2_STATE_READY 2
-# define RECIPE "PHASE2"
 # define MAX_ROWS 10e9
+# define PXTOOL_MODE_NONE 0x0
 
 typedef struct {
@@ -57,3 +54,19 @@
 psExit pxerrorGetExitStatus ();
 
+void pxUsage(FILE *stream, int argc, char **argv, psMetadata *modes);
+void pxUsageMode(FILE *stream, int argc, char **argv, const char *modeName, psMetadata *argSet);
+bool pxGetOptions(FILE *stream, int argc, char **argv, pxConfig *config, psMetadata *modes, psMetadata *argSets);
+
+#define PXTOOL_ADD_MODE(option, comment, modeval, argset) \
+{ \
+    if (!psMetadataAddMetadata(argSets, PS_LIST_TAIL, option, 0, comment, argset)) {;\
+        psError(PS_ERR_UNKNOWN, false, "failed to add argset for %s", option); \
+    } \
+    psFree(argset); \
+\
+    if (!psMetadataAddU32(modes, PS_LIST_TAIL, option, 0, comment, modeval)) {;\
+        psError(PS_ERR_UNKNOWN, false, "failed to add argset for %s", option); \
+    } \
+}
+
 #endif // PXTOOLS_H
