Index: trunk/Ohana/src/dvomerge/include/dvomerge.h
===================================================================
--- trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 24745)
+++ trunk/Ohana/src/dvomerge/include/dvomerge.h	(revision 27435)
@@ -22,4 +22,5 @@
 char   CATMODE[16];    /* raw, mef, split, mysql */
 char   CATFORMAT[16];  /* internal, elixir, loneos, panstarrs */
+char   ImageCat[256];
 float  RADIUS;
 int    SKY_DEPTH;
@@ -27,5 +28,13 @@
 SkyRegion UserPatch;  // used by MODE CAT
 
+typedef struct {
+  off_t Nmap;
+  off_t *old;
+  off_t *new;
+} IDmapType;
+
 int        main                   PROTO((int argc, char **argv));
+int        dvomergeCreate         PROTO((int argc, char **argv));
+int        dvomergeUpdate         PROTO((int argc, char **argv));
 
 int        ConfigInit             PROTO((int *argc, char **argv));
@@ -35,11 +44,14 @@
 void       SetProtect             PROTO((int mode));
 void       TrapSignal             PROTO((int sig));
-int        Shutdown               PROTO((char *format, ...));
+int        Shutdown               PROTO((char *format, ...)) OHANA_FORMAT(printf, 1, 2);
 
 void       usage                  PROTO((void));
-int        SkyTablePopulatedRange PROTO((int *ns, int *ne, SkyTable *sky, int Nstart));
+void 	   help 		  PROTO((int argc, char **argv));
+int  	   args 		  PROTO((int *argc, char **argv));
+
+int        SkyTablePopulatedRange PROTO((off_t *ns, off_t *ne, SkyTable *sky, off_t Nstart));
 
 SkyList   *SkyTablePopulatedList  PROTO((SkyTable *sky));
-SkyList   *SkyTablePopulatedList_old  PROTO((SkyTable *sky, int Ns, int Ne));
+SkyList   *SkyTablePopulatedList_old  PROTO((SkyTable *sky, off_t Ns, off_t Ne));
 
 int        LoadCatalog            PROTO((Catalog *catalog, SkyRegion *region, char *filename, char *mode));
@@ -48,9 +60,18 @@
 int        merge_catalogs_old     PROTO((SkyRegion *region, Catalog *output, Catalog *input, double RADIUS));
 
-int 	  *init_measure_links     PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure));
-int 	  *init_missing_links     PROTO((Average *average, int Naverage, Missing *missing, int Nmissing));
-int 	  *build_measure_links    PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure));
-int 	   add_meas_link     	  PROTO((Average *average, int *next, int Nmeasure, int NMEASURE));
-int 	   add_miss_link     	  PROTO((Average *average, int *next, int Nmissing));
-Measure   *sort_measure     	  PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure, int *next));
-Missing   *sort_missing     	  PROTO((Average *average, int Naverage, Missing *missing, int Nmissing, int *next_miss));
+off_t 	  *init_measure_links     PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure));
+off_t 	  *init_missing_links     PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing));
+off_t 	  *build_measure_links    PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure));
+int   	   add_meas_link     	  PROTO((Average *average, off_t *next, off_t Nmeasure, off_t NMEASURE));
+int   	   add_miss_link     	  PROTO((Average *average, off_t *next, off_t Nmissing));
+Measure   *sort_measure     	  PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next));
+Missing   *sort_missing     	  PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing, off_t *next_miss));
+
+uint64_t   CreatePSPSDetectionID  PROTO((double tobs, int ccdid, int detID));
+uint64_t   CreatePSPSObjectID     PROTO((double ra, double dec));
+
+int        dvomergeImagesCreate   PROTO((IDmapType *IDmap1, char *input1, IDmapType *IDmap2, char *input2, char *output));
+int        dvomergeImagesUpdate   PROTO((IDmapType *IDmap, char *input, char *output));
+int        dvo_image_merge_dbs    PROTO((IDmapType *IDmap, FITS_DB *out, FITS_DB *in));
+off_t 	   dvo_map_image_ID       PROTO((IDmapType *IDmap, off_t oldID));
+int   	   dvo_update_image_IDs   PROTO((IDmapType *IDmap, Catalog *catalog));
