Index: trunk/ippTools/src/stacktool.c
===================================================================
--- trunk/ippTools/src/stacktool.c	(revision 16674)
+++ trunk/ippTools/src/stacktool.c	(revision 16678)
@@ -2,5 +2,5 @@
  * stacktool.c
  *
- * Copyright (C) 2007  Joshua Hoblitt
+ * Copyright (C) 2007-2008  Joshua Hoblitt
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -31,4 +31,5 @@
 #include "stacktool.h"
 
+static bool definebyqueryMode(pxConfig *config);
 static bool definerunMode(pxConfig *config);
 static bool updaterunMode(pxConfig *config);
@@ -60,9 +61,10 @@
 
     switch (config->mode) {
-        MODECASE(STACKTOOL_MODE_DEFINERUN,         definerunMode);
-        MODECASE(STACKTOOL_MODE_UPDATERUN,         updaterunMode);
+        MODECASE(STACKTOOL_MODE_DEFINEBYQUERY,      definebyqueryMode);
+        MODECASE(STACKTOOL_MODE_DEFINERUN,          definerunMode);
+        MODECASE(STACKTOOL_MODE_UPDATERUN,          updaterunMode);
         MODECASE(STACKTOOL_MODE_ADDINPUTSKYFILE,    addinputskyfileMode);
         MODECASE(STACKTOOL_MODE_INPUTSKYFILE,       inputskyfileMode);
-        MODECASE(STACKTOOL_MODE_TOSUM,             tosumMode);
+        MODECASE(STACKTOOL_MODE_TOSUM,              tosumMode);
         MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE,      addsumskyfileMode);
         MODECASE(STACKTOOL_MODE_SUMSKYFILE,         sumskyfileMode);
@@ -87,4 +89,11 @@
 
     exit(exit_status);
+}
+
+
+static bool definebyqueryMode(pxConfig *config)
+{
+    PS_ASSERT_PTR_NON_NULL(config, false);
+    return true;
 }
 
Index: trunk/ippTools/src/stacktool.h
===================================================================
--- trunk/ippTools/src/stacktool.h	(revision 16674)
+++ trunk/ippTools/src/stacktool.h	(revision 16678)
@@ -25,4 +25,5 @@
 typedef enum {
     STACKTOOL_MODE_NONE           = 0x0,
+    STACKTOOL_MODE_DEFINEBYQUERY,
     STACKTOOL_MODE_DEFINERUN,
     STACKTOOL_MODE_UPDATERUN,
Index: trunk/ippTools/src/stacktoolConfig.c
===================================================================
--- trunk/ippTools/src/stacktoolConfig.c	(revision 16674)
+++ trunk/ippTools/src/stacktoolConfig.c	(revision 16678)
@@ -44,4 +44,7 @@
 
     psTime *now = psTimeGetNow(PS_TIME_TAI);
+
+    // -definebyquery
+    psMetadata *definebyqueryArgs = psMetadataAlloc();
 
     // -definerun
@@ -148,4 +151,6 @@
     psMetadata *modes   = psMetadataAlloc();
 
+    PXOPT_ADD_MODE("-definebyquery", "Define a new stackRun by searching for warp IDs",
+        STACKTOOL_MODE_DEFINEBYQUERY,  definebyqueryArgs);
     PXOPT_ADD_MODE("-definerun",       "", STACKTOOL_MODE_DEFINERUN,      definerunArgs);
     PXOPT_ADD_MODE("-updaterun",       "", STACKTOOL_MODE_UPDATERUN,      updaterunArgs);
