Index: trunk/ippTools/src/chiptoolConfig.c
===================================================================
--- trunk/ippTools/src/chiptoolConfig.c	(revision 12058)
+++ trunk/ippTools/src/chiptoolConfig.c	(revision 12131)
@@ -91,16 +91,18 @@
     // -pendingimfile
     psMetadata *pendingimfileArgs = psMetadataAlloc();
+    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-chip_id",  0,
+            "search by chip ID", NULL);
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
-            "define exposure ID", NULL);
+            "search by exposure ID", NULL);
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-class",  0,
-            "define class", NULL);
+            "search by class", NULL);
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-class_id",  0,
-            "define class ID", NULL);
+            "search by class ID", NULL);
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-inst",  0,
-            "define camera of interest", NULL);
+            "search by camera of interest", NULL);
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-filter",  0,
-            "define filter of interest", NULL); 
+            "search by filter of interest", NULL); 
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-uri",  0,
-            "define URL", NULL);
+            "search by URL", NULL);
     psMetadataAddU64(pendingimfileArgs, PS_LIST_TAIL, "-limit",  0,
             "limit result set to N items", 0);
@@ -110,6 +112,10 @@
     // -addprocessedimfile
     psMetadata *addprocessedimfileArgs = psMetadataAlloc();
+    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,
+            "define chip ID (required)", NULL);
+#if 0
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
-            "define exp_tag (required)", NULL); 
+            "define exposure tag (required) (XXX redudant with chip_id)", NULL);
+#endif
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
             "define class ID", NULL);
@@ -131,4 +137,6 @@
     // -processedimfile
     psMetadata *processedimfileArgs = psMetadataAlloc();
+    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,
+            "define chip ID (required)", NULL);
     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
             "define exposure ID", NULL);
@@ -152,4 +160,6 @@
     // -updateprocessedimfile
     psMetadata *updateprocessedimfileArgs = psMetadataAlloc();
+    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,
+            "define chip ID (required)", NULL);
     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_tag",  0,
             "search by exposure ID", NULL);
@@ -257,4 +267,16 @@
     config->where = psMetadataAlloc();
 
+{
+    psString str = NULL;
+    bool status = false;
+    if ((str = psMetadataLookupStr(&status, config->args, "-chip_id"))) {
+        if (!psMetadataAddS64(config->where, PS_LIST_TAIL, "chip_id", 0, "==", (psS64)atoll(str))) {
+            psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
+            psFree(config);
+            return NULL;
+        }
+    }
+}
+
     addWhereStr(exp_tag);
     // convert '-inst' to 'camera'
