Index: /branches/eam_branch_20080219/ippTools/src/chiptool.c
===================================================================
--- /branches/eam_branch_20080219/ippTools/src/chiptool.c	(revision 16570)
+++ /branches/eam_branch_20080219/ippTools/src/chiptool.c	(revision 16571)
@@ -504,5 +504,5 @@
 
     if (psDBAffectedRows(config->dbh) < 1) {
-        psError(PS_ERR_UNKNOWN, false, "should have affected atleast 1 row");
+        psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row");
         return false;
     }
@@ -545,7 +545,23 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
+    psMetadata *where = psMetadataAlloc();
+
+    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
+
+    if (where->list->n < 1) {
+        psFree(where);
+        where = NULL;
+    }
+
     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
 
     psString query = psStringCopy("SELECT * FROM chipMask");
+
+    if (where) {
+        psString whereClause = psDBGenerateWhereSQL(where, NULL);
+        psFree(where);
+        psStringAppend(&query, " %s", whereClause);
+        psFree(whereClause);
+    }
 
     if (!p_psDBRunQuery(config->dbh, query)) {
Index: /branches/eam_branch_20080219/ippTools/src/chiptoolConfig.c
===================================================================
--- /branches/eam_branch_20080219/ippTools/src/chiptoolConfig.c	(revision 16570)
+++ /branches/eam_branch_20080219/ippTools/src/chiptoolConfig.c	(revision 16571)
@@ -268,4 +268,6 @@
     // -masked
     psMetadata *maskedArgs = psMetadataAlloc();
+    psMetadataAddStr(maskedArgs, PS_LIST_TAIL, "-label",  0,
+            "list blocks for specified label", NULL);
     psMetadataAddBool(maskedArgs, PS_LIST_TAIL, "-simple",  0,
             "use the simple output format", false);
@@ -279,13 +281,13 @@
     psMetadata *modes = psMetadataAlloc();
 
-    PXOPT_ADD_MODE("-queue",               "", CHIPTOOL_MODE_QUEUE,          queueArgs);
-    PXOPT_ADD_MODE("-pendingimfile",       "", CHIPTOOL_MODE_PENDINGIMFILE,  pendingimfileArgs);
-    PXOPT_ADD_MODE("-addprocessedimfile",  "", CHIPTOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs);
-    PXOPT_ADD_MODE("-processedimfile",     "", CHIPTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
+    PXOPT_ADD_MODE("-queue",                 "", CHIPTOOL_MODE_QUEUE,          queueArgs);
+    PXOPT_ADD_MODE("-pendingimfile",         "", CHIPTOOL_MODE_PENDINGIMFILE,  pendingimfileArgs);
+    PXOPT_ADD_MODE("-addprocessedimfile",    "", CHIPTOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs);
+    PXOPT_ADD_MODE("-processedimfile",       "", CHIPTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
     PXOPT_ADD_MODE("-updateprocessedimfile", "", CHIPTOOL_MODE_UPDATEPROCESSEDIMFILE,    updateprocessedimfileArgs);
     PXOPT_ADD_MODE("-revertprocessedimfile", "", CHIPTOOL_MODE_REVERTPROCESSEDIMFILE,    revertprocessedimfileArgs);
-    PXOPT_ADD_MODE("-block",               "", CHIPTOOL_MODE_BLOCK,          blockArgs);
-    PXOPT_ADD_MODE("-masked",              "", CHIPTOOL_MODE_MASKED,         maskedArgs);
-    PXOPT_ADD_MODE("-unblock",             "",  CHIPTOOL_MODE_UNBLOCK,        unblockArgs);
+    PXOPT_ADD_MODE("-block",                 "", CHIPTOOL_MODE_BLOCK,          blockArgs);
+    PXOPT_ADD_MODE("-masked",                "", CHIPTOOL_MODE_MASKED,         maskedArgs);
+    PXOPT_ADD_MODE("-unblock",               "", CHIPTOOL_MODE_UNBLOCK,        unblockArgs);
 
     if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
