Index: trunk/ippdb/src/ippdb.h
===================================================================
--- trunk/ippdb/src/ippdb.h	(revision 11679)
+++ trunk/ippdb/src/ippdb.h	(revision 11720)
@@ -20,5 +20,5 @@
 /*
  *
- * This file was generated by glueforge 0.36
+ * This file was generated by glueforge 1.00
  *
  * Do NOT directly edit this file.
@@ -6830,43 +6830,45 @@
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4aRunRow data structure
- *
- * Structure for representing a single row of p4aRun table data.
+/** p4RunRow data structure
+ *
+ * Structure for representing a single row of p4Run table data.
  */
 
 typedef struct {
     psS32           p4a_id;
+    char            *mode;
     char            *state;
     char            *workdir;
-    bool            magic;
-} p4aRunRow;
-
-/** Creates a new p4aRunRow object
- *
- *  @return A new p4aRunRow object or NULL on failure.
- */
-
-p4aRunRow *p4aRunRowAlloc(
+    psTime*         registered;
+} p4RunRow;
+
+/** Creates a new p4RunRow object
+ *
+ *  @return A new p4RunRow object or NULL on failure.
+ */
+
+p4RunRow *p4RunRowAlloc(
     psS32           p4a_id,
+    const char      *mode,
     const char      *state,
     const char      *workdir,
-    bool            magic
-);
-
-/** Creates a new p4aRun table
- *
- * @return true on success
- */
-
-bool p4aRunCreateTable(
+    psTime*         registered
+);
+
+/** Creates a new p4Run table
+ *
+ * @return true on success
+ */
+
+bool p4RunCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4aRun table
- *
- * @return true on success
- */
-
-bool p4aRunDropTable(
+/** Deletes a p4Run table
+ *
+ * @return true on success
+ */
+
+bool p4RunDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -6879,10 +6881,11 @@
  */
 
-bool p4aRunInsert(
+bool p4RunInsert(
     psDB            *dbh,               ///< Database handle
     psS32           p4a_id,
+    const char      *mode,
     const char      *state,
     const char      *workdir,
-    bool            magic
+    psTime*         registered
 );
 
@@ -6892,5 +6895,5 @@
  */
 
-long long p4aRunDelete(
+long long p4RunDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -6898,5 +6901,5 @@
 );
 
-/** Insert a single p4aRunRow object into a table
+/** Insert a single p4RunRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -6905,10 +6908,10 @@
  */
 
-bool p4aRunInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4aRunRow       *object             ///< p4aRunRow object
-);
-
-/** Insert an array of p4aRunRow object into a table
+bool p4RunInsertObject(
+    psDB            *dbh,               ///< Database handle
+    p4RunRow        *object             ///< p4RunRow object
+);
+
+/** Insert an array of p4RunRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -6917,10 +6920,10 @@
  */
 
-bool p4aRunInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4aRunRow objects
-);
-
-/** Insert data from a binary FITS table p4aRunRow into the database
+bool p4RunInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of p4RunRow objects
+);
+
+/** Insert data from a binary FITS table p4RunRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -6932,5 +6935,5 @@
  */
 
-bool p4aRunInsertFits(
+bool p4RunInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -6947,5 +6950,5 @@
  */
 
-bool p4aRunSelectRowsFits(
+bool p4RunSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -6954,22 +6957,22 @@
 );
 
-/** Convert a p4aRunRow into an equivalent psMetadata
+/** Convert a p4RunRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4aRunMetadataFromObject(
-    const p4aRunRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *p4RunMetadataFromObject(
+    const p4RunRow  *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4aRunRow pointer or NULL on error
- */
-
-p4aRunRow *p4aRunObjectFromMetadata(
+ * @return A p4RunRow pointer or NULL on error
+ */
+
+p4RunRow *p4RunObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4aRunRow objects in a psArray
+/** Selects up to limit rows from the database and returns as p4RunRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -6978,10 +6981,10 @@
  */
 
-psArray *p4aRunSelectRowObjects(
+psArray *p4RunSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4aRun
+/** Deletes a row from the database coresponding to an p4Run
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -6991,7 +6994,7 @@
  */
 
-bool p4aRunDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4aRunRow *object    ///< Object to delete
+bool p4RunDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const p4RunRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7003,10 +7006,10 @@
  */
 
-long long p4aRunDeleteRowObjects(
+long long p4RunDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4aRunRow objects
+/** Formats and prints an array of p4RunRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7016,10 +7019,10 @@
  */
 
-bool p4aRunPrintObjects(
+bool p4RunPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4aRunRow objects
+    psArray         *objects,           ///< An array of p4RunRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4aRunRow object
+/** Formats and prints an p4RunRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7029,12 +7032,12 @@
  */
 
-bool p4aRunPrintObject(
+bool p4RunPrintObject(
     FILE            *stream,            ///< a stream
-    p4aRunRow *object,    ///< an p4aRunRow object
+    p4RunRow *object,    ///< an p4RunRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4aInputExpRow data structure
- *
- * Structure for representing a single row of p4aInputExp table data.
+/** p4InputExpRow data structure
+ *
+ * Structure for representing a single row of p4InputExp table data.
  */
 
@@ -7043,32 +7046,34 @@
     char            *exp_tag;
     psS32           p3_version;
-} p4aInputExpRow;
-
-/** Creates a new p4aInputExpRow object
- *
- *  @return A new p4aInputExpRow object or NULL on failure.
- */
-
-p4aInputExpRow *p4aInputExpRowAlloc(
+    bool            magiced;
+} p4InputExpRow;
+
+/** Creates a new p4InputExpRow object
+ *
+ *  @return A new p4InputExpRow object or NULL on failure.
+ */
+
+p4InputExpRow *p4InputExpRowAlloc(
     psS32           p4a_id,
     const char      *exp_tag,
-    psS32           p3_version
-);
-
-/** Creates a new p4aInputExp table
- *
- * @return true on success
- */
-
-bool p4aInputExpCreateTable(
+    psS32           p3_version,
+    bool            magiced
+);
+
+/** Creates a new p4InputExp table
+ *
+ * @return true on success
+ */
+
+bool p4InputExpCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4aInputExp table
- *
- * @return true on success
- */
-
-bool p4aInputExpDropTable(
+/** Deletes a p4InputExp table
+ *
+ * @return true on success
+ */
+
+bool p4InputExpDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7081,9 +7086,10 @@
  */
 
-bool p4aInputExpInsert(
+bool p4InputExpInsert(
     psDB            *dbh,               ///< Database handle
     psS32           p4a_id,
     const char      *exp_tag,
-    psS32           p3_version
+    psS32           p3_version,
+    bool            magiced
 );
 
@@ -7093,5 +7099,5 @@
  */
 
-long long p4aInputExpDelete(
+long long p4InputExpDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7099,5 +7105,5 @@
 );
 
-/** Insert a single p4aInputExpRow object into a table
+/** Insert a single p4InputExpRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7106,10 +7112,10 @@
  */
 
-bool p4aInputExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4aInputExpRow  *object             ///< p4aInputExpRow object
-);
-
-/** Insert an array of p4aInputExpRow object into a table
+bool p4InputExpInsertObject(
+    psDB            *dbh,               ///< Database handle
+    p4InputExpRow   *object             ///< p4InputExpRow object
+);
+
+/** Insert an array of p4InputExpRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7118,10 +7124,10 @@
  */
 
-bool p4aInputExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4aInputExpRow objects
-);
-
-/** Insert data from a binary FITS table p4aInputExpRow into the database
+bool p4InputExpInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of p4InputExpRow objects
+);
+
+/** Insert data from a binary FITS table p4InputExpRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7133,5 +7139,5 @@
  */
 
-bool p4aInputExpInsertFits(
+bool p4InputExpInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7148,5 +7154,5 @@
  */
 
-bool p4aInputExpSelectRowsFits(
+bool p4InputExpSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7155,22 +7161,22 @@
 );
 
-/** Convert a p4aInputExpRow into an equivalent psMetadata
+/** Convert a p4InputExpRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4aInputExpMetadataFromObject(
-    const p4aInputExpRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *p4InputExpMetadataFromObject(
+    const p4InputExpRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4aInputExpRow pointer or NULL on error
- */
-
-p4aInputExpRow *p4aInputExpObjectFromMetadata(
+ * @return A p4InputExpRow pointer or NULL on error
+ */
+
+p4InputExpRow *p4InputExpObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4aInputExpRow objects in a psArray
+/** Selects up to limit rows from the database and returns as p4InputExpRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7179,10 +7185,10 @@
  */
 
-psArray *p4aInputExpSelectRowObjects(
+psArray *p4InputExpSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4aInputExp
+/** Deletes a row from the database coresponding to an p4InputExp
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7192,7 +7198,7 @@
  */
 
-bool p4aInputExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4aInputExpRow *object    ///< Object to delete
+bool p4InputExpDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const p4InputExpRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7204,10 +7210,10 @@
  */
 
-long long p4aInputExpDeleteRowObjects(
+long long p4InputExpDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4aInputExpRow objects
+/** Formats and prints an array of p4InputExpRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7217,10 +7223,10 @@
  */
 
-bool p4aInputExpPrintObjects(
+bool p4InputExpPrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4aInputExpRow objects
+    psArray         *objects,           ///< An array of p4InputExpRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4aInputExpRow object
+/** Formats and prints an p4InputExpRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7230,12 +7236,12 @@
  */
 
-bool p4aInputExpPrintObject(
+bool p4InputExpPrintObject(
     FILE            *stream,            ///< a stream
-    p4aInputExpRow *object,    ///< an p4aInputExpRow object
+    p4InputExpRow *object,    ///< an p4InputExpRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4aScfileRow data structure
- *
- * Structure for representing a single row of p4aScfile table data.
+/** p4ScfileRow data structure
+ *
+ * Structure for representing a single row of p4Scfile table data.
  */
 
@@ -7249,12 +7255,12 @@
     psF64           bg;
     psF64           bg_mean_stdev;
-} p4aScfileRow;
-
-/** Creates a new p4aScfileRow object
- *
- *  @return A new p4aScfileRow object or NULL on failure.
- */
-
-p4aScfileRow *p4aScfileRowAlloc(
+} p4ScfileRow;
+
+/** Creates a new p4ScfileRow object
+ *
+ *  @return A new p4ScfileRow object or NULL on failure.
+ */
+
+p4ScfileRow *p4ScfileRowAlloc(
     psS32           p4a_id,
     const char      *skycell_id,
@@ -7267,19 +7273,19 @@
 );
 
-/** Creates a new p4aScfile table
- *
- * @return true on success
- */
-
-bool p4aScfileCreateTable(
+/** Creates a new p4Scfile table
+ *
+ * @return true on success
+ */
+
+bool p4ScfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4aScfile table
- *
- * @return true on success
- */
-
-bool p4aScfileDropTable(
+/** Deletes a p4Scfile table
+ *
+ * @return true on success
+ */
+
+bool p4ScfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7292,5 +7298,5 @@
  */
 
-bool p4aScfileInsert(
+bool p4ScfileInsert(
     psDB            *dbh,               ///< Database handle
     psS32           p4a_id,
@@ -7309,5 +7315,5 @@
  */
 
-long long p4aScfileDelete(
+long long p4ScfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7315,5 +7321,5 @@
 );
 
-/** Insert a single p4aScfileRow object into a table
+/** Insert a single p4ScfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7322,10 +7328,10 @@
  */
 
-bool p4aScfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4aScfileRow    *object             ///< p4aScfileRow object
-);
-
-/** Insert an array of p4aScfileRow object into a table
+bool p4ScfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    p4ScfileRow     *object             ///< p4ScfileRow object
+);
+
+/** Insert an array of p4ScfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7334,10 +7340,10 @@
  */
 
-bool p4aScfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4aScfileRow objects
-);
-
-/** Insert data from a binary FITS table p4aScfileRow into the database
+bool p4ScfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of p4ScfileRow objects
+);
+
+/** Insert data from a binary FITS table p4ScfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7349,5 +7355,5 @@
  */
 
-bool p4aScfileInsertFits(
+bool p4ScfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7364,5 +7370,5 @@
  */
 
-bool p4aScfileSelectRowsFits(
+bool p4ScfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7371,22 +7377,22 @@
 );
 
-/** Convert a p4aScfileRow into an equivalent psMetadata
+/** Convert a p4ScfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4aScfileMetadataFromObject(
-    const p4aScfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *p4ScfileMetadataFromObject(
+    const p4ScfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4aScfileRow pointer or NULL on error
- */
-
-p4aScfileRow *p4aScfileObjectFromMetadata(
+ * @return A p4ScfileRow pointer or NULL on error
+ */
+
+p4ScfileRow *p4ScfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4aScfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as p4ScfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7395,10 +7401,10 @@
  */
 
-psArray *p4aScfileSelectRowObjects(
+psArray *p4ScfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4aScfile
+/** Deletes a row from the database coresponding to an p4Scfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7408,7 +7414,7 @@
  */
 
-bool p4aScfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4aScfileRow *object    ///< Object to delete
+bool p4ScfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const p4ScfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7420,10 +7426,10 @@
  */
 
-long long p4aScfileDeleteRowObjects(
+long long p4ScfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4aScfileRow objects
+/** Formats and prints an array of p4ScfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7433,10 +7439,10 @@
  */
 
-bool p4aScfilePrintObjects(
+bool p4ScfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4aScfileRow objects
+    psArray         *objects,           ///< An array of p4ScfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4aScfileRow object
+/** Formats and prints an p4ScfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7446,216 +7452,12 @@
  */
 
-bool p4aScfilePrintObject(
+bool p4ScfilePrintObject(
     FILE            *stream,            ///< a stream
-    p4aScfileRow *object,    ///< an p4aScfileRow object
+    p4ScfileRow *object,    ///< an p4ScfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4bRunRow data structure
- *
- * Structure for representing a single row of p4bRun table data.
- */
-
-typedef struct {
-    psS32           p4b_id;
-    char            *state;
-    char            *workdir;
-    bool            magic;
-} p4bRunRow;
-
-/** Creates a new p4bRunRow object
- *
- *  @return A new p4bRunRow object or NULL on failure.
- */
-
-p4bRunRow *p4bRunRowAlloc(
-    psS32           p4b_id,
-    const char      *state,
-    const char      *workdir,
-    bool            magic
-);
-
-/** Creates a new p4bRun table
- *
- * @return true on success
- */
-
-bool p4bRunCreateTable(
-    psDB            *dbh                ///< Database handle
-);
-
-/** Deletes a p4bRun table
- *
- * @return true on success
- */
-
-bool p4bRunDropTable(
-    psDB            *dbh                ///< Database handle
-);
-
-/** Insert a single row into a table
- *
- * This function constructs and inserts a single row based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4bRunInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4b_id,
-    const char      *state,
-    const char      *workdir,
-    bool            magic
-);
-
-/** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-long long p4bRunDelete(
-    psDB            *dbh,               ///< Database handle
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to delete 
-);
-
-/** Insert a single p4bRunRow object into a table
- *
- * This function constructs and inserts a single row based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4bRunInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4bRunRow       *object             ///< p4bRunRow object
-);
-
-/** Insert an array of p4bRunRow object into a table
- *
- * This function constructs and inserts multiple rows based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4bRunInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4bRunRow objects
-);
-
-/** Insert data from a binary FITS table p4bRunRow into the database
- *
- * This function expects a psFits object with a FITS table as the first
- * extension.  The table must have at least one row of data in it, that is of
- * the appropriate format (number of columns and their type).  All other
- * extensions are ignored.
- *
- * @return true on success
- */
-
-bool p4bRunInsertFits(
-    psDB            *dbh,               ///< Database handle
-    const psFits    *fits               ///< psFits object
-);
-
-/** Selects up to limit from the database and returns them in a binary FITS table
- *
- * This function assumes an empty psFits object and will create a FITS table
- * as the first extension.
- *
- *  See psDBSelectRows() for documentation on the format of where.
- *
- * @return true on success
- */
-
-bool p4bRunSelectRowsFits(
-    psDB            *dbh,               ///< Database handle
-    psFits          *fits,              ///< psFits object
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to return
-);
-
-/** Convert a p4bRunRow into an equivalent psMetadata
- *
- * @return A psMetadata pointer or NULL on error
- */
-
-psMetadata *p4bRunMetadataFromObject(
-    const p4bRunRow *object             ///< fooRow to convert into a psMetadata
-);
-
-/** Convert a psMetadata into an equivalent fooRow
- *
- * @return A p4bRunRow pointer or NULL on error
- */
-
-p4bRunRow *p4bRunObjectFromMetadata(
-    psMetadata      *md                 ///< psMetadata to convert into a fooRow
-);
-/** Selects up to limit rows from the database and returns as p4bRunRow objects in a psArray
- *
- *  See psDBSelectRows() for documentation on the format of where.
- *
- * @return A psArray pointer or NULL on error
- */
-
-psArray *p4bRunSelectRowObjects(
-    psDB            *dbh,               ///< Database handle
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to return
-);
-/** Deletes a row from the database coresponding to an p4bRun
- *
- *  Note that a 'where' search psMetadata is constructed from each object and
- *  used to find rows to delete.
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-bool p4bRunDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4bRunRow *object    ///< Object to delete
-);
-/** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
- *
- *  Note that a 'where' search psMetadata is constructed from each object and
- *  used to find rows to delete.
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-long long p4bRunDeleteRowObjects(
-    psDB            *dbh,               ///< Database handle
-    const psArray   *objects,           ///< Array of objects to delete
-    unsigned long long limit            ///< Maximum number of elements to delete 
-);
-/** Formats and prints an array of p4bRunRow objects
- *
- * When mdcf is set the formated output is in psMetadataConfig
- * format, otherwise it is in a simple tabular format.
- *
- * @return true on success
- */
-
-bool p4bRunPrintObjects(
-    FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4bRunRow objects
-    bool            mdcf                ///< format as mdconfig or simple
-);
-/** Formats and prints an p4bRunRow object
- *
- * When mdcf is set the formated output is in psMetadataConfig
- * format, otherwise it is in a simple tabular format.
- *
- * @return true on success
- */
-
-bool p4bRunPrintObject(
-    FILE            *stream,            ///< a stream
-    p4bRunRow *object,    ///< an p4bRunRow object
-    bool            mdcf                ///< format as mdconfig or simple
-);
-/** p4bInputScfileRow data structure
- *
- * Structure for representing a single row of p4bInputScfile table data.
+/** p4InputScfileRow data structure
+ *
+ * Structure for representing a single row of p4InputScfile table data.
  */
 
@@ -7667,12 +7469,12 @@
     psS32           p3_version;
     char            *kind;
-} p4bInputScfileRow;
-
-/** Creates a new p4bInputScfileRow object
- *
- *  @return A new p4bInputScfileRow object or NULL on failure.
- */
-
-p4bInputScfileRow *p4bInputScfileRowAlloc(
+} p4InputScfileRow;
+
+/** Creates a new p4InputScfileRow object
+ *
+ *  @return A new p4InputScfileRow object or NULL on failure.
+ */
+
+p4InputScfileRow *p4InputScfileRowAlloc(
     psS32           p4b_id,
     const char      *skycell_id,
@@ -7683,19 +7485,19 @@
 );
 
-/** Creates a new p4bInputScfile table
- *
- * @return true on success
- */
-
-bool p4bInputScfileCreateTable(
+/** Creates a new p4InputScfile table
+ *
+ * @return true on success
+ */
+
+bool p4InputScfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4bInputScfile table
- *
- * @return true on success
- */
-
-bool p4bInputScfileDropTable(
+/** Deletes a p4InputScfile table
+ *
+ * @return true on success
+ */
+
+bool p4InputScfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7708,5 +7510,5 @@
  */
 
-bool p4bInputScfileInsert(
+bool p4InputScfileInsert(
     psDB            *dbh,               ///< Database handle
     psS32           p4b_id,
@@ -7723,5 +7525,5 @@
  */
 
-long long p4bInputScfileDelete(
+long long p4InputScfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7729,5 +7531,5 @@
 );
 
-/** Insert a single p4bInputScfileRow object into a table
+/** Insert a single p4InputScfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7736,10 +7538,10 @@
  */
 
-bool p4bInputScfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4bInputScfileRow *object             ///< p4bInputScfileRow object
-);
-
-/** Insert an array of p4bInputScfileRow object into a table
+bool p4InputScfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    p4InputScfileRow *object             ///< p4InputScfileRow object
+);
+
+/** Insert an array of p4InputScfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7748,10 +7550,10 @@
  */
 
-bool p4bInputScfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4bInputScfileRow objects
-);
-
-/** Insert data from a binary FITS table p4bInputScfileRow into the database
+bool p4InputScfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of p4InputScfileRow objects
+);
+
+/** Insert data from a binary FITS table p4InputScfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7763,5 +7565,5 @@
  */
 
-bool p4bInputScfileInsertFits(
+bool p4InputScfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7778,5 +7580,5 @@
  */
 
-bool p4bInputScfileSelectRowsFits(
+bool p4InputScfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -7785,22 +7587,22 @@
 );
 
-/** Convert a p4bInputScfileRow into an equivalent psMetadata
+/** Convert a p4InputScfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4bInputScfileMetadataFromObject(
-    const p4bInputScfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *p4InputScfileMetadataFromObject(
+    const p4InputScfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4bInputScfileRow pointer or NULL on error
- */
-
-p4bInputScfileRow *p4bInputScfileObjectFromMetadata(
+ * @return A p4InputScfileRow pointer or NULL on error
+ */
+
+p4InputScfileRow *p4InputScfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4bInputScfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as p4InputScfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -7809,10 +7611,10 @@
  */
 
-psArray *p4bInputScfileSelectRowObjects(
+psArray *p4InputScfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4bInputScfile
+/** Deletes a row from the database coresponding to an p4InputScfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -7822,7 +7624,7 @@
  */
 
-bool p4bInputScfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4bInputScfileRow *object    ///< Object to delete
+bool p4InputScfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const p4InputScfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -7834,10 +7636,10 @@
  */
 
-long long p4bInputScfileDeleteRowObjects(
+long long p4InputScfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4bInputScfileRow objects
+/** Formats and prints an array of p4InputScfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7847,10 +7649,10 @@
  */
 
-bool p4bInputScfilePrintObjects(
+bool p4InputScfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4bInputScfileRow objects
+    psArray         *objects,           ///< An array of p4InputScfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4bInputScfileRow object
+/** Formats and prints an p4InputScfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -7860,12 +7662,12 @@
  */
 
-bool p4bInputScfilePrintObject(
+bool p4InputScfilePrintObject(
     FILE            *stream,            ///< a stream
-    p4bInputScfileRow *object,    ///< an p4bInputScfileRow object
+    p4InputScfileRow *object,    ///< an p4InputScfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** p4bDiffScfileRow data structure
- *
- * Structure for representing a single row of p4bDiffScfile table data.
+/** p4DiffScfileRow data structure
+ *
+ * Structure for representing a single row of p4DiffScfile table data.
  */
 
@@ -7879,12 +7681,12 @@
     psF64           bg;
     psF64           bg_mean_stdev;
-} p4bDiffScfileRow;
-
-/** Creates a new p4bDiffScfileRow object
- *
- *  @return A new p4bDiffScfileRow object or NULL on failure.
- */
-
-p4bDiffScfileRow *p4bDiffScfileRowAlloc(
+} p4DiffScfileRow;
+
+/** Creates a new p4DiffScfileRow object
+ *
+ *  @return A new p4DiffScfileRow object or NULL on failure.
+ */
+
+p4DiffScfileRow *p4DiffScfileRowAlloc(
     psS32           p4b_id,
     const char      *skycell_id,
@@ -7897,19 +7699,19 @@
 );
 
-/** Creates a new p4bDiffScfile table
- *
- * @return true on success
- */
-
-bool p4bDiffScfileCreateTable(
+/** Creates a new p4DiffScfile table
+ *
+ * @return true on success
+ */
+
+bool p4DiffScfileCreateTable(
     psDB            *dbh                ///< Database handle
 );
 
-/** Deletes a p4bDiffScfile table
- *
- * @return true on success
- */
-
-bool p4bDiffScfileDropTable(
+/** Deletes a p4DiffScfile table
+ *
+ * @return true on success
+ */
+
+bool p4DiffScfileDropTable(
     psDB            *dbh                ///< Database handle
 );
@@ -7922,5 +7724,5 @@
  */
 
-bool p4bDiffScfileInsert(
+bool p4DiffScfileInsert(
     psDB            *dbh,               ///< Database handle
     psS32           p4b_id,
@@ -7939,5 +7741,5 @@
  */
 
-long long p4bDiffScfileDelete(
+long long p4DiffScfileDelete(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
@@ -7945,5 +7747,5 @@
 );
 
-/** Insert a single p4bDiffScfileRow object into a table
+/** Insert a single p4DiffScfileRow object into a table
  *
  * This function constructs and inserts a single row based on it's parameters.
@@ -7952,10 +7754,10 @@
  */
 
-bool p4bDiffScfileInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4bDiffScfileRow *object             ///< p4bDiffScfileRow object
-);
-
-/** Insert an array of p4bDiffScfileRow object into a table
+bool p4DiffScfileInsertObject(
+    psDB            *dbh,               ///< Database handle
+    p4DiffScfileRow *object             ///< p4DiffScfileRow object
+);
+
+/** Insert an array of p4DiffScfileRow object into a table
  *
  * This function constructs and inserts multiple rows based on it's parameters.
@@ -7964,10 +7766,10 @@
  */
 
-bool p4bDiffScfileInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4bDiffScfileRow objects
-);
-
-/** Insert data from a binary FITS table p4bDiffScfileRow into the database
+bool p4DiffScfileInsertObjects(
+    psDB            *dbh,               ///< Database handle
+    psArray         *objects            ///< array of p4DiffScfileRow objects
+);
+
+/** Insert data from a binary FITS table p4DiffScfileRow into the database
  *
  * This function expects a psFits object with a FITS table as the first
@@ -7979,5 +7781,5 @@
  */
 
-bool p4bDiffScfileInsertFits(
+bool p4DiffScfileInsertFits(
     psDB            *dbh,               ///< Database handle
     const psFits    *fits               ///< psFits object
@@ -7994,5 +7796,5 @@
  */
 
-bool p4bDiffScfileSelectRowsFits(
+bool p4DiffScfileSelectRowsFits(
     psDB            *dbh,               ///< Database handle
     psFits          *fits,              ///< psFits object
@@ -8001,22 +7803,22 @@
 );
 
-/** Convert a p4bDiffScfileRow into an equivalent psMetadata
+/** Convert a p4DiffScfileRow into an equivalent psMetadata
  *
  * @return A psMetadata pointer or NULL on error
  */
 
-psMetadata *p4bDiffScfileMetadataFromObject(
-    const p4bDiffScfileRow *object             ///< fooRow to convert into a psMetadata
+psMetadata *p4DiffScfileMetadataFromObject(
+    const p4DiffScfileRow *object             ///< fooRow to convert into a psMetadata
 );
 
 /** Convert a psMetadata into an equivalent fooRow
  *
- * @return A p4bDiffScfileRow pointer or NULL on error
- */
-
-p4bDiffScfileRow *p4bDiffScfileObjectFromMetadata(
+ * @return A p4DiffScfileRow pointer or NULL on error
+ */
+
+p4DiffScfileRow *p4DiffScfileObjectFromMetadata(
     psMetadata      *md                 ///< psMetadata to convert into a fooRow
 );
-/** Selects up to limit rows from the database and returns as p4bDiffScfileRow objects in a psArray
+/** Selects up to limit rows from the database and returns as p4DiffScfileRow objects in a psArray
  *
  *  See psDBSelectRows() for documentation on the format of where.
@@ -8025,10 +7827,10 @@
  */
 
-psArray *p4bDiffScfileSelectRowObjects(
+psArray *p4DiffScfileSelectRowObjects(
     psDB            *dbh,               ///< Database handle
     const psMetadata *where,            ///< Row match criteria
     unsigned long long limit            ///< Maximum number of elements to return
 );
-/** Deletes a row from the database coresponding to an p4bDiffScfile
+/** Deletes a row from the database coresponding to an p4DiffScfile
  *
  *  Note that a 'where' search psMetadata is constructed from each object and
@@ -8038,7 +7840,7 @@
  */
 
-bool p4bDiffScfileDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4bDiffScfileRow *object    ///< Object to delete
+bool p4DiffScfileDeleteObject(
+    psDB            *dbh,               ///< Database handle
+    const p4DiffScfileRow *object    ///< Object to delete
 );
 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
@@ -8050,10 +7852,10 @@
  */
 
-long long p4bDiffScfileDeleteRowObjects(
+long long p4DiffScfileDeleteRowObjects(
     psDB            *dbh,               ///< Database handle
     const psArray   *objects,           ///< Array of objects to delete
     unsigned long long limit            ///< Maximum number of elements to delete 
 );
-/** Formats and prints an array of p4bDiffScfileRow objects
+/** Formats and prints an array of p4DiffScfileRow objects
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8063,10 +7865,10 @@
  */
 
-bool p4bDiffScfilePrintObjects(
+bool p4DiffScfilePrintObjects(
     FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4bDiffScfileRow objects
+    psArray         *objects,           ///< An array of p4DiffScfileRow objects
     bool            mdcf                ///< format as mdconfig or simple
 );
-/** Formats and prints an p4bDiffScfileRow object
+/** Formats and prints an p4DiffScfileRow object
  *
  * When mdcf is set the formated output is in psMetadataConfig
@@ -8076,412 +7878,7 @@
  */
 
-bool p4bDiffScfilePrintObject(
+bool p4DiffScfilePrintObject(
     FILE            *stream,            ///< a stream
-    p4bDiffScfileRow *object,    ///< an p4bDiffScfileRow object
-    bool            mdcf                ///< format as mdconfig or simple
-);
-/** p4cRunRow data structure
- *
- * Structure for representing a single row of p4cRun table data.
- */
-
-typedef struct {
-    psS32           p4c_id;
-    char            *state;
-    char            *workdir;
-    bool            magic;
-} p4cRunRow;
-
-/** Creates a new p4cRunRow object
- *
- *  @return A new p4cRunRow object or NULL on failure.
- */
-
-p4cRunRow *p4cRunRowAlloc(
-    psS32           p4c_id,
-    const char      *state,
-    const char      *workdir,
-    bool            magic
-);
-
-/** Creates a new p4cRun table
- *
- * @return true on success
- */
-
-bool p4cRunCreateTable(
-    psDB            *dbh                ///< Database handle
-);
-
-/** Deletes a p4cRun table
- *
- * @return true on success
- */
-
-bool p4cRunDropTable(
-    psDB            *dbh                ///< Database handle
-);
-
-/** Insert a single row into a table
- *
- * This function constructs and inserts a single row based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4cRunInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4c_id,
-    const char      *state,
-    const char      *workdir,
-    bool            magic
-);
-
-/** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-long long p4cRunDelete(
-    psDB            *dbh,               ///< Database handle
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to delete 
-);
-
-/** Insert a single p4cRunRow object into a table
- *
- * This function constructs and inserts a single row based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4cRunInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4cRunRow       *object             ///< p4cRunRow object
-);
-
-/** Insert an array of p4cRunRow object into a table
- *
- * This function constructs and inserts multiple rows based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4cRunInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4cRunRow objects
-);
-
-/** Insert data from a binary FITS table p4cRunRow into the database
- *
- * This function expects a psFits object with a FITS table as the first
- * extension.  The table must have at least one row of data in it, that is of
- * the appropriate format (number of columns and their type).  All other
- * extensions are ignored.
- *
- * @return true on success
- */
-
-bool p4cRunInsertFits(
-    psDB            *dbh,               ///< Database handle
-    const psFits    *fits               ///< psFits object
-);
-
-/** Selects up to limit from the database and returns them in a binary FITS table
- *
- * This function assumes an empty psFits object and will create a FITS table
- * as the first extension.
- *
- *  See psDBSelectRows() for documentation on the format of where.
- *
- * @return true on success
- */
-
-bool p4cRunSelectRowsFits(
-    psDB            *dbh,               ///< Database handle
-    psFits          *fits,              ///< psFits object
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to return
-);
-
-/** Convert a p4cRunRow into an equivalent psMetadata
- *
- * @return A psMetadata pointer or NULL on error
- */
-
-psMetadata *p4cRunMetadataFromObject(
-    const p4cRunRow *object             ///< fooRow to convert into a psMetadata
-);
-
-/** Convert a psMetadata into an equivalent fooRow
- *
- * @return A p4cRunRow pointer or NULL on error
- */
-
-p4cRunRow *p4cRunObjectFromMetadata(
-    psMetadata      *md                 ///< psMetadata to convert into a fooRow
-);
-/** Selects up to limit rows from the database and returns as p4cRunRow objects in a psArray
- *
- *  See psDBSelectRows() for documentation on the format of where.
- *
- * @return A psArray pointer or NULL on error
- */
-
-psArray *p4cRunSelectRowObjects(
-    psDB            *dbh,               ///< Database handle
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to return
-);
-/** Deletes a row from the database coresponding to an p4cRun
- *
- *  Note that a 'where' search psMetadata is constructed from each object and
- *  used to find rows to delete.
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-bool p4cRunDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4cRunRow *object    ///< Object to delete
-);
-/** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
- *
- *  Note that a 'where' search psMetadata is constructed from each object and
- *  used to find rows to delete.
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-long long p4cRunDeleteRowObjects(
-    psDB            *dbh,               ///< Database handle
-    const psArray   *objects,           ///< Array of objects to delete
-    unsigned long long limit            ///< Maximum number of elements to delete 
-);
-/** Formats and prints an array of p4cRunRow objects
- *
- * When mdcf is set the formated output is in psMetadataConfig
- * format, otherwise it is in a simple tabular format.
- *
- * @return true on success
- */
-
-bool p4cRunPrintObjects(
-    FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4cRunRow objects
-    bool            mdcf                ///< format as mdconfig or simple
-);
-/** Formats and prints an p4cRunRow object
- *
- * When mdcf is set the formated output is in psMetadataConfig
- * format, otherwise it is in a simple tabular format.
- *
- * @return true on success
- */
-
-bool p4cRunPrintObject(
-    FILE            *stream,            ///< a stream
-    p4cRunRow *object,    ///< an p4cRunRow object
-    bool            mdcf                ///< format as mdconfig or simple
-);
-/** p4cInputExpRow data structure
- *
- * Structure for representing a single row of p4cInputExp table data.
- */
-
-typedef struct {
-    psS32           p4c_id;
-    char            *exp_tag;
-    psS32           p3_version;
-} p4cInputExpRow;
-
-/** Creates a new p4cInputExpRow object
- *
- *  @return A new p4cInputExpRow object or NULL on failure.
- */
-
-p4cInputExpRow *p4cInputExpRowAlloc(
-    psS32           p4c_id,
-    const char      *exp_tag,
-    psS32           p3_version
-);
-
-/** Creates a new p4cInputExp table
- *
- * @return true on success
- */
-
-bool p4cInputExpCreateTable(
-    psDB            *dbh                ///< Database handle
-);
-
-/** Deletes a p4cInputExp table
- *
- * @return true on success
- */
-
-bool p4cInputExpDropTable(
-    psDB            *dbh                ///< Database handle
-);
-
-/** Insert a single row into a table
- *
- * This function constructs and inserts a single row based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4cInputExpInsert(
-    psDB            *dbh,               ///< Database handle
-    psS32           p4c_id,
-    const char      *exp_tag,
-    psS32           p3_version
-);
-
-/** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-long long p4cInputExpDelete(
-    psDB            *dbh,               ///< Database handle
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to delete 
-);
-
-/** Insert a single p4cInputExpRow object into a table
- *
- * This function constructs and inserts a single row based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4cInputExpInsertObject(
-    psDB            *dbh,               ///< Database handle
-    p4cInputExpRow  *object             ///< p4cInputExpRow object
-);
-
-/** Insert an array of p4cInputExpRow object into a table
- *
- * This function constructs and inserts multiple rows based on it's parameters.
- *
- * @return true on success
- */
-
-bool p4cInputExpInsertObjects(
-    psDB            *dbh,               ///< Database handle
-    psArray         *objects            ///< array of p4cInputExpRow objects
-);
-
-/** Insert data from a binary FITS table p4cInputExpRow into the database
- *
- * This function expects a psFits object with a FITS table as the first
- * extension.  The table must have at least one row of data in it, that is of
- * the appropriate format (number of columns and their type).  All other
- * extensions are ignored.
- *
- * @return true on success
- */
-
-bool p4cInputExpInsertFits(
-    psDB            *dbh,               ///< Database handle
-    const psFits    *fits               ///< psFits object
-);
-
-/** Selects up to limit from the database and returns them in a binary FITS table
- *
- * This function assumes an empty psFits object and will create a FITS table
- * as the first extension.
- *
- *  See psDBSelectRows() for documentation on the format of where.
- *
- * @return true on success
- */
-
-bool p4cInputExpSelectRowsFits(
-    psDB            *dbh,               ///< Database handle
-    psFits          *fits,              ///< psFits object
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to return
-);
-
-/** Convert a p4cInputExpRow into an equivalent psMetadata
- *
- * @return A psMetadata pointer or NULL on error
- */
-
-psMetadata *p4cInputExpMetadataFromObject(
-    const p4cInputExpRow *object             ///< fooRow to convert into a psMetadata
-);
-
-/** Convert a psMetadata into an equivalent fooRow
- *
- * @return A p4cInputExpRow pointer or NULL on error
- */
-
-p4cInputExpRow *p4cInputExpObjectFromMetadata(
-    psMetadata      *md                 ///< psMetadata to convert into a fooRow
-);
-/** Selects up to limit rows from the database and returns as p4cInputExpRow objects in a psArray
- *
- *  See psDBSelectRows() for documentation on the format of where.
- *
- * @return A psArray pointer or NULL on error
- */
-
-psArray *p4cInputExpSelectRowObjects(
-    psDB            *dbh,               ///< Database handle
-    const psMetadata *where,            ///< Row match criteria
-    unsigned long long limit            ///< Maximum number of elements to return
-);
-/** Deletes a row from the database coresponding to an p4cInputExp
- *
- *  Note that a 'where' search psMetadata is constructed from each object and
- *  used to find rows to delete.
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-bool p4cInputExpDeleteObject(
-    psDB            *dbh,               ///< Database handle
-    const p4cInputExpRow *object    ///< Object to delete
-);
-/** Deletes up to limit rows from the database and returns the number of rows actually deleted. 
- *
- *  Note that a 'where' search psMetadata is constructed from each object and
- *  used to find rows to delete.
- *
- * @return A The number of rows removed or a negative value on error
- */
-
-long long p4cInputExpDeleteRowObjects(
-    psDB            *dbh,               ///< Database handle
-    const psArray   *objects,           ///< Array of objects to delete
-    unsigned long long limit            ///< Maximum number of elements to delete 
-);
-/** Formats and prints an array of p4cInputExpRow objects
- *
- * When mdcf is set the formated output is in psMetadataConfig
- * format, otherwise it is in a simple tabular format.
- *
- * @return true on success
- */
-
-bool p4cInputExpPrintObjects(
-    FILE            *stream,            ///< a stream
-    psArray         *objects,           ///< An array of p4cInputExpRow objects
-    bool            mdcf                ///< format as mdconfig or simple
-);
-/** Formats and prints an p4cInputExpRow object
- *
- * When mdcf is set the formated output is in psMetadataConfig
- * format, otherwise it is in a simple tabular format.
- *
- * @return true on success
- */
-
-bool p4cInputExpPrintObject(
-    FILE            *stream,            ///< a stream
-    p4cInputExpRow *object,    ///< an p4cInputExpRow object
+    p4DiffScfileRow *object,    ///< an p4DiffScfileRow object
     bool            mdcf                ///< format as mdconfig or simple
 );
