Astro-FITS-CFITSIO
view release on metacpan or search on metacpan
/* use the C std lib malloc/free */
#ifdef malloc
#undef malloc
#endif
#ifdef free
#undef free
#endif
static int
not_here(s)
char *s;
{
croak("%s not implemented on this architecture", s);
return -1;
}
static double
constant(name, arg)
char *name;
int arg;
{
errno = 0;
switch (*name) {
case 'A':
if (strEQ(name, "ANGLE_TOO_BIG"))
#ifdef ANGLE_TOO_BIG
return ANGLE_TOO_BIG;
#else
goto not_there;
#endif
if (strEQ(name, "ANY_HDU"))
#ifdef ANY_HDU
return ANY_HDU;
#else
goto not_there;
#endif
if (strEQ(name, "ARRAY_TOO_BIG"))
#ifdef ARRAY_TOO_BIG
return ARRAY_TOO_BIG;
#else
goto not_there;
#endif
if (strEQ(name, "ASCII_TBL"))
#ifdef ASCII_TBL
return ASCII_TBL;
#else
goto not_there;
#endif
break;
case 'B':
if (strEQ(name, "BAD_ATABLE_FORMAT"))
#ifdef BAD_ATABLE_FORMAT
return BAD_ATABLE_FORMAT;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_BITPIX"))
#ifdef BAD_BITPIX
return BAD_BITPIX;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_BTABLE_FORMAT"))
#ifdef BAD_BTABLE_FORMAT
return BAD_BTABLE_FORMAT;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_C2D"))
#ifdef BAD_C2D
return BAD_C2D;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_C2F"))
#ifdef BAD_C2F
return BAD_C2F;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_C2I"))
#ifdef BAD_C2I
return BAD_C2I;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_COL_NUM"))
#ifdef BAD_COL_NUM
return BAD_COL_NUM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_DATATYPE"))
#ifdef BAD_DATATYPE
return BAD_DATATYPE;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_DATA_FILL"))
#ifdef BAD_DATA_FILL
return BAD_DATA_FILL;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_DATE"))
#ifdef BAD_DATE
return BAD_DATE;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_DECIM"))
#ifdef BAD_DECIM
return BAD_DECIM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_DIMEN"))
#ifdef BAD_DIMEN
return BAD_DIMEN;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_DOUBLEKEY"))
#ifdef BAD_DOUBLEKEY
return BAD_DOUBLEKEY;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_ELEM_NUM"))
#ifdef BAD_ELEM_NUM
return BAD_ELEM_NUM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_F2C"))
#ifdef BAD_F2C
return BAD_F2C;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_FILEPTR"))
#ifdef BAD_FILEPTR
return BAD_FILEPTR;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_FLOATKEY"))
#ifdef BAD_FLOATKEY
return BAD_FLOATKEY;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_GCOUNT"))
#ifdef BAD_GCOUNT
return BAD_GCOUNT;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_GROUP_ID"))
#ifdef BAD_GROUP_ID
return BAD_GROUP_ID;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_HDU_NUM"))
#ifdef BAD_HDU_NUM
return BAD_HDU_NUM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_HEADER_FILL"))
#ifdef BAD_HEADER_FILL
return BAD_HEADER_FILL;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_I2C"))
#ifdef BAD_I2C
return BAD_I2C;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_INTKEY"))
#ifdef BAD_INTKEY
return BAD_INTKEY;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_KEYCHAR"))
#ifdef BAD_KEYCHAR
return BAD_KEYCHAR;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_LOGICALKEY"))
#ifdef BAD_LOGICALKEY
return BAD_LOGICALKEY;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_NAXES"))
#ifdef BAD_NAXES
return BAD_NAXES;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_NAXIS"))
#ifdef BAD_NAXIS
return BAD_NAXIS;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_OPTION"))
#ifdef BAD_OPTION
return BAD_OPTION;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_ORDER"))
#ifdef BAD_ORDER
return BAD_ORDER;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_PCOUNT"))
#ifdef BAD_PCOUNT
return BAD_PCOUNT;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_PIX_NUM"))
#ifdef BAD_PIX_NUM
return BAD_PIX_NUM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_ROW_NUM"))
#ifdef BAD_ROW_NUM
return BAD_ROW_NUM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_ROW_WIDTH"))
#ifdef BAD_ROW_WIDTH
return BAD_ROW_WIDTH;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_SIMPLE"))
#ifdef BAD_SIMPLE
return BAD_SIMPLE;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_TBCOL"))
#ifdef BAD_TBCOL
return BAD_TBCOL;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_TDIM"))
#ifdef BAD_TDIM
return BAD_TDIM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_TFIELDS"))
#ifdef BAD_TFIELDS
return BAD_TFIELDS;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_TFORM"))
#ifdef BAD_TFORM
return BAD_TFORM;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_TFORM_DTYPE"))
#ifdef BAD_TFORM_DTYPE
return BAD_TFORM_DTYPE;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_URL_PREFIX"))
#ifdef BAD_URL_PREFIX
return BAD_URL_PREFIX;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_WCS_PROJ"))
#ifdef BAD_WCS_PROJ
return BAD_WCS_PROJ;
#else
goto not_there;
#endif
if (strEQ(name, "BAD_WCS_VAL"))
#ifdef BAD_WCS_VAL
return BAD_WCS_VAL;
#else
goto not_there;
#endif
if (strEQ(name, "BINARY_TBL"))
#ifdef BINARY_TBL
return BINARY_TBL;
#else
goto not_there;
#endif
if (strEQ(name, "BYTE_IMG"))
#ifdef BYTE_IMG
return BYTE_IMG;
#else
goto not_there;
#endif
break;
case 'C':
if (strEQ(name, "CASEINSEN"))
#ifdef CASEINSEN
return CASEINSEN;
#else
goto not_there;
#endif
if (strEQ(name, "CASESEN"))
#ifdef CASESEN
return CASESEN;
#else
goto not_there;
#endif
if (strEQ(name, "CFITSIO_MAJOR"))
#ifdef CFITSIO_MAJOR
return CFITSIO_MAJOR;
#else
goto not_there;
#endif
if (strEQ(name, "CFITSIO_MINOR"))
#ifdef CFITSIO_MINOR
return CFITSIO_MINOR;
#else
goto not_there;
#endif
if (strEQ(name, "COL_NOT_FOUND"))
#ifdef COL_NOT_FOUND
return COL_NOT_FOUND;
#else
goto not_there;
#endif
if (strEQ(name, "COL_NOT_UNIQUE"))
#ifdef COL_NOT_UNIQUE
return COL_NOT_UNIQUE;
#else
goto not_there;
#endif
if (strEQ(name, "COL_TOO_WIDE"))
#ifdef COL_TOO_WIDE
return COL_TOO_WIDE;
#else
goto not_there;
#endif
break;
case 'D':
if (strEQ(name, "DOUBLENULLVALUE"))
#ifdef DOUBLENULLVALUE
return DOUBLENULLVALUE;
#else
goto not_there;
#endif
if (strEQ(name, "DOUBLE_IMG"))
#ifdef DOUBLE_IMG
return DOUBLE_IMG;
#else
goto not_there;
#endif
if (strEQ(name, "DRIVER_INIT_FAILED"))
#ifdef DRIVER_INIT_FAILED
return DRIVER_INIT_FAILED;
#else
goto not_there;
#endif
break;
case 'E':
if (strEQ(name, "END_JUNK"))
#ifdef END_JUNK
return END_JUNK;
#else
goto not_there;
#endif
if (strEQ(name, "END_OF_FILE"))
#ifdef END_OF_FILE
return END_OF_FILE;
#else
goto not_there;
#endif
break;
case 'F':
if (strEQ(name, "FALSE"))
#ifdef FALSE
return FALSE;
#else
goto not_there;
#endif
if (strEQ(name, "FILE_NOT_CLOSED"))
#ifdef FILE_NOT_CLOSED
return FILE_NOT_CLOSED;
#else
goto not_there;
#endif
if (strEQ(name, "FILE_NOT_CREATED"))
#ifdef FILE_NOT_CREATED
return FILE_NOT_CREATED;
#else
goto not_there;
#endif
if (strEQ(name, "FILE_NOT_OPENED"))
#ifdef FILE_NOT_OPENED
return FILE_NOT_OPENED;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_CARD"))
#ifdef FLEN_CARD
return FLEN_CARD;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_COMMENT"))
#ifdef FLEN_COMMENT
return FLEN_COMMENT;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_ERRMSG"))
#ifdef FLEN_ERRMSG
return FLEN_ERRMSG;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_FILENAME"))
#ifdef FLEN_FILENAME
return FLEN_FILENAME;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_KEYWORD"))
#ifdef FLEN_KEYWORD
return FLEN_KEYWORD;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_STATUS"))
#ifdef FLEN_STATUS
return FLEN_STATUS;
#else
goto not_there;
#endif
if (strEQ(name, "FLEN_VALUE"))
#ifdef FLEN_VALUE
return FLEN_VALUE;
#else
goto not_there;
#endif
if (strEQ(name, "FLOATNULLVALUE"))
#ifdef FLOATNULLVALUE
return FLOATNULLVALUE;
#else
goto not_there;
#endif
if (strEQ(name, "FLOAT_IMG"))
#ifdef FLOAT_IMG
return FLOAT_IMG;
#else
goto not_there;
#endif
break;
case 'G':
if (strEQ(name, "GROUP_NOT_FOUND"))
#ifdef GROUP_NOT_FOUND
return GROUP_NOT_FOUND;
#else
goto not_there;
#endif
if (strEQ(name, "GT_ID_ALL"))
#ifdef GT_ID_ALL
return GT_ID_ALL;
#else
goto not_there;
#endif
if (strEQ(name, "GT_ID_ALL_URI"))
#ifdef GT_ID_ALL_URI
return GT_ID_ALL_URI;
#else
goto not_there;
#endif
if (strEQ(name, "GT_ID_POS"))
#ifdef GT_ID_POS
return GT_ID_POS;
#else
goto not_there;
#endif
if (strEQ(name, "GT_ID_POS_URI"))
#ifdef GT_ID_POS_URI
return GT_ID_POS_URI;
#else
goto not_there;
#endif
if (strEQ(name, "GT_ID_REF"))
#ifdef GT_ID_REF
return GT_ID_REF;
#else
goto not_there;
#endif
if (strEQ(name, "GT_ID_REF_URI"))
#ifdef GT_ID_REF_URI
return GT_ID_REF_URI;
#else
goto not_there;
#endif
if (strEQ(name, "GZIP_1"))
#ifdef GZIP_1
return GZIP_1;
#else
goto not_there;
#endif
break;
case 'H':
if (strEQ(name, "HDU_ALREADY_MEMBER"))
#ifdef HDU_ALREADY_MEMBER
return HDU_ALREADY_MEMBER;
#else
goto not_there;
#endif
if (strEQ(name, "HDU_ALREADY_TRACKED"))
#ifdef HDU_ALREADY_TRACKED
return HDU_ALREADY_TRACKED;
#else
goto not_there;
#endif
if (strEQ(name, "HEADER_NOT_EMPTY"))
#ifdef HEADER_NOT_EMPTY
return HEADER_NOT_EMPTY;
#else
goto not_there;
#endif
break;
case 'I':
if (strEQ(name, "IDENTICAL_POINTERS"))
#ifdef IDENTICAL_POINTERS
return IDENTICAL_POINTERS;
#else
goto not_there;
#endif
if (strEQ(name, "IMAGE_HDU"))
#ifdef IMAGE_HDU
return IMAGE_HDU;
#else
goto not_there;
#endif
if (strEQ(name, "InputCol"))
#ifdef InputCol
return InputCol;
#else
goto not_there;
#endif
if (strEQ(name, "InputOutputCol"))
#ifdef InputOutputCol
return InputOutputCol;
#else
goto not_there;
#endif
break;
case 'J':
break;
case 'K':
if (strEQ(name, "KEY_NO_EXIST"))
#ifdef KEY_NO_EXIST
return KEY_NO_EXIST;
#else
goto not_there;
#endif
if (strEQ(name, "KEY_OUT_BOUNDS"))
#ifdef KEY_OUT_BOUNDS
return KEY_OUT_BOUNDS;
#else
goto not_there;
#endif
break;
case 'L':
if (strEQ(name, "LONG_IMG"))
#ifdef LONG_IMG
return LONG_IMG;
#else
goto not_there;
#endif
if (strEQ(name, "LONGLONG_IMG"))
#ifdef LONGLONG_IMG
return LONGLONG_IMG;
#else
goto not_there;
#endif
break;
case 'M':
if (strEQ(name, "MAXHDU"))
#ifdef MAXHDU
return MAXHDU;
#else
goto not_there;
#endif
if (strEQ(name, "MEMBER_NOT_FOUND"))
#ifdef MEMBER_NOT_FOUND
return MEMBER_NOT_FOUND;
#else
goto not_there;
#endif
if (strEQ(name, "MEMORY_ALLOCATION"))
#ifdef MEMORY_ALLOCATION
return MEMORY_ALLOCATION;
#else
goto not_there;
#endif
break;
case 'N':
if (strEQ(name, "NEG_AXIS"))
#ifdef NEG_AXIS
return NEG_AXIS;
#else
goto not_there;
#endif
if (strEQ(name, "NEG_BYTES"))
#ifdef NEG_BYTES
return NEG_BYTES;
#else
goto not_there;
#endif
if (strEQ(name, "NEG_FILE_POS"))
#ifdef NEG_FILE_POS
return NEG_FILE_POS;
#else
goto not_there;
#endif
if (strEQ(name, "NEG_ROWS"))
#ifdef NEG_ROWS
return NEG_ROWS;
#else
goto not_there;
#endif
if (strEQ(name, "NEG_WIDTH"))
#ifdef NEG_WIDTH
return NEG_WIDTH;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_ASCII_COL"))
#ifdef NOT_ASCII_COL
return NOT_ASCII_COL;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_ATABLE"))
#ifdef NOT_ATABLE
return NOT_ATABLE;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_BTABLE"))
#ifdef NOT_BTABLE
return NOT_BTABLE;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_GROUP_TABLE"))
#ifdef NOT_GROUP_TABLE
return NOT_GROUP_TABLE;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_IMAGE"))
#ifdef NOT_IMAGE
return NOT_IMAGE;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_LOGICAL_COL"))
#ifdef NOT_LOGICAL_COL
return NOT_LOGICAL_COL;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_POS_INT"))
#ifdef NOT_POS_INT
return NOT_POS_INT;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_TABLE"))
#ifdef NOT_TABLE
return NOT_TABLE;
#else
goto not_there;
#endif
if (strEQ(name, "NOT_VARI_LEN"))
#ifdef NOT_VARI_LEN
return NOT_VARI_LEN;
#else
goto not_there;
#endif
if (strEQ(name, "NO_BITPIX"))
#ifdef NO_BITPIX
return NO_BITPIX;
#else
goto not_there;
#endif
if (strEQ(name, "NO_END"))
#ifdef NO_END
return NO_END;
#else
goto not_there;
#endif
if (strEQ(name, "NO_GCOUNT"))
#ifdef NO_GCOUNT
return NO_GCOUNT;
#else
goto not_there;
#endif
if (strEQ(name, "NO_MATCHING_DRIVER"))
#ifdef NO_MATCHING_DRIVER
return NO_MATCHING_DRIVER;
#else
goto not_there;
#endif
if (strEQ(name, "NO_NAXES"))
#ifdef NO_NAXES
return NO_NAXES;
#else
goto not_there;
#endif
if (strEQ(name, "NO_NAXIS"))
#ifdef NO_NAXIS
return NO_NAXIS;
#else
goto not_there;
#endif
if (strEQ(name, "NO_NULL"))
#ifdef NO_NULL
return NO_NULL;
#else
goto not_there;
#endif
if (strEQ(name, "NO_PCOUNT"))
#ifdef NO_PCOUNT
return NO_PCOUNT;
#else
goto not_there;
#endif
if (strEQ(name, "NO_QUOTE"))
#ifdef NO_QUOTE
return NO_QUOTE;
#else
goto not_there;
#endif
if (strEQ(name, "NO_SIMPLE"))
#ifdef NO_SIMPLE
return NO_SIMPLE;
#else
goto not_there;
#endif
if (strEQ(name, "NO_TBCOL"))
#ifdef NO_TBCOL
return NO_TBCOL;
#else
goto not_there;
#endif
if (strEQ(name, "NO_TFIELDS"))
#ifdef NO_TFIELDS
return NO_TFIELDS;
#else
goto not_there;
#endif
if (strEQ(name, "NO_TFORM"))
#ifdef NO_TFORM
return NO_TFORM;
#else
goto not_there;
#endif
if (strEQ(name, "NO_WCS_KEY"))
#ifdef NO_WCS_KEY
return NO_WCS_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "NO_XTENSION"))
#ifdef NO_XTENSION
return NO_XTENSION;
#else
goto not_there;
#endif
if (strEQ(name, "NULL_INPUT_PTR"))
#ifdef NULL_INPUT_PTR
return NULL_INPUT_PTR;
#else
goto not_there;
#endif
if (strEQ(name, "NUM_OVERFLOW"))
#ifdef NUM_OVERFLOW
return NUM_OVERFLOW;
#else
goto not_there;
#endif
break;
case 'O':
if (strEQ(name, "OPT_CMT_MBR"))
#ifdef OPT_CMT_MBR
return OPT_CMT_MBR;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_CMT_MBR_DEL"))
#ifdef OPT_CMT_MBR_DEL
return OPT_CMT_MBR_DEL;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_GCP_ALL"))
#ifdef OPT_GCP_ALL
return OPT_GCP_ALL;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_GCP_GPT"))
#ifdef OPT_GCP_GPT
return OPT_GCP_GPT;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_GCP_MBR"))
#ifdef OPT_GCP_MBR
return OPT_GCP_MBR;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_MCP_ADD"))
#ifdef OPT_MCP_ADD
return OPT_MCP_ADD;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_MCP_MOV"))
#ifdef OPT_MCP_MOV
return OPT_MCP_MOV;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_MCP_NADD"))
#ifdef OPT_MCP_NADD
return OPT_MCP_NADD;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_MCP_REPL"))
#ifdef OPT_MCP_REPL
return OPT_MCP_REPL;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_MRG_COPY"))
#ifdef OPT_MRG_COPY
return OPT_MRG_COPY;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_MRG_MOV"))
#ifdef OPT_MRG_MOV
return OPT_MRG_MOV;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_RM_ALL"))
#ifdef OPT_RM_ALL
return OPT_RM_ALL;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_RM_ENTRY"))
#ifdef OPT_RM_ENTRY
return OPT_RM_ENTRY;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_RM_GPT"))
#ifdef OPT_RM_GPT
return OPT_RM_GPT;
#else
goto not_there;
#endif
if (strEQ(name, "OPT_RM_MBR"))
#ifdef OPT_RM_MBR
return OPT_RM_MBR;
#else
goto not_there;
#endif
if (strEQ(name, "OVERFLOW_ERR"))
#ifdef OVERFLOW_ERR
return OVERFLOW_ERR;
#else
goto not_there;
#endif
if (strEQ(name, "OutputCol"))
#ifdef OutputCol
return OutputCol;
#else
goto not_there;
#endif
break;
case 'P':
if (strEQ(name, "PARSE_BAD_COL"))
#ifdef PARSE_BAD_COL
return PARSE_BAD_COL;
#else
goto not_there;
#endif
if (strEQ(name, "PARSE_BAD_OUTPUT"))
#ifdef PARSE_BAD_OUTPUT
return PARSE_BAD_OUTPUT;
#else
goto not_there;
#endif
if (strEQ(name, "PARSE_BAD_TYPE"))
#ifdef PARSE_BAD_TYPE
return PARSE_BAD_TYPE;
#else
goto not_there;
#endif
if (strEQ(name, "PARSE_LRG_VECTOR"))
#ifdef PARSE_LRG_VECTOR
return PARSE_LRG_VECTOR;
#else
goto not_there;
#endif
if (strEQ(name, "PARSE_NO_OUTPUT"))
#ifdef PARSE_NO_OUTPUT
return PARSE_NO_OUTPUT;
#else
goto not_there;
#endif
if (strEQ(name, "PARSE_SYNTAX_ERR"))
#ifdef PARSE_SYNTAX_ERR
return PARSE_SYNTAX_ERR;
#else
goto not_there;
#endif
if (strEQ(name, "PLIO_1"))
#ifdef PLIO_1
return PLIO_1;
#else
goto not_there;
#endif
break;
case 'Q':
break;
case 'R':
if (strEQ(name, "READONLY"))
#ifdef READONLY
return READONLY;
#else
goto not_there;
#endif
if (strEQ(name, "READONLY_FILE"))
#ifdef READONLY_FILE
return READONLY_FILE;
#else
goto not_there;
#endif
if (strEQ(name, "READWRITE"))
#ifdef READWRITE
return READWRITE;
#else
goto not_there;
#endif
if (strEQ(name, "READ_ERROR"))
#ifdef READ_ERROR
return READ_ERROR;
#else
goto not_there;
#endif
if (strEQ(name, "RICE_1"))
#ifdef RICE_1
return RICE_1;
#else
goto not_there;
#endif
break;
case 'S':
if (strEQ(name, "SAME_FILE"))
#ifdef SAME_FILE
return SAME_FILE;
#else
goto not_there;
#endif
if (strEQ(name, "SEEK_ERROR"))
#ifdef SEEK_ERROR
return SEEK_ERROR;
#else
goto not_there;
#endif
if (strEQ(name, "SHORT_IMG"))
#ifdef SHORT_IMG
return SHORT_IMG;
#else
goto not_there;
#endif
break;
case 'T':
if (strEQ(name, "TBIT"))
#ifdef TBIT
return TBIT;
#else
goto not_there;
#endif
if (strEQ(name, "TBYTE"))
#ifdef TBYTE
return TBYTE;
#else
goto not_there;
#endif
if (strEQ(name, "TSBYTE"))
#ifdef TSBYTE
return TSBYTE;
#else
goto not_there;
#endif
if (strEQ(name, "TCOMPLEX"))
#ifdef TCOMPLEX
return TCOMPLEX;
#else
goto not_there;
#endif
if (strEQ(name, "TDBLCOMPLEX"))
#ifdef TDBLCOMPLEX
return TDBLCOMPLEX;
#else
goto not_there;
#endif
if (strEQ(name, "TDOUBLE"))
#ifdef TDOUBLE
return TDOUBLE;
#else
goto not_there;
#endif
if (strEQ(name, "TFLOAT"))
#ifdef TFLOAT
return TFLOAT;
#else
goto not_there;
#endif
if (strEQ(name, "TINT"))
#ifdef TINT
return TINT;
#else
goto not_there;
#endif
if (strEQ(name, "TLOGICAL"))
#ifdef TLOGICAL
return TLOGICAL;
#else
goto not_there;
#endif
if (strEQ(name, "TLONG"))
#ifdef TLONG
return TLONG;
#else
goto not_there;
#endif
if (strEQ(name, "TLONGLONG"))
#ifdef TLONGLONG
return TLONGLONG;
#else
goto not_there;
#endif
if (strEQ(name, "TOO_MANY_DRIVERS"))
#ifdef TOO_MANY_DRIVERS
return TOO_MANY_DRIVERS;
#else
goto not_there;
#endif
if (strEQ(name, "TOO_MANY_FILES"))
#ifdef TOO_MANY_FILES
return TOO_MANY_FILES;
#else
goto not_there;
#endif
if (strEQ(name, "TOO_MANY_HDUS_TRACKED"))
#ifdef TOO_MANY_HDUS_TRACKED
return TOO_MANY_HDUS_TRACKED;
#else
goto not_there;
#endif
if (strEQ(name, "TRUE"))
#ifdef TRUE
return TRUE;
#else
goto not_there;
#endif
if (strEQ(name, "TSHORT"))
#ifdef TSHORT
return TSHORT;
#else
goto not_there;
#endif
if (strEQ(name, "TSTRING"))
#ifdef TSTRING
return TSTRING;
#else
goto not_there;
#endif
if (strEQ(name, "TUINT"))
#ifdef TUINT
return TUINT;
#else
goto not_there;
#endif
if (strEQ(name, "TULONG"))
#ifdef TULONG
return TULONG;
#else
goto not_there;
#endif
if (strEQ(name, "TUSHORT"))
#ifdef TUSHORT
return TUSHORT;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_STRUC_KEY"))
#ifdef TYP_STRUC_KEY
return TYP_STRUC_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_CMPRS_KEY"))
#ifdef TYP_CMPRS_KEY
return TYP_CMPRS_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_SCAL_KEY"))
#ifdef TYP_SCAL_KEY
return TYP_SCAL_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_NULL_KEY"))
#ifdef TYP_NULL_KEY
return TYP_NULL_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_DIM_KEY"))
#ifdef TYP_DIM_KEY
return TYP_DIM_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_RANG_KEY"))
#ifdef TYP_RANG_KEY
return TYP_RANG_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_UNIT_KEY"))
#ifdef TYP_UNIT_KEY
return TYP_UNIT_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_DISP_KEY"))
#ifdef TYP_DISP_KEY
return TYP_DISP_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_HDUID_KEY"))
#ifdef TYP_HDUID_KEY
return TYP_HDUID_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_CKSUM_KEY"))
#ifdef TYP_CKSUM_KEY
return TYP_CKSUM_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_WCS_KEY"))
#ifdef TYP_WCS_KEY
return TYP_WCS_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_REFSYS_KEY"))
#ifdef TYP_REFSYS_KEY
return TYP_REFSYS_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_COMM_KEY"))
#ifdef TYP_COMM_KEY
return TYP_COMM_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_CONT_KEY"))
#ifdef TYP_CONT_KEY
return TYP_CONT_KEY;
#else
goto not_there;
#endif
if (strEQ(name, "TYP_USER_KEY"))
#ifdef TYP_USER_KEY
return TYP_USER_KEY;
#else
goto not_there;
#endif
break;
case 'U':
if (strEQ(name, "ULONG_IMG"))
#ifdef ULONG_IMG
return ULONG_IMG;
#else
goto not_there;
#endif
if (strEQ(name, "UNKNOWN_EXT"))
#ifdef UNKNOWN_EXT
return UNKNOWN_EXT;
#else
goto not_there;
#endif
if (strEQ(name, "UNKNOWN_REC"))
#ifdef UNKNOWN_REC
return UNKNOWN_REC;
#else
goto not_there;
#endif
if (strEQ(name, "URL_PARSE_ERROR"))
#ifdef URL_PARSE_ERROR
return URL_PARSE_ERROR;
#else
goto not_there;
#endif
if (strEQ(name, "USE_MEM_BUFF"))
#ifdef USE_MEM_BUFF
return USE_MEM_BUFF;
#else
goto not_there;
#endif
if (strEQ(name, "USHORT_IMG"))
#ifdef USHORT_IMG
return USHORT_IMG;
#else
goto not_there;
#endif
break;
case 'V':
if (strEQ(name, "VALIDSTRUC"))
#ifdef VALIDSTRUC
return VALIDSTRUC;
#else
goto not_there;
#endif
if (strEQ(name, "VALUE_UNDEFINED"))
#ifdef VALUE_UNDEFINED
return VALUE_UNDEFINED;
#else
goto not_there;
#endif
break;
case 'W':
if (strEQ(name, "WCS_ERROR"))
#ifdef WCS_ERROR
return WCS_ERROR;
#else
goto not_there;
#endif
if (strEQ(name, "WRITE_ERROR"))
#ifdef WRITE_ERROR
return WRITE_ERROR;
#else
goto not_there;
#endif
break;
case 'X':
break;
case 'Y':
break;
case 'Z':
if (strEQ(name, "ZERO_SCALE"))
#ifdef ZERO_SCALE
return ZERO_SCALE;
#else
goto not_there;
#endif
break;
}
errno = EINVAL;
return 0;
not_there:
errno = ENOENT;
return 0;
}
#define NewFitsFile(fptr) \
do \
{ New(0, fptr, 1, FitsFile);\
fptr->perlyunpacking = -1;\
fptr->is_open = 1;\
} while(0)
SvGROW(arg, data_length);
memcpy(SvPV(arg,PL_na), var, data_length);
return;
}
/*
* Takes a pointer to a single value of any given type, puts
* that value into the passed Perl scalar
*
* Note that type TSTRING does _not_ imply a (char **) was passed,
* but rather a (char *).
*/
void unpackScalar(SV * arg, void * var, int datatype) {
SV* tmp_sv[2];
if (var == NULL) {
sv_setpvn(arg,"",0);
return;
}
switch (datatype) {
( run in 0.361 second using v1.01-cache-2.11-cpan-0a987023a57 )