Index: trunk/psModules/src/camera/pmFPAfileDefine.h
===================================================================
--- trunk/psModules/src/camera/pmFPAfileDefine.h	(revision 10084)
+++ trunk/psModules/src/camera/pmFPAfileDefine.h	(revision 10966)
@@ -7,6 +7,6 @@
 *  @author EAM, IfA
 *
-*  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2006-11-19 01:55:24 $
+*  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2007-01-08 22:30:21 $
 *
 *  Copyright 2004-2005 Institute for Astronomy, University of Hawaii
@@ -22,5 +22,5 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineInput (pmConfig *config, pmFPA *fpa, char *name);
+pmFPAfile *pmFPAfileDefineInput (pmConfig *config, pmFPA *fpa, const char *name);
 
 // load the pmFPAfile information from the camera configuration data
@@ -28,5 +28,5 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineOutput (pmConfig *config, pmFPA *fpa, char *name);
+pmFPAfile *pmFPAfileDefineOutput (pmConfig *config, pmFPA *fpa, const char *name);
 
 // look for the given argname on the argument list.  find the give filename from the file rules
@@ -34,5 +34,5 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineFromArgs (bool *found, pmConfig *config, char *filename, char *argname);
+pmFPAfile *pmFPAfileDefineFromArgs (bool *found, pmConfig *config, const char *filename, const char *argname);
 
 // look for the given argname on the argument list.  find the give filename from the file rules
@@ -40,5 +40,5 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineFromConf (bool *found, pmConfig *config, char *filename);
+pmFPAfile *pmFPAfileDefineFromConf (bool *found, pmConfig *config, const char *filename);
 
 // look for the given argname on the argument list.  find the give filename from the file rules
@@ -46,5 +46,6 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineFromDetDB (bool *found, pmConfig *config, char *filename, pmFPA *input, pmDetrendType type);
+pmFPAfile *pmFPAfileDefineFromDetDB (bool *found, pmConfig *config, const char *filename,
+                                     pmFPA *input, pmDetrendType type);
 
 // create a new output pmFPAfile based on an existing FPA
@@ -52,5 +53,5 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineFromFPA (pmConfig *config, pmFPA *src, int xBin, int yBin, char *filename);
+pmFPAfile *pmFPAfileDefineFromFPA (pmConfig *config, pmFPA *src, int xBin, int yBin, const char *filename);
 
 // create a new output pmFPAfile based on an existing FPA
@@ -59,12 +60,30 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineNewCamera (pmConfig *config, char *filename);
+pmFPAfile *pmFPAfileDefineNewCamera (pmConfig *config, const char *filename);
+
+/// Create a new output pmFPAfile based upon a chip mosaic of an existing FPA
+///
+/// The new pmFPAfile is inserted into the config->files metadata, freed and returned; so that the user does
+/// not have to (and should not!) free the result.
+pmFPAfile *pmFPAfileDefineChipMosaic(pmConfig *config, ///< Configuration data
+                                     pmFPA *src, ///< Source FPA
+                                     const char *filename ///< Output (root) filename
+                                    );
+
+/// Create a new output pmFPAfile based upon an FPA mosaic of an existing FPA
+///
+/// The new pmFPAfile is inserted into the config->files metadata, freed and returned; so that the user does
+/// not have to (and should not!) free the result.
+pmFPAfile *pmFPAfileDefineFPAMosaic(pmConfig *config, ///< Configuration data
+                                    pmFPA *src, ///< Source FPA
+                                    const char *filename ///< Output (root) filename
+                                   );
 
 // create a file with the given name, assign it type "INTERNAL", and supply it with an image
 // of the requested dimensions. (image only, mask and weight are ignored)
-pmReadout *pmFPAfileDefineInternal (psMetadata *files, char *name, int Nx, int Ny, int type);
+pmReadout *pmFPAfileDefineInternal (psMetadata *files, const char *name, int Nx, int Ny, int type);
 
 // delete the INTERNAL file of the given name (if it exists)
-bool pmFPAfileDropInternal (psMetadata *files, char *name);
+bool pmFPAfileDropInternal (psMetadata *files, const char *name);
 
 // look for the given argname on the argument list.  find the give filename from the file rules
@@ -72,4 +91,6 @@
 // Note that the returned pmFPAfile is a view only, so it should not be freed by the caller --- the only
 // reference count is held by the config->files metadata.
-pmFPAfile *pmFPAfileDefineSingleFromArgs (bool *found, pmConfig *config, char *filename, char *argname, int entry);
+pmFPAfile *pmFPAfileDefineSingleFromArgs (bool *found, pmConfig *config, const char *filename,
+        const char *argname, int entry);
+
 # endif
