Index: trunk/ippTools/src/regtool.c
===================================================================
--- trunk/ippTools/src/regtool.c	(revision 32577)
+++ trunk/ippTools/src/regtool.c	(revision 32593)
@@ -891,12 +891,18 @@
     PXOPT_LOOKUP_STR(set_md5sum, config->args, "-set_md5sum", false, false);
     PXOPT_LOOKUP_STR(set_state, config->args, "-set_state", false, false);
+    PXOPT_LOOKUP_BOOL(set_ignored, config->args, "-set_ignored", false);
+    PXOPT_LOOKUP_BOOL(clear_ignored, config->args, "-clear_ignored", false);
     PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false);
     
-    if ((fault == INT16_MAX) && (burntool_state == INT16_MAX) && !set_state) {
-        psError(PS_ERR_UNKNOWN, false, "one of -fault or -burntool_state or -set_state must be selected");
+    if ((fault == INT16_MAX) && (burntool_state == INT16_MAX) && !set_state && !set_ignored && !clear_ignored) {
+        psError(PS_ERR_UNKNOWN, false, "at least one of -fault or -burntool_state -set_ignored -clear_ignored or -set_state must be selected");
         return false;
     }
     if ((fault != INT16_MAX) && (burntool_state != INT16_MAX)) {
         psError(PS_ERR_UNKNOWN, false, "only one of -fault or -burntool_state must be selected");
+        return false;
+    }
+    if (set_ignored && clear_ignored) {
+        psError(PS_ERR_UNKNOWN, true, "only one of -set_ignored or -clear_ignored may be selected");
         return false;
     }
@@ -907,5 +913,6 @@
 
     if (fault != INT16_MAX) {
-        // this is fairly dangerous : can set all if the where is not set...
+        // this is fairly dangerous : can set all if the where is not set... but since exp_id and class_id
+        // were required above this is safe
         if (!pxSetFaultCode(config->dbh, "rawImfile", where, fault, 0)) {
             psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag");
@@ -939,4 +946,16 @@
       }
       psStringAppend(&setvalues,"rawImfile.data_state = '%s'",set_state);
+    }
+    if (set_ignored) {
+      if (setvalues) {
+        psStringAppend(&setvalues,",");
+      }
+      psStringAppend(&setvalues,"rawImfile.ignored = 1");
+    }
+    if (clear_ignored) {
+      if (setvalues) {
+        psStringAppend(&setvalues,",");
+      }
+      psStringAppend(&setvalues,"rawImfile.ignored = 0");
     }
     if (hostname) {
Index: trunk/ippTools/src/regtoolConfig.c
===================================================================
--- trunk/ippTools/src/regtoolConfig.c	(revision 32577)
+++ trunk/ippTools/src/regtoolConfig.c	(revision 32593)
@@ -194,4 +194,6 @@
     ADD_OPT(Str, updateprocessedimfileArgs, "-set_md5sum",     "set md5sum", NULL);
     ADD_OPT(Str, updateprocessedimfileArgs, "-set_state",      "set data state", NULL);
+    psMetadataAddBool(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_ignored",  0,        "set imfile to be ignored for processing", false);
+    psMetadataAddBool(updateprocessedimfileArgs, PS_LIST_TAIL, "-clear_ignored",  0,        "set imfile to not be ignored for processing", false);
 
     
