/* Definitions and Structures for NICMOS calibration software. */
/* IDL's calnic_structs coverted to "C" lang equiv. */
/* 12-13-1999, I. Barg */

# define TBL_NROWS       21
# define SZ_NAME        128
# define SZ_LIN          80
# define SZ_KW            8
# define SZ_STRKWVAL     68
# define SZ_NICIMG      256
# define MAX_MAREADS     26

/* Error variables */
int     status;                 /* status value */
char    MsgText[2*SZ_LIN+1];    /* message string */

/* Flags for calibration switches */
# define OMIT            0
# define PERFORM         1
# define SKIP            2
# define OMITTED         3
# define PERFORMED       4
# define SKIPPED         5
# define BLANK           6

/* Data Quality Flag values */
# define REED_SOL        1
# define BAD_LIN         2
# define BAD_DARK        4
# define BAD_FLAT        8
# define GROT            16
# define DEFECTIVE       32
# define SATURATED       64
# define MISSING         128
# define BADPIX          256
# define CR_HIT          512
# define SOURCE          1024
# define ZEROSIG         2048
# define USER1           4096    /* User flag value 1 */
# define USER2           8192    /* User flag value 2 */
# define RESERVED1       16384   /* Reserved flag value 1 */
# define RESERVED2       32768   /* Reserved flag value 2 */

/* Observing mode values */
# define ACCUM           1
# define MULTIACCUM      2
# define RAMP            3
# define BRIGHTOBJ       4
# define ACQ             5

/* Data Units */
# define COUNTS          1
# define COUNTRATE       2

typedef struct {
            IDL_STRING name;
            IDL_STRING pedigree;
            IDL_STRING descrip;
	    short dummy;
}  Reffile;

typedef struct {
        short corr;
        short done;
        IDL_STRING swname;
        IDL_STRING indname;
        IDL_STRING pdname;
        Reffile  ref;
} CalStep;

