github.com/sbinet/go-cfitsio@v0.0.0-20140625105338-0307f985659e/error.go (about) 1 package cfitsio 2 3 // #include <stdlib.h> 4 // #include <string.h> 5 // #include "go-cfitsio.h" 6 // #include "go-cfitsio-utils.h" 7 import "C" 8 9 import ( 10 "fmt" 11 "unsafe" 12 ) 13 14 // Error is a CFITSIO error status code 15 type Error int 16 17 func (err Error) Error() string { 18 c_err := C.CStringN(C.FLEN_ERRMSG) 19 defer C.free(unsafe.Pointer(c_err)) 20 C.ffgerr(C.int(err), c_err) 21 return fmt.Sprintf("cfitsio (err=%v) %q", int(err), C.GoString(c_err)) 22 } 23 24 // Return a descriptive text string (30 char max.) corresponding to a CFITSIO error status code. 25 func to_err(sc C.int) error { 26 return Error(int(sc)) 27 } 28 29 var ( 30 CREATE_DISK_FILE Error = C.CREATE_DISK_FILE 31 OPEN_DISK_FILE Error = C.OPEN_DISK_FILE 32 SKIP_TABLE Error = C.SKIP_TABLE 33 SKIP_IMAGE Error = C.SKIP_IMAGE 34 SKIP_NULL_PRIMARY Error = C.SKIP_NULL_PRIMARY 35 USE_MEM_BUFF Error = C.USE_MEM_BUFF 36 OVERFLOW_ERR Error = C.OVERFLOW_ERR 37 PREPEND_PRIMARY Error = C.PREPEND_PRIMARY 38 SAME_FILE Error = C.SAME_FILE 39 TOO_MANY_FILES Error = C.TOO_MANY_FILES 40 FILE_NOT_OPENED Error = C.FILE_NOT_OPENED 41 FILE_NOT_CREATED Error = C.FILE_NOT_CREATED 42 WRITE_ERROR Error = C.WRITE_ERROR 43 END_OF_FILE Error = C.END_OF_FILE 44 READ_ERROR Error = C.READ_ERROR 45 FILE_NOT_CLOSED Error = C.FILE_NOT_CLOSED 46 ARRAY_TOO_BIG Error = C.ARRAY_TOO_BIG 47 READONLY_FILE Error = C.READONLY_FILE 48 MEMORY_ALLOCATION Error = C.MEMORY_ALLOCATION 49 BAD_FILEPTR Error = C.BAD_FILEPTR 50 NULL_INPUT_PTR Error = C.NULL_INPUT_PTR 51 SEEK_ERROR Error = C.SEEK_ERROR 52 53 BAD_URL_PREFIX Error = C.BAD_URL_PREFIX 54 TOO_MANY_DRIVERS Error = C.TOO_MANY_DRIVERS 55 DRIVER_INIT_FAILED Error = C.DRIVER_INIT_FAILED 56 NO_MATCHING_DRIVER Error = C.NO_MATCHING_DRIVER 57 URL_PARSE_ERROR Error = C.URL_PARSE_ERROR 58 RANGE_PARSE_ERROR Error = C.RANGE_PARSE_ERROR 59 60 SHARED_ERRBASE Error = C.SHARED_ERRBASE 61 SHARED_BADARG Error = C.SHARED_BADARG 62 SHARED_NULPTR Error = C.SHARED_NULPTR 63 SHARED_TABFULL Error = C.SHARED_TABFULL 64 SHARED_NOTINIT Error = C.SHARED_NOTINIT 65 SHARED_IPCERR Error = C.SHARED_IPCERR 66 SHARED_NOMEM Error = C.SHARED_NOMEM 67 SHARED_AGAIN Error = C.SHARED_AGAIN 68 SHARED_NOFILE Error = C.SHARED_NOFILE 69 SHARED_NORESIZE Error = C.SHARED_NORESIZE 70 71 HEADER_NOT_EMPTY Error = C.HEADER_NOT_EMPTY 72 KEY_NO_EXIST Error = C.KEY_NO_EXIST 73 KEY_OUT_BOUNDS Error = C.KEY_OUT_BOUNDS 74 VALUE_UNDEFINED Error = C.VALUE_UNDEFINED 75 NO_QUOTE Error = C.NO_QUOTE 76 BAD_INDEX_KEY Error = C.BAD_INDEX_KEY 77 BAD_KEYCHAR Error = C.BAD_KEYCHAR 78 BAD_ORDER Error = C.BAD_ORDER 79 NOT_POS_INT Error = C.NOT_POS_INT 80 NO_END Error = C.NO_END 81 BAD_BITPIX Error = C.BAD_BITPIX 82 BAD_NAXIS Error = C.BAD_NAXIS 83 BAD_NAXES Error = C.BAD_NAXES 84 BAD_PCOUNT Error = C.BAD_PCOUNT 85 BAD_GCOUNT Error = C.BAD_GCOUNT 86 BAD_TFIELDS Error = C.BAD_TFIELDS 87 NEG_WIDTH Error = C.NEG_WIDTH 88 NEG_ROWS Error = C.NEG_ROWS 89 COL_NOT_FOUND Error = C.COL_NOT_FOUND 90 BAD_SIMPLE Error = C.BAD_SIMPLE 91 NO_SIMPLE Error = C.NO_SIMPLE 92 NO_BITPIX Error = C.NO_BITPIX 93 NO_NAXIS Error = C.NO_NAXIS 94 NO_NAXES Error = C.NO_NAXES 95 NO_XTENSION Error = C.NO_XTENSION 96 NOT_ATABLE Error = C.NOT_ATABLE 97 NOT_BTABLE Error = C.NOT_BTABLE 98 NO_PCOUNT Error = C.NO_PCOUNT 99 NO_GCOUNT Error = C.NO_GCOUNT 100 NO_TFIELDS Error = C.NO_TFIELDS 101 NO_TBCOL Error = C.NO_TBCOL 102 NO_TFORM Error = C.NO_TFORM 103 NOT_IMAGE Error = C.NOT_IMAGE 104 BAD_TBCOL Error = C.BAD_TBCOL 105 NOT_TABLE Error = C.NOT_TABLE 106 COL_TOO_WIDE Error = C.COL_TOO_WIDE 107 COL_NOT_UNIQUE Error = C.COL_NOT_UNIQUE 108 BAD_ROW_WIDTH Error = C.BAD_ROW_WIDTH 109 UNKNOWN_EXT Error = C.UNKNOWN_EXT 110 UNKNOWN_REC Error = C.UNKNOWN_REC 111 END_JUNK Error = C.END_JUNK 112 BAD_HEADER_FILL Error = C.BAD_HEADER_FILL 113 BAD_DATA_FILL Error = C.BAD_DATA_FILL 114 BAD_TFORM Error = C.BAD_TFORM 115 BAD_TFORM_DTYPE Error = C.BAD_TFORM_DTYPE 116 BAD_TDIM Error = C.BAD_TDIM 117 BAD_HEAP_PTR Error = C.BAD_HEAP_PTR 118 119 BAD_HDU_NUM Error = C.BAD_HDU_NUM 120 BAD_COL_NUM Error = C.BAD_COL_NUM 121 NEG_FILE_POS Error = C.NEG_FILE_POS 122 NEG_BYTES Error = C.NEG_BYTES 123 BAD_ROW_NUM Error = C.BAD_ROW_NUM 124 BAD_ELEM_NUM Error = C.BAD_ELEM_NUM 125 NOT_ASCII_COL Error = C.NOT_ASCII_COL 126 NOT_LOGICAL_COL Error = C.NOT_LOGICAL_COL 127 BAD_ATABLE_FORMAT Error = C.BAD_ATABLE_FORMAT 128 BAD_BTABLE_FORMAT Error = C.BAD_BTABLE_FORMAT 129 NO_NULL Error = C.NO_NULL 130 NOT_VARI_LEN Error = C.NOT_VARI_LEN 131 BAD_DIMEN Error = C.BAD_DIMEN 132 BAD_PIX_NUM Error = C.BAD_PIX_NUM 133 ZERO_SCALE Error = C.ZERO_SCALE 134 NEG_AXIS Error = C.NEG_AXIS 135 136 NOT_GROUP_TABLE Error = C.NOT_GROUP_TABLE 137 HDU_ALREADY_MEMBER Error = C.HDU_ALREADY_MEMBER 138 MEMBER_NOT_FOUND Error = C.MEMBER_NOT_FOUND 139 GROUP_NOT_FOUND Error = C.GROUP_NOT_FOUND 140 BAD_GROUP_ID Error = C.BAD_GROUP_ID 141 TOO_MANY_HDUS_TRACKED Error = C.TOO_MANY_HDUS_TRACKED 142 HDU_ALREADY_TRACKED Error = C.HDU_ALREADY_TRACKED 143 BAD_OPTION Error = C.BAD_OPTION 144 IDENTICAL_POINTERS Error = C.IDENTICAL_POINTERS 145 BAD_GROUP_ATTACH Error = C.BAD_GROUP_ATTACH 146 BAD_GROUP_DETACH Error = C.BAD_GROUP_DETACH 147 148 BAD_I2C Error = C.BAD_I2C 149 BAD_F2C Error = C.BAD_F2C 150 BAD_INTKEY Error = C.BAD_INTKEY 151 BAD_LOGICALKEY Error = C.BAD_LOGICALKEY 152 BAD_FLOATKEY Error = C.BAD_FLOATKEY 153 BAD_DOUBLEKEY Error = C.BAD_DOUBLEKEY 154 BAD_C2I Error = C.BAD_C2I 155 BAD_C2F Error = C.BAD_C2F 156 BAD_C2D Error = C.BAD_C2D 157 BAD_DATATYPE Error = C.BAD_DATATYPE 158 BAD_DECIM Error = C.BAD_DECIM 159 NUM_OVERFLOW Error = C.NUM_OVERFLOW 160 161 DATA_COMPRESSION_ERR Error = C.DATA_COMPRESSION_ERR 162 DATA_DECOMPRESSION_ERR Error = C.DATA_DECOMPRESSION_ERR 163 NO_COMPRESSED_TILE Error = C.NO_COMPRESSED_TILE 164 165 BAD_DATE Error = C.BAD_DATE 166 167 PARSE_SYNTAX_ERR Error = C.PARSE_SYNTAX_ERR 168 PARSE_BAD_TYPE Error = C.PARSE_BAD_TYPE 169 PARSE_LRG_VECTOR Error = C.PARSE_LRG_VECTOR 170 PARSE_NO_OUTPUT Error = C.PARSE_NO_OUTPUT 171 PARSE_BAD_COL Error = C.PARSE_BAD_COL 172 PARSE_BAD_OUTPUT Error = C.PARSE_BAD_OUTPUT 173 174 ANGLE_TOO_BIG Error = C.ANGLE_TOO_BIG 175 BAD_WCS_VAL Error = C.BAD_WCS_VAL 176 WCS_ERROR Error = C.WCS_ERROR 177 BAD_WCS_PROJ Error = C.BAD_WCS_PROJ 178 NO_WCS_KEY Error = C.NO_WCS_KEY 179 APPROX_WCS_KEY Error = C.APPROX_WCS_KEY 180 181 NO_CLOSE_ERROR Error = C.NO_CLOSE_ERROR 182 183 /*------- following error codes are used in the grparser.c file -----------*/ 184 NGP_ERRBASE Error = C.NGP_ERRBASE 185 NGP_OK Error = C.NGP_OK 186 NGP_NO_MEMORY Error = C.NGP_NO_MEMORY 187 NGP_READ_ERR Error = C.NGP_READ_ERR 188 NGP_NUL_PTR Error = C.NGP_NUL_PTR 189 NGP_EMPTY_CURLINE Error = C.NGP_EMPTY_CURLINE 190 NGP_UNREAD_QUEUE_FULL Error = C.NGP_UNREAD_QUEUE_FULL 191 NGP_INC_NESTING Error = C.NGP_INC_NESTING 192 NGP_ERR_FOPEN Error = C.NGP_ERR_FOPEN 193 NGP_EOF Error = C.NGP_EOF 194 NGP_BAD_ARG Error = C.NGP_BAD_ARG 195 NGP_TOKEN_NOT_EXPECT Error = C.NGP_TOKEN_NOT_EXPECT 196 ) 197 198 // eof