Index: trunk/Ohana/src/dvomerge/include/dvomerge.h
===================================================================
--- trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 37360)
+++ trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 37807)
@@ -41,7 +41,22 @@
 int    REPLACE_BY_PHOTCODE;
 int    FORCE_MERGE;
+char  *UPDATE_CATFORMAT;
+
+int    MATCHED_TABLES;
 
 char *SINGLE_CPT;
 SkyRegion UserPatch;  // used by MODE CAT
+
+# ifndef MAX_INT
+# define MAX_INT 2147483647
+# endif
+
+typedef struct {
+  int minID;
+  int maxID;
+  int *index;
+  int Nindex;
+  int NINDEX;
+} myIndexType;
 
 typedef struct {
@@ -138,4 +153,9 @@
 int   	   add_lens_link     	  PROTO((Average *average, off_t *next, off_t Nlensing, off_t NLENSING));
 Lensing   *sort_lensing     	  PROTO((Average *average, off_t Naverage, Lensing *lensing, off_t Nlensing, off_t *next));
+
+off_t 	  *build_starpar_links    PROTO((Average *average, off_t Naverage, StarPar *starpar, off_t Nstarpar));
+off_t 	  *init_starpar_links     PROTO((Average *average, off_t Naverage, StarPar *starpar, off_t Nstarpar));
+int   	   add_star_link     	  PROTO((Average *average, off_t *next, off_t Nstarpar, off_t NSTARPAR));
+StarPar   *sort_starpar     	  PROTO((Average *average, off_t Naverage, StarPar *starpar, off_t Nstarpar, off_t *next));
 
 off_t 	  *init_missing_links     PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing));
@@ -200,2 +220,12 @@
 int dvoCreateID (char *catdir);
 
+myIndexType *myIndexInit ();
+int myIndexFree (myIndexType *myIndex);
+int myIndexUpdateLimits (myIndexType *myIndex, int value);
+int myIndexSetRange (myIndexType *myIndex);
+int myIndexSetEntry (myIndexType *myIndex, int value, int entry);
+int myIndexGetEntry (myIndexType *myIndex, int value);
+
+int dvorepairDeleteImagesByExternID (int argc, char **argv);
+int RepairTableCPT_V1(char *cptFilenameSrc, char *cptFilenameTgt, char *cpsFilenameSrc, char *cpsFilenameTgt, Measure *measure, off_t Nmeasure, Image *image, off_t Nimage, myIndexType *imageIDindex, char catformat);
+int *ReadDeleteListExternID(char *filename, int *nindex);
Index: trunk/Ohana/src/dvomerge/include/dvoutils.h
===================================================================
--- trunk/Ohana/src/dvomerge/include/dvoutils.h	(revision 37807)
+++ trunk/Ohana/src/dvomerge/include/dvoutils.h	(revision 37807)
@@ -0,0 +1,34 @@
+# include <ohana.h>
+# include <dvo.h>
+# include <signal.h>
+# include <sys/time.h>
+# include <time.h>
+# include <zlib.h>
+
+/* solaris requires both of these instead of ip.h:
+   # include <sys/socket.h>
+   # include <netinet/in.h>
+*/
+
+/* linux is happy with this, not solaris */
+# include <netinet/ip.h>
+# include <netdb.h>
+# include <arpa/inet.h>
+# include <glob.h>
+
+typedef enum {
+  DVOUTILS_NONE,
+  DVOUTILS_UNIQ_IMAGES,
+} DVOUTILS_OP_TYPE;
+
+int VERBOSE;
+int DVOUTILS_OP;
+
+char *IMAGES_LIST;
+
+int main (int argc, char **argv);
+int dvoutils_args (int *argc, char **argv);
+int dvoutils_uniq_images (char *filename);
+int *dvoutils_load_image_index (char *filename, int *nindex);
+
+Image *dvoutils_load_image_table (char *filename, int *nimage);
