Index: trunk/ippTools/src/pxmagic.c
===================================================================
--- trunk/ippTools/src/pxmagic.c	(revision 25770)
+++ trunk/ippTools/src/pxmagic.c	(revision 25771)
@@ -29,5 +29,5 @@
 #include "pxmagic.h"
 
-bool magicRestoreStage(pxConfig *config, psString stage, psString whereClause, psString newState)
+bool pxmagicRestoreStage(pxConfig *config, psString stage, psString whereClause, psString newState)
 {
     psString queryFile = NULL;
@@ -66,2 +66,32 @@
     return true;
 }
+
+bool pxmagicAddWhere(pxConfig *config, psString *out, psString table)
+{
+    PXOPT_LOOKUP_U64(magicked, config->args, "-magicked", false, false);
+    PXOPT_LOOKUP_BOOL(destreaked, config->args,     "-destreaked", false);
+    PXOPT_LOOKUP_BOOL(not_destreaked, config->args, "-not_destreaked", false);
+
+    if (not_destreaked) {
+        if (destreaked) {
+            psError(PXTOOLS_ERR_DATA, true, "providing -not_destreaked and -destreaked makes no sense");
+            return false;
+        }
+        if (magicked) {
+            psError(PXTOOLS_ERR_DATA, true, "providing -not_destreaked and -magicked makes no sense");
+            return false;
+        }
+        psStringAppend(out, " AND %s.magicked = 0", table);
+    }
+    if (destreaked) {
+        psStringAppend(out, " AND %s.magicked != 0", table);
+    }
+    return true;
+}
+
+void pxmagicAddArguments(psMetadata *md)
+{
+    psMetadataAddBool(md, PS_LIST_TAIL, "-destreaked",  0,      "search for destreaked images", false);
+    psMetadataAddBool(md, PS_LIST_TAIL, "-not_destreaked",  0,  "search for images that have not been destreaked", false);
+    psMetadataAddS64(md, PS_LIST_TAIL,  "-magicked", 0,         "search by magicked value", 0);
+}
Index: trunk/ippTools/src/pxmagic.h
===================================================================
--- trunk/ippTools/src/pxmagic.h	(revision 25770)
+++ trunk/ippTools/src/pxmagic.h	(revision 25771)
@@ -25,5 +25,8 @@
 #include "pxtools.h"
 
-extern bool magicRestoreStage(pxConfig *config, psString stage, psString whereClause, psString newState);
+extern bool pxmagicRestoreStage(pxConfig *config, psString stage, psString whereClause, psString newState);
+
+extern bool pxmagicAddWhere(pxConfig *config, psString *string, psString table);
+extern void pxmagicAddArguments(psMetadata *md);
 
 #endif // PXMAGIC_H
