Index: trunk/Ohana/src/libohana/include/dvo.h
===================================================================
--- trunk/Ohana/src/libohana/include/dvo.h	(revision 4993)
+++ trunk/Ohana/src/libohana/include/dvo.h	(revision 5014)
@@ -11,8 +11,8 @@
 
 /* DVO table modes */
-enum {DVO_MODE_RAW, DVO_MODE_MEF, DVO_MODE_SPLIT, DVO_MODE_MYSQL} DVOTableMode;
+enum {DVO_MODE_UNDEF, DVO_MODE_RAW, DVO_MODE_MEF, DVO_MODE_SPLIT, DVO_MODE_MYSQL} DVOTableMode;
 
 /* DVO table formats */
-enum {DVO_FORMAT_UNDEF, DVO_FORMAT_ELIXIR, DVO_FORMAT_LONEOS, DVO_FORMAT_PANSTARRS} DVOTableFormat;
+enum {DVO_FORMAT_UNDEF, DVO_FORMAT_INTERNAL, DVO_FORMAT_ELIXIR, DVO_FORMAT_LONEOS, DVO_FORMAT_PANSTARRS} DVOTableFormat;
 
 /* image data modes in RegImage */
@@ -125,7 +125,13 @@
 
   /* extra table data if needed (move these to enums?) */
+  # if (0)
   char catmode[10];         /* storage mode: raw, mef, split, mysql */
   char average_format[80];  /* table format: internal, loneos, elixir, panstarrs */
   char measure_format[80];  /* table format: must match average_format */
+  char secfilt_format[80];  /* table format: must match average_format */
+  # endif
+
+  int catmode;
+  int catformat;
   
   /* data in the catalog */
@@ -245,24 +251,39 @@
 /*** conversion functions / I/O conversions ***/
 
-Average *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues);
-Average *FtableToAverage (FTable *ftable, int *Naverage, char *extname);
-Average *ReadRawAverage (FILE *f, int Naverage, char *format);
+Average *ReadRawAverage (FILE *f, int Naverage, int format);
+Measure *ReadRawMeasure (FILE *f, int Nmeasure, int format);
+SecFilt *ReadRawSecFilt (FILE *f, int Nsecfilt, int format);
+int WriteRawAverage (FILE *f, Average *average, int Naverage, int format);
+int WriteRawMeasure (FILE *f, Measure *measure, int Nmeasure, int format);
+int WriteRawSecFilt (FILE *f, SecFilt *secfilt, int Nsecfilt, int format);
+
+Average *FtableToAverage (FTable *ftable, int *Naverage, int *format);
 Average *AverageLoneosToInternal (AverageLoneos *in, int Nvalues);
 Average *AverageElixirToInternal (AverageElixir *in, int Nvalues);
+Average *AveragePanstarrsToInternal (AveragePanstarrs *in, int Nvalues);
+AverageLoneos *AverageInternalToLoneos (Average *in, int Nvalues);
 AverageElixir *AverageInternalToElixir (Average *in, int Nvalues);
-AverageLoneos *AverageInternalToLoneos (Average *in, int Nvalues);
 AveragePanstarrs *AverageInternalToPanstarrs (Average *in, int Nvalues);
-Measure *MeasurePanstarrsToInternal (MeasurePanstarrs *in, int Nvalues);
-Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, char *extname);
-Measure *ReadRawMeasure (FILE *f, int Nmeasure, char *format);
+
+Measure *FtableToMeasure (FTable *ftable, int *Nmeasure, int *format);
 Measure *MeasureLoneosToInternal (MeasureLoneos *in, int Nvalues);
 Measure *MeasureElixirToInternal (MeasureElixir *in, int Nvalues);
+Measure *MeasurePanstarrsToInternal (MeasurePanstarrs *in, int Nvalues);
+MeasureLoneos *MeasureInternalToLoneos (Measure *in, int Nvalues);
 MeasureElixir *MeasureInternalToElixir (Measure *in, int Nvalues);
-MeasureLoneos *MeasureInternalToLoneos (Measure *in, int Nvalues);
 MeasurePanstarrs *MeasureInternalToPanstarrs (Measure *in, int Nvalues);
-int AverageToFtable (FTable *ftable, Average *average, int Naverage, char *extname);
-int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, char *extname);
-int WriteRawAverage (FILE *f, Average *average, int Naverage, char *format);
-int WriteRawMeasure (FILE *f, Measure *measure, int Nmeasure, char *format);
+
+SecFilt *FtableToSecFilt (FTable *ftable, int *Nsecfilt, int *format);
+SecFilt *SecFiltLoneosToInternal (SecFiltLoneos *in, int Nvalues);
+SecFilt *SecFiltElixirToInternal (SecFiltElixir *in, int Nvalues);
+SecFilt *SecFiltPanstarrsToInternal (SecFiltPanstarrs *in, int Nvalues);
+SecFiltLoneos *SecFiltInternalToLoneos (SecFilt *in, int Nvalues);
+SecFiltElixir *SecFiltInternalToElixir (SecFilt *in, int Nvalues);
+SecFiltPanstarrs *SecFiltInternalToPanstarrs (SecFilt *in, int Nvalues);
+
+int AverageToFtable (FTable *ftable, Average *average, int Naverage, int format);
+int MeasureToFtable (FTable *ftable, Measure *measure, int Nmeasure, int format);
+int SecFiltToFtable (FTable *ftable, SecFilt *secfilt, int Nsecfilt, int format);
+
 int load_catalog_raw (Catalog *catalog, char mode, int VERBOSE);
 int save_catalog_raw (Catalog *catalog, char VERBOSE);
@@ -279,3 +300,13 @@
 int dvo_image_addrows (FITS_DB *db, Image *new, int Nnew);
 
+int FtableToImage (FTable *ftable, Header *theader, int *format);
+int ImageToFtable (FTable *ftable, Header *theader, int format);
+int ImageToVtable (VTable *vtable, Header *theader, int format);
+Image *ImageElixirToInternal (ImageElixir *in, int Nvalues);
+ImageElixir *ImageInternalToElixir (Image *in, int Nvalues);
+Image *ImageLoneosToInternal (ImageLoneos *in, int Nvalues);
+ImageLoneos *ImageInternalToLoneos (Image *in, int Nvalues);
+Image *ImagePanstarrsToInternal (ImagePanstarrs *in, int Nvalues);
+ImagePanstarrs *ImageInternalToPanstarrs (Image *in, int Nvalues);
+
 # endif
