| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Astro::FITS::CFITSIO; | 
| 2 |  |  |  |  |  |  | $VERSION = '1.16'; | 
| 3 |  |  |  |  |  |  |  | 
| 4 | 1 |  |  | 1 |  | 816 | use strict; | 
|  | 1 |  |  |  |  | 6 |  | 
|  | 1 |  |  |  |  | 30 |  | 
| 5 | 1 |  |  | 1 |  | 5 | use Carp; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 65 |  | 
| 6 | 1 |  |  | 1 |  | 6 | use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD); | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 1196 |  | 
| 7 |  |  |  |  |  |  |  | 
| 8 |  |  |  |  |  |  | require Exporter; | 
| 9 |  |  |  |  |  |  | require DynaLoader; | 
| 10 |  |  |  |  |  |  | require AutoLoader; | 
| 11 |  |  |  |  |  |  |  | 
| 12 |  |  |  |  |  |  | @ISA = qw(Exporter DynaLoader); | 
| 13 |  |  |  |  |  |  |  | 
| 14 |  |  |  |  |  |  | my @__names_no_short = qw( | 
| 15 |  |  |  |  |  |  | fits_get_compression_type | 
| 16 |  |  |  |  |  |  | fits_set_compression_type | 
| 17 |  |  |  |  |  |  | fits_get_noise_bits | 
| 18 |  |  |  |  |  |  | fits_set_noise_bits | 
| 19 |  |  |  |  |  |  | fits_get_tile_dim | 
| 20 |  |  |  |  |  |  | fits_set_tile_dim | 
| 21 |  |  |  |  |  |  | fits_translate_keyword | 
| 22 |  |  |  |  |  |  | fits_translate_keywords | 
| 23 |  |  |  |  |  |  | fits_copy_cell2image | 
| 24 |  |  |  |  |  |  | fits_copy_image2cell | 
| 25 |  |  |  |  |  |  | ); | 
| 26 |  |  |  |  |  |  |  | 
| 27 |  |  |  |  |  |  | # perl -nle "next unless /^\s*#define\s+fits_/; (undef,\$l,\$s) = split ' '; print \"\$s => '\$l',\"" /usr/local/cfitsio/longnam.h | 
| 28 |  |  |  |  |  |  |  | 
| 29 |  |  |  |  |  |  | my %__names = ( | 
| 30 |  |  |  |  |  |  | ffiurl => 'fits_parse_input_url', | 
| 31 |  |  |  |  |  |  | ffifile => 'fits_parse_input_filename', | 
| 32 |  |  |  |  |  |  | ffrtnm => 'fits_parse_rootname', | 
| 33 |  |  |  |  |  |  | ffrwrg => 'fits_parse_range', | 
| 34 |  |  |  |  |  |  | ffrwrgll => 'fits_parse_rangell', | 
| 35 |  |  |  |  |  |  | ffourl => 'fits_parse_output_url', | 
| 36 |  |  |  |  |  |  | ffexts => 'fits_parse_extspec', | 
| 37 |  |  |  |  |  |  | ffextn => 'fits_parse_extnum', | 
| 38 |  |  |  |  |  |  | ffbins => 'fits_parse_binspec', | 
| 39 |  |  |  |  |  |  | ffbinr => 'fits_parse_binrange', | 
| 40 |  |  |  |  |  |  | ffdopn => 'fits_open_data', | 
| 41 |  |  |  |  |  |  | fftopn => 'fits_open_table', | 
| 42 |  |  |  |  |  |  | ffeopn => 'fits_open_extlist', | 
| 43 |  |  |  |  |  |  | ffiopn => 'fits_open_image', | 
| 44 |  |  |  |  |  |  | ffomem => 'fits_open_memfile', | 
| 45 |  |  |  |  |  |  | ffopen => 'fits_open_file', | 
| 46 |  |  |  |  |  |  | ffdkopn => 'fits_open_diskfile', | 
| 47 |  |  |  |  |  |  | ffreopen => 'fits_reopen_file', | 
| 48 |  |  |  |  |  |  | ffinit => 'fits_create_file', | 
| 49 |  |  |  |  |  |  | ffdkinit => 'fits_create_diskfile', | 
| 50 |  |  |  |  |  |  | ffimem => 'fits_create_memfile', | 
| 51 |  |  |  |  |  |  | fftplt => 'fits_create_template', | 
| 52 |  |  |  |  |  |  | ffflus => 'fits_flush_file', | 
| 53 |  |  |  |  |  |  | ffflsh => 'fits_flush_buffer', | 
| 54 |  |  |  |  |  |  | ffihtps => 'fits_init_https', | 
| 55 |  |  |  |  |  |  | ffchtps => 'fits_cleanup_https', | 
| 56 |  |  |  |  |  |  | ffvhtps => 'fits_verbose_https', | 
| 57 |  |  |  |  |  |  | ffshdwn => 'fits_show_download_progress', | 
| 58 |  |  |  |  |  |  | ffgtmo => 'fits_get_timeout', | 
| 59 |  |  |  |  |  |  | ffstmo => 'fits_set_timeout', | 
| 60 |  |  |  |  |  |  | ffclos => 'fits_close_file', | 
| 61 |  |  |  |  |  |  | ffdelt => 'fits_delete_file', | 
| 62 |  |  |  |  |  |  | ffexist => 'fits_file_exists', | 
| 63 |  |  |  |  |  |  | ffflnm => 'fits_file_name', | 
| 64 |  |  |  |  |  |  | ffflmd => 'fits_file_mode', | 
| 65 |  |  |  |  |  |  | ffurlt => 'fits_url_type', | 
| 66 |  |  |  |  |  |  | ffvers => 'fits_get_version', | 
| 67 |  |  |  |  |  |  | ffupch => 'fits_uppercase', | 
| 68 |  |  |  |  |  |  | ffgerr => 'fits_get_errstatus', | 
| 69 |  |  |  |  |  |  | ffpmsg => 'fits_write_errmsg', | 
| 70 |  |  |  |  |  |  | ffgmsg => 'fits_read_errmsg', | 
| 71 |  |  |  |  |  |  | ffcmsg => 'fits_clear_errmsg', | 
| 72 |  |  |  |  |  |  | ffrprt => 'fits_report_error', | 
| 73 |  |  |  |  |  |  | ffpmrk => 'fits_write_errmark', | 
| 74 |  |  |  |  |  |  | ffcmrk => 'fits_clear_errmark', | 
| 75 |  |  |  |  |  |  | ffcmsg => 'fits_clear_errmsg', | 
| 76 |  |  |  |  |  |  | ffcmps => 'fits_compare_str', | 
| 77 |  |  |  |  |  |  | fftkey => 'fits_test_keyword', | 
| 78 |  |  |  |  |  |  | fftrec => 'fits_test_record', | 
| 79 |  |  |  |  |  |  | ffnchk => 'fits_null_check', | 
| 80 |  |  |  |  |  |  | ffkeyn => 'fits_make_keyn', | 
| 81 |  |  |  |  |  |  | ffnkey => 'fits_make_nkey', | 
| 82 |  |  |  |  |  |  | ffmkky => 'fits_make_key', | 
| 83 |  |  |  |  |  |  | ffgkcl => 'fits_get_keyclass', | 
| 84 |  |  |  |  |  |  | ffdtyp => 'fits_get_keytype', | 
| 85 |  |  |  |  |  |  | ffpsvc => 'fits_parse_value', | 
| 86 |  |  |  |  |  |  | ffgknm => 'fits_get_keyname', | 
| 87 |  |  |  |  |  |  | ffgthd => 'fits_parse_template', | 
| 88 |  |  |  |  |  |  | ffasfm => 'fits_ascii_tform', | 
| 89 |  |  |  |  |  |  | ffbnfm => 'fits_binary_tform', | 
| 90 |  |  |  |  |  |  | ffbnfmll => 'fits_binary_tformll', | 
| 91 |  |  |  |  |  |  | ffgabc => 'fits_get_tbcol', | 
| 92 |  |  |  |  |  |  | ffgrsz => 'fits_get_rowsize', | 
| 93 |  |  |  |  |  |  | ffgcdw => 'fits_get_col_display_width', | 
| 94 |  |  |  |  |  |  | ffprec => 'fits_write_record', | 
| 95 |  |  |  |  |  |  | ffpky => 'fits_write_key', | 
| 96 |  |  |  |  |  |  | ffpunt => 'fits_write_key_unit', | 
| 97 |  |  |  |  |  |  | ffpcom => 'fits_write_comment', | 
| 98 |  |  |  |  |  |  | ffphis => 'fits_write_history', | 
| 99 |  |  |  |  |  |  | ffpdat => 'fits_write_date', | 
| 100 |  |  |  |  |  |  | ffgstm => 'fits_get_system_time', | 
| 101 |  |  |  |  |  |  | ffgsdt => 'fits_get_system_date', | 
| 102 |  |  |  |  |  |  | ffdt2s => 'fits_date2str', | 
| 103 |  |  |  |  |  |  | fftm2s => 'fits_time2str', | 
| 104 |  |  |  |  |  |  | ffs2dt => 'fits_str2date', | 
| 105 |  |  |  |  |  |  | ffs2tm => 'fits_str2time', | 
| 106 |  |  |  |  |  |  | ffpkls => 'fits_write_key_longstr', | 
| 107 |  |  |  |  |  |  | ffplsw => 'fits_write_key_longwarn', | 
| 108 |  |  |  |  |  |  | ffpkyu => 'fits_write_key_null', | 
| 109 |  |  |  |  |  |  | ffpkys => 'fits_write_key_str', | 
| 110 |  |  |  |  |  |  | ffpkyl => 'fits_write_key_log', | 
| 111 |  |  |  |  |  |  | ffpkyj => 'fits_write_key_lng', | 
| 112 |  |  |  |  |  |  | ffpkyf => 'fits_write_key_fixflt', | 
| 113 |  |  |  |  |  |  | ffpkye => 'fits_write_key_flt', | 
| 114 |  |  |  |  |  |  | ffpkyg => 'fits_write_key_fixdbl', | 
| 115 |  |  |  |  |  |  | ffpkyd => 'fits_write_key_dbl', | 
| 116 |  |  |  |  |  |  | ffpkfc => 'fits_write_key_fixcmp', | 
| 117 |  |  |  |  |  |  | ffpkyc => 'fits_write_key_cmp', | 
| 118 |  |  |  |  |  |  | ffpkfm => 'fits_write_key_fixdblcmp', | 
| 119 |  |  |  |  |  |  | ffpkym => 'fits_write_key_dblcmp', | 
| 120 |  |  |  |  |  |  | ffpkyt => 'fits_write_key_triple', | 
| 121 |  |  |  |  |  |  | ffptdm => 'fits_write_tdim', | 
| 122 |  |  |  |  |  |  | ffptdmll => 'fits_write_tdimll', | 
| 123 |  |  |  |  |  |  | ffpkns => 'fits_write_keys_str', | 
| 124 |  |  |  |  |  |  | ffpknl => 'fits_write_keys_log', | 
| 125 |  |  |  |  |  |  | ffpknj => 'fits_write_keys_lng', | 
| 126 |  |  |  |  |  |  | ffpknjj => 'fits_write_keys_lnglng', | 
| 127 |  |  |  |  |  |  | ffpknf => 'fits_write_keys_fixflt', | 
| 128 |  |  |  |  |  |  | ffpkne => 'fits_write_keys_flt', | 
| 129 |  |  |  |  |  |  | ffpkng => 'fits_write_keys_fixdbl', | 
| 130 |  |  |  |  |  |  | ffpknd => 'fits_write_keys_dbl', | 
| 131 |  |  |  |  |  |  | ffcpky => 'fits_copy_key', | 
| 132 |  |  |  |  |  |  | ffphps => 'fits_write_imghdr', | 
| 133 |  |  |  |  |  |  | ffphpsll => 'fits_write_imghdrll', | 
| 134 |  |  |  |  |  |  | ffphpr => 'fits_write_grphdr', | 
| 135 |  |  |  |  |  |  | ffphprll => 'fits_write_grphdrll', | 
| 136 |  |  |  |  |  |  | ffphtb => 'fits_write_atblhdr', | 
| 137 |  |  |  |  |  |  | ffphbn => 'fits_write_btblhdr', | 
| 138 |  |  |  |  |  |  | ffphext => 'fits_write_exthdr', | 
| 139 |  |  |  |  |  |  | ffpktp => 'fits_write_key_template', | 
| 140 |  |  |  |  |  |  | ffghsp => 'fits_get_hdrspace', | 
| 141 |  |  |  |  |  |  | ffghps => 'fits_get_hdrpos', | 
| 142 |  |  |  |  |  |  | ffmaky => 'fits_movabs_key', | 
| 143 |  |  |  |  |  |  | ffmrky => 'fits_movrel_key', | 
| 144 |  |  |  |  |  |  | ffgnxk => 'fits_find_nextkey', | 
| 145 |  |  |  |  |  |  | ffgrec => 'fits_read_record', | 
| 146 |  |  |  |  |  |  | ffgcrd => 'fits_read_card', | 
| 147 |  |  |  |  |  |  | ffgunt => 'fits_read_key_unit', | 
| 148 |  |  |  |  |  |  | ffgkyn => 'fits_read_keyn', | 
| 149 |  |  |  |  |  |  | ffgstr => 'fits_read_str', | 
| 150 |  |  |  |  |  |  | ffgksl => 'fits_read_key_strlen', | 
| 151 |  |  |  |  |  |  | ffgsky => 'fits_read_string_key', | 
| 152 |  |  |  |  |  |  | ffdstr => 'fits_delete_str', | 
| 153 |  |  |  |  |  |  | ffgky => 'fits_read_key', | 
| 154 |  |  |  |  |  |  | ffgkey => 'fits_read_keyword', | 
| 155 |  |  |  |  |  |  | ffgkys => 'fits_read_key_str', | 
| 156 |  |  |  |  |  |  | ffgkyl => 'fits_read_key_log', | 
| 157 |  |  |  |  |  |  | ffgkyj => 'fits_read_key_lng', | 
| 158 |  |  |  |  |  |  | ffgkye => 'fits_read_key_flt', | 
| 159 |  |  |  |  |  |  | ffgkyd => 'fits_read_key_dbl', | 
| 160 |  |  |  |  |  |  | ffgkyc => 'fits_read_key_cmp', | 
| 161 |  |  |  |  |  |  | ffgkym => 'fits_read_key_dblcmp', | 
| 162 |  |  |  |  |  |  | ffgkyt => 'fits_read_key_triple', | 
| 163 |  |  |  |  |  |  | ffgkls => 'fits_read_key_longstr', | 
| 164 |  |  |  |  |  |  | fffree => 'fits_free_memory', | 
| 165 |  |  |  |  |  |  | ffhdr2str => 'fits_hdr2str', | 
| 166 |  |  |  |  |  |  | ffcnvthdr2str => 'fits_convert_hdr2str', | 
| 167 |  |  |  |  |  |  | ffgtdm => 'fits_read_tdim', | 
| 168 |  |  |  |  |  |  | ffgtdmll => 'fits_read_tdimll', | 
| 169 |  |  |  |  |  |  | ffdtdm => 'fits_decode_tdim', | 
| 170 |  |  |  |  |  |  | ffdtdmll => 'fits_decode_tdimll', | 
| 171 |  |  |  |  |  |  | ffgkns => 'fits_read_keys_str', | 
| 172 |  |  |  |  |  |  | ffgknl => 'fits_read_keys_log', | 
| 173 |  |  |  |  |  |  | ffgknj => 'fits_read_keys_lng', | 
| 174 |  |  |  |  |  |  | ffgknjj => 'fits_read_keys_lnglng', | 
| 175 |  |  |  |  |  |  | ffgkne => 'fits_read_keys_flt', | 
| 176 |  |  |  |  |  |  | ffgknd => 'fits_read_keys_dbl', | 
| 177 |  |  |  |  |  |  | ffghpr => 'fits_read_imghdr', | 
| 178 |  |  |  |  |  |  | ffghprll => 'fits_read_imghdrll', | 
| 179 |  |  |  |  |  |  | ffghtb => 'fits_read_atblhdr', | 
| 180 |  |  |  |  |  |  | ffghtbll => 'fits_read_atblhdrll', | 
| 181 |  |  |  |  |  |  | ffghbn => 'fits_read_btblhdr', | 
| 182 |  |  |  |  |  |  | ffghbnll => 'fits_read_btblhdrll', | 
| 183 |  |  |  |  |  |  | ffh2st => 'fits_header2str', | 
| 184 |  |  |  |  |  |  | ffucrd => 'fits_update_card', | 
| 185 |  |  |  |  |  |  | ffuky => 'fits_update_key', | 
| 186 |  |  |  |  |  |  | ffukyu => 'fits_update_key_null', | 
| 187 |  |  |  |  |  |  | ffukys => 'fits_update_key_str', | 
| 188 |  |  |  |  |  |  | ffukls => 'fits_update_key_longstr', | 
| 189 |  |  |  |  |  |  | ffukyl => 'fits_update_key_log', | 
| 190 |  |  |  |  |  |  | ffukyj => 'fits_update_key_lng', | 
| 191 |  |  |  |  |  |  | ffukyf => 'fits_update_key_fixflt', | 
| 192 |  |  |  |  |  |  | ffukye => 'fits_update_key_flt', | 
| 193 |  |  |  |  |  |  | ffukyg => 'fits_update_key_fixdbl', | 
| 194 |  |  |  |  |  |  | ffukyd => 'fits_update_key_dbl', | 
| 195 |  |  |  |  |  |  | ffukfc => 'fits_update_key_fixcmp', | 
| 196 |  |  |  |  |  |  | ffukyc => 'fits_update_key_cmp', | 
| 197 |  |  |  |  |  |  | ffukfm => 'fits_update_key_fixdblcmp', | 
| 198 |  |  |  |  |  |  | ffukym => 'fits_update_key_dblcmp', | 
| 199 |  |  |  |  |  |  | ffmrec => 'fits_modify_record', | 
| 200 |  |  |  |  |  |  | ffmcrd => 'fits_modify_card', | 
| 201 |  |  |  |  |  |  | ffmnam => 'fits_modify_name', | 
| 202 |  |  |  |  |  |  | ffmcom => 'fits_modify_comment', | 
| 203 |  |  |  |  |  |  | ffmkyu => 'fits_modify_key_null', | 
| 204 |  |  |  |  |  |  | ffmkys => 'fits_modify_key_str', | 
| 205 |  |  |  |  |  |  | ffmkls => 'fits_modify_key_longstr', | 
| 206 |  |  |  |  |  |  | ffmkyl => 'fits_modify_key_log', | 
| 207 |  |  |  |  |  |  | ffmkyj => 'fits_modify_key_lng', | 
| 208 |  |  |  |  |  |  | ffmkyf => 'fits_modify_key_fixflt', | 
| 209 |  |  |  |  |  |  | ffmkye => 'fits_modify_key_flt', | 
| 210 |  |  |  |  |  |  | ffmkyg => 'fits_modify_key_fixdbl', | 
| 211 |  |  |  |  |  |  | ffmkyd => 'fits_modify_key_dbl', | 
| 212 |  |  |  |  |  |  | ffmkfc => 'fits_modify_key_fixcmp', | 
| 213 |  |  |  |  |  |  | ffmkyc => 'fits_modify_key_cmp', | 
| 214 |  |  |  |  |  |  | ffmkfm => 'fits_modify_key_fixdblcmp', | 
| 215 |  |  |  |  |  |  | ffmkym => 'fits_modify_key_dblcmp', | 
| 216 |  |  |  |  |  |  | ffikey => 'fits_insert_card', | 
| 217 |  |  |  |  |  |  | ffirec => 'fits_insert_record', | 
| 218 |  |  |  |  |  |  | ffikyu => 'fits_insert_key_null', | 
| 219 |  |  |  |  |  |  | ffikys => 'fits_insert_key_str', | 
| 220 |  |  |  |  |  |  | ffikls => 'fits_insert_key_longstr', | 
| 221 |  |  |  |  |  |  | ffikyl => 'fits_insert_key_log', | 
| 222 |  |  |  |  |  |  | ffikyj => 'fits_insert_key_lng', | 
| 223 |  |  |  |  |  |  | ffikyf => 'fits_insert_key_fixflt', | 
| 224 |  |  |  |  |  |  | ffikye => 'fits_insert_key_flt', | 
| 225 |  |  |  |  |  |  | ffikyg => 'fits_insert_key_fixdbl', | 
| 226 |  |  |  |  |  |  | ffikyd => 'fits_insert_key_dbl', | 
| 227 |  |  |  |  |  |  | ffikfc => 'fits_insert_key_fixcmp', | 
| 228 |  |  |  |  |  |  | ffikyc => 'fits_insert_key_cmp', | 
| 229 |  |  |  |  |  |  | ffikfm => 'fits_insert_key_fixdblcmp', | 
| 230 |  |  |  |  |  |  | ffikym => 'fits_insert_key_dblcmp', | 
| 231 |  |  |  |  |  |  | ffdkey => 'fits_delete_key', | 
| 232 |  |  |  |  |  |  | ffdrec => 'fits_delete_record', | 
| 233 |  |  |  |  |  |  | ffghdn => 'fits_get_hdu_num', | 
| 234 |  |  |  |  |  |  | ffghdt => 'fits_get_hdu_type', | 
| 235 |  |  |  |  |  |  | ffghad => 'fits_get_hduaddr', | 
| 236 |  |  |  |  |  |  | ffghadll => 'fits_get_hduaddrll', | 
| 237 |  |  |  |  |  |  | ffghof => 'fits_get_hduoff', | 
| 238 |  |  |  |  |  |  | ffgipr => 'fits_get_img_param', | 
| 239 |  |  |  |  |  |  | ffgiprll => 'fits_get_img_paramll', | 
| 240 |  |  |  |  |  |  | ffgidt => 'fits_get_img_type', | 
| 241 |  |  |  |  |  |  | ffinttyp => 'fits_get_inttype', | 
| 242 |  |  |  |  |  |  | ffgiet => 'fits_get_img_equivtype', | 
| 243 |  |  |  |  |  |  | ffgidm => 'fits_get_img_dim', | 
| 244 |  |  |  |  |  |  | ffgisz => 'fits_get_img_size', | 
| 245 |  |  |  |  |  |  | ffgiszll => 'fits_get_img_sizell', | 
| 246 |  |  |  |  |  |  | ffmahd => 'fits_movabs_hdu', | 
| 247 |  |  |  |  |  |  | ffmrhd => 'fits_movrel_hdu', | 
| 248 |  |  |  |  |  |  | ffmnhd => 'fits_movnam_hdu', | 
| 249 |  |  |  |  |  |  | ffthdu => 'fits_get_num_hdus', | 
| 250 |  |  |  |  |  |  | ffcrim => 'fits_create_img', | 
| 251 |  |  |  |  |  |  | ffcrimll => 'fits_create_imgll', | 
| 252 |  |  |  |  |  |  | ffcrtb => 'fits_create_tbl', | 
| 253 |  |  |  |  |  |  | ffcpht => 'fits_copy_hdutab', | 
| 254 |  |  |  |  |  |  | ffcrhd => 'fits_create_hdu', | 
| 255 |  |  |  |  |  |  | ffiimg => 'fits_insert_img', | 
| 256 |  |  |  |  |  |  | ffiimgll => 'fits_insert_imgll', | 
| 257 |  |  |  |  |  |  | ffitab => 'fits_insert_atbl', | 
| 258 |  |  |  |  |  |  | ffibin => 'fits_insert_btbl', | 
| 259 |  |  |  |  |  |  | ffrsim => 'fits_resize_img', | 
| 260 |  |  |  |  |  |  | ffrsimll => 'fits_resize_imgll', | 
| 261 |  |  |  |  |  |  | ffdhdu => 'fits_delete_hdu', | 
| 262 |  |  |  |  |  |  | ffcpfl => 'fits_copy_file', | 
| 263 |  |  |  |  |  |  | ffcopy => 'fits_copy_hdu', | 
| 264 |  |  |  |  |  |  | ffcphd => 'fits_copy_header', | 
| 265 |  |  |  |  |  |  | ffcpdt => 'fits_copy_data', | 
| 266 |  |  |  |  |  |  | ffwrhdu => 'fits_write_hdu', | 
| 267 |  |  |  |  |  |  | ffrdef => 'fits_set_hdustruc', | 
| 268 |  |  |  |  |  |  | ffhdef => 'fits_set_hdrsize', | 
| 269 |  |  |  |  |  |  | ffpthp => 'fits_write_theap', | 
| 270 |  |  |  |  |  |  | ffesum => 'fits_encode_chksum', | 
| 271 |  |  |  |  |  |  | ffdsum => 'fits_decode_chksum', | 
| 272 |  |  |  |  |  |  | ffpcks => 'fits_write_chksum', | 
| 273 |  |  |  |  |  |  | ffupck => 'fits_update_chksum', | 
| 274 |  |  |  |  |  |  | ffvcks => 'fits_verify_chksum', | 
| 275 |  |  |  |  |  |  | ffgcks => 'fits_get_chksum', | 
| 276 |  |  |  |  |  |  | ffpscl => 'fits_set_bscale', | 
| 277 |  |  |  |  |  |  | fftscl => 'fits_set_tscale', | 
| 278 |  |  |  |  |  |  | ffpnul => 'fits_set_imgnull', | 
| 279 |  |  |  |  |  |  | fftnul => 'fits_set_btblnull', | 
| 280 |  |  |  |  |  |  | ffsnul => 'fits_set_atblnull', | 
| 281 |  |  |  |  |  |  | ffgcno => 'fits_get_colnum', | 
| 282 |  |  |  |  |  |  | ffgcnn => 'fits_get_colname', | 
| 283 |  |  |  |  |  |  | ffgtcl => 'fits_get_coltype', | 
| 284 |  |  |  |  |  |  | ffgtclll => 'fits_get_coltypell', | 
| 285 |  |  |  |  |  |  | ffeqty => 'fits_get_eqcoltype', | 
| 286 |  |  |  |  |  |  | ffeqtyll => 'fits_get_eqcoltypell', | 
| 287 |  |  |  |  |  |  | ffgnrw => 'fits_get_num_rows', | 
| 288 |  |  |  |  |  |  | ffgnrwll => 'fits_get_num_rowsll', | 
| 289 |  |  |  |  |  |  | ffgncl => 'fits_get_num_cols', | 
| 290 |  |  |  |  |  |  | ffgacl => 'fits_get_acolparms', | 
| 291 |  |  |  |  |  |  | ffgbcl => 'fits_get_bcolparms', | 
| 292 |  |  |  |  |  |  | ffgbclll => 'fits_get_bcolparmsll', | 
| 293 |  |  |  |  |  |  | ffiter => 'fits_iterate_data', | 
| 294 |  |  |  |  |  |  | ffggpb => 'fits_read_grppar_byt', | 
| 295 |  |  |  |  |  |  | ffggpb => 'fits_read_grppar_sbyt', | 
| 296 |  |  |  |  |  |  | ffggpui => 'fits_read_grppar_usht', | 
| 297 |  |  |  |  |  |  | ffggpuj => 'fits_read_grppar_ulng', | 
| 298 |  |  |  |  |  |  | ffggpi => 'fits_read_grppar_sht', | 
| 299 |  |  |  |  |  |  | ffggpj => 'fits_read_grppar_lng', | 
| 300 |  |  |  |  |  |  | ffggpjj => 'fits_read_grppar_lnglng', | 
| 301 |  |  |  |  |  |  | ffggpk => 'fits_read_grppar_int', | 
| 302 |  |  |  |  |  |  | ffggpuk => 'fits_read_grppar_uint', | 
| 303 |  |  |  |  |  |  | ffggpe => 'fits_read_grppar_flt', | 
| 304 |  |  |  |  |  |  | ffggpd => 'fits_read_grppar_dbl', | 
| 305 |  |  |  |  |  |  | ffgpxv => 'fits_read_pix', | 
| 306 |  |  |  |  |  |  | ffgpxvll => 'fits_read_pixll', | 
| 307 |  |  |  |  |  |  | ffgpxf => 'fits_read_pixnull', | 
| 308 |  |  |  |  |  |  | ffgpxfll => 'fits_read_pixnullll', | 
| 309 |  |  |  |  |  |  | ffgpv => 'fits_read_img', | 
| 310 |  |  |  |  |  |  | ffgpf => 'fits_read_imgnull', | 
| 311 |  |  |  |  |  |  | ffgpvb => 'fits_read_img_byt', | 
| 312 |  |  |  |  |  |  | ffgpvsb => 'fits_read_img_sbyt', | 
| 313 |  |  |  |  |  |  | ffgpvui => 'fits_read_img_usht', | 
| 314 |  |  |  |  |  |  | ffgpvuj => 'fits_read_img_ulng', | 
| 315 |  |  |  |  |  |  | ffgpvi => 'fits_read_img_sht', | 
| 316 |  |  |  |  |  |  | ffgpvj => 'fits_read_img_lng', | 
| 317 |  |  |  |  |  |  | ffgpvjj => 'fits_read_img_lnglng', | 
| 318 |  |  |  |  |  |  | ffgpvuk => 'fits_read_img_uint', | 
| 319 |  |  |  |  |  |  | ffgpvk => 'fits_read_img_int', | 
| 320 |  |  |  |  |  |  | ffgpve => 'fits_read_img_flt', | 
| 321 |  |  |  |  |  |  | ffgpvd => 'fits_read_img_dbl', | 
| 322 |  |  |  |  |  |  | ffgpfb => 'fits_read_imgnull_byt', | 
| 323 |  |  |  |  |  |  | ffgpfsb => 'fits_read_imgnull_sbyt', | 
| 324 |  |  |  |  |  |  | ffgpfui => 'fits_read_imgnull_usht', | 
| 325 |  |  |  |  |  |  | ffgpfuj => 'fits_read_imgnull_ulng', | 
| 326 |  |  |  |  |  |  | ffgpfi => 'fits_read_imgnull_sht', | 
| 327 |  |  |  |  |  |  | ffgpfj => 'fits_read_imgnull_lng', | 
| 328 |  |  |  |  |  |  | ffgpfjj => 'fits_read_imgnull_lnglng', | 
| 329 |  |  |  |  |  |  | ffgpfuk => 'fits_read_imgnull_uint', | 
| 330 |  |  |  |  |  |  | ffgpfk => 'fits_read_imgnull_int', | 
| 331 |  |  |  |  |  |  | ffgpfe => 'fits_read_imgnull_flt', | 
| 332 |  |  |  |  |  |  | ffgpfd => 'fits_read_imgnull_dbl', | 
| 333 |  |  |  |  |  |  | ffg2db => 'fits_read_2d_byt', | 
| 334 |  |  |  |  |  |  | ffg2dsb => 'fits_read_2d_sbyt', | 
| 335 |  |  |  |  |  |  | ffg2dui => 'fits_read_2d_usht', | 
| 336 |  |  |  |  |  |  | ffg2duj => 'fits_read_2d_ulng', | 
| 337 |  |  |  |  |  |  | ffg2di => 'fits_read_2d_sht', | 
| 338 |  |  |  |  |  |  | ffg2dj => 'fits_read_2d_lng', | 
| 339 |  |  |  |  |  |  | ffg2djj => 'fits_read_2d_lnglng', | 
| 340 |  |  |  |  |  |  | ffg2duk => 'fits_read_2d_uint', | 
| 341 |  |  |  |  |  |  | ffg2dk => 'fits_read_2d_int', | 
| 342 |  |  |  |  |  |  | ffg2de => 'fits_read_2d_flt', | 
| 343 |  |  |  |  |  |  | ffg2dd => 'fits_read_2d_dbl', | 
| 344 |  |  |  |  |  |  | ffg3db => 'fits_read_3d_byt', | 
| 345 |  |  |  |  |  |  | ffg3dsb => 'fits_read_3d_sbyt', | 
| 346 |  |  |  |  |  |  | ffg3dui => 'fits_read_3d_usht', | 
| 347 |  |  |  |  |  |  | ffg3duj => 'fits_read_3d_ulng', | 
| 348 |  |  |  |  |  |  | ffg3di => 'fits_read_3d_sht', | 
| 349 |  |  |  |  |  |  | ffg3dj => 'fits_read_3d_lng', | 
| 350 |  |  |  |  |  |  | ffg3dj => 'fits_read_3d_lnglng', | 
| 351 |  |  |  |  |  |  | ffg3duk => 'fits_read_3d_uint', | 
| 352 |  |  |  |  |  |  | ffg3dk => 'fits_read_3d_int', | 
| 353 |  |  |  |  |  |  | ffg3de => 'fits_read_3d_flt', | 
| 354 |  |  |  |  |  |  | ffg3dd => 'fits_read_3d_dbl', | 
| 355 |  |  |  |  |  |  | ffgsv => 'fits_read_subset', | 
| 356 |  |  |  |  |  |  | ffgsvb => 'fits_read_subset_byt', | 
| 357 |  |  |  |  |  |  | ffgsvsb => 'fits_read_subset_sbyt', | 
| 358 |  |  |  |  |  |  | ffgsvui => 'fits_read_subset_usht', | 
| 359 |  |  |  |  |  |  | ffgsvuj => 'fits_read_subset_ulng', | 
| 360 |  |  |  |  |  |  | ffgsvi => 'fits_read_subset_sht', | 
| 361 |  |  |  |  |  |  | ffgsvj => 'fits_read_subset_lng', | 
| 362 |  |  |  |  |  |  | ffgsvjj => 'fits_read_subset_lnglng', | 
| 363 |  |  |  |  |  |  | ffgsvuk => 'fits_read_subset_uint', | 
| 364 |  |  |  |  |  |  | ffgsvk => 'fits_read_subset_int', | 
| 365 |  |  |  |  |  |  | ffgsve => 'fits_read_subset_flt', | 
| 366 |  |  |  |  |  |  | ffgsvd => 'fits_read_subset_dbl', | 
| 367 |  |  |  |  |  |  | ffgsfb => 'fits_read_subsetnull_byt', | 
| 368 |  |  |  |  |  |  | ffgsfsb => 'fits_read_subsetnull_sbyt', | 
| 369 |  |  |  |  |  |  | ffgsfui => 'fits_read_subsetnull_usht', | 
| 370 |  |  |  |  |  |  | ffgsfuj => 'fits_read_subsetnull_ulng', | 
| 371 |  |  |  |  |  |  | ffgsfi => 'fits_read_subsetnull_sht', | 
| 372 |  |  |  |  |  |  | ffgsfj => 'fits_read_subsetnull_lng', | 
| 373 |  |  |  |  |  |  | ffgsfjj => 'fits_read_subsetnull_lnglng', | 
| 374 |  |  |  |  |  |  | ffgsfuk => 'fits_read_subsetnull_uint', | 
| 375 |  |  |  |  |  |  | ffgsfk => 'fits_read_subsetnull_int', | 
| 376 |  |  |  |  |  |  | ffgsfe => 'fits_read_subsetnull_flt', | 
| 377 |  |  |  |  |  |  | ffgsfd => 'fits_read_subsetnull_dbl', | 
| 378 |  |  |  |  |  |  | fits_decomp_img => 'fits_decompress_img', | 
| 379 |  |  |  |  |  |  | ffgcv => 'fits_read_col', | 
| 380 |  |  |  |  |  |  | ffgcf => 'fits_read_colnull', | 
| 381 |  |  |  |  |  |  | ffgcvs => 'fits_read_col_str', | 
| 382 |  |  |  |  |  |  | ffgcvl => 'fits_read_col_log', | 
| 383 |  |  |  |  |  |  | ffgcvb => 'fits_read_col_byt', | 
| 384 |  |  |  |  |  |  | ffgcvsb => 'fits_read_col_sbyt', | 
| 385 |  |  |  |  |  |  | ffgcvui => 'fits_read_col_usht', | 
| 386 |  |  |  |  |  |  | ffgcvuj => 'fits_read_col_ulng', | 
| 387 |  |  |  |  |  |  | ffgcvi => 'fits_read_col_sht', | 
| 388 |  |  |  |  |  |  | ffgcvj => 'fits_read_col_lng', | 
| 389 |  |  |  |  |  |  | ffgcvjj => 'fits_read_col_lnglng', | 
| 390 |  |  |  |  |  |  | ffgcvuk => 'fits_read_col_uint', | 
| 391 |  |  |  |  |  |  | ffgcvk => 'fits_read_col_int', | 
| 392 |  |  |  |  |  |  | ffgcve => 'fits_read_col_flt', | 
| 393 |  |  |  |  |  |  | ffgcvd => 'fits_read_col_dbl', | 
| 394 |  |  |  |  |  |  | ffgcvc => 'fits_read_col_cmp', | 
| 395 |  |  |  |  |  |  | ffgcvm => 'fits_read_col_dblcmp', | 
| 396 |  |  |  |  |  |  | ffgcx => 'fits_read_col_bit', | 
| 397 |  |  |  |  |  |  | ffgcxui => 'fits_read_col_bit_usht', | 
| 398 |  |  |  |  |  |  | ffgcxuk => 'fits_read_col_bit_uint', | 
| 399 |  |  |  |  |  |  | ffgcfs => 'fits_read_colnull_str', | 
| 400 |  |  |  |  |  |  | ffgcfl => 'fits_read_colnull_log', | 
| 401 |  |  |  |  |  |  | ffgcfb => 'fits_read_colnull_byt', | 
| 402 |  |  |  |  |  |  | ffgcfsb => 'fits_read_colnull_sbyt', | 
| 403 |  |  |  |  |  |  | ffgcfui => 'fits_read_colnull_usht', | 
| 404 |  |  |  |  |  |  | ffgcfuj => 'fits_read_colnull_ulng', | 
| 405 |  |  |  |  |  |  | ffgcfi => 'fits_read_colnull_sht', | 
| 406 |  |  |  |  |  |  | ffgcfj => 'fits_read_colnull_lng', | 
| 407 |  |  |  |  |  |  | ffgcfjj => 'fits_read_colnull_lnglng', | 
| 408 |  |  |  |  |  |  | ffgcfuk => 'fits_read_colnull_uint', | 
| 409 |  |  |  |  |  |  | ffgcfk => 'fits_read_colnull_int', | 
| 410 |  |  |  |  |  |  | ffgcfe => 'fits_read_colnull_flt', | 
| 411 |  |  |  |  |  |  | ffgcfd => 'fits_read_colnull_dbl', | 
| 412 |  |  |  |  |  |  | ffgcfc => 'fits_read_colnull_cmp', | 
| 413 |  |  |  |  |  |  | ffgcfm => 'fits_read_colnull_dblcmp', | 
| 414 |  |  |  |  |  |  | ffgdes => 'fits_read_descript', | 
| 415 |  |  |  |  |  |  | ffgdesll => 'fits_read_descriptll', | 
| 416 |  |  |  |  |  |  | ffgdess => 'fits_read_descripts', | 
| 417 |  |  |  |  |  |  | ffgdessll => 'fits_read_descriptsll', | 
| 418 |  |  |  |  |  |  | ffgtbb => 'fits_read_tblbytes', | 
| 419 |  |  |  |  |  |  | ffpgpb => 'fits_write_grppar_byt', | 
| 420 |  |  |  |  |  |  | ffpgpsb => 'fits_write_grppar_sbyt', | 
| 421 |  |  |  |  |  |  | ffpgpui => 'fits_write_grppar_usht', | 
| 422 |  |  |  |  |  |  | ffpgpuj => 'fits_write_grppar_ulng', | 
| 423 |  |  |  |  |  |  | ffpgpi => 'fits_write_grppar_sht', | 
| 424 |  |  |  |  |  |  | ffpgpj => 'fits_write_grppar_lng', | 
| 425 |  |  |  |  |  |  | ffpgpjj => 'fits_write_grppar_lngj', | 
| 426 |  |  |  |  |  |  | ffpgpuk => 'fits_write_grppar_uint', | 
| 427 |  |  |  |  |  |  | ffpgpk => 'fits_write_grppar_int', | 
| 428 |  |  |  |  |  |  | ffpgpe => 'fits_write_grppar_flt', | 
| 429 |  |  |  |  |  |  | ffpgpd => 'fits_write_grppar_dbl', | 
| 430 |  |  |  |  |  |  | ffppx => 'fits_write_pix', | 
| 431 |  |  |  |  |  |  | ffppxll => 'fits_write_pixll', | 
| 432 |  |  |  |  |  |  | ffppxn => 'fits_write_pixnull', | 
| 433 |  |  |  |  |  |  | ffppxnll => 'fits_write_pixnullll', | 
| 434 |  |  |  |  |  |  | ffppr => 'fits_write_img', | 
| 435 |  |  |  |  |  |  | ffpprb => 'fits_write_img_byt', | 
| 436 |  |  |  |  |  |  | ffpprsb => 'fits_write_img_sbyt', | 
| 437 |  |  |  |  |  |  | ffpprui => 'fits_write_img_usht', | 
| 438 |  |  |  |  |  |  | ffppruj => 'fits_write_img_ulng', | 
| 439 |  |  |  |  |  |  | ffppri => 'fits_write_img_sht', | 
| 440 |  |  |  |  |  |  | ffpprj => 'fits_write_img_lng', | 
| 441 |  |  |  |  |  |  | ffpprjj => 'fits_write_img_lnglng', | 
| 442 |  |  |  |  |  |  | ffppruk => 'fits_write_img_uint', | 
| 443 |  |  |  |  |  |  | ffpprk => 'fits_write_img_int', | 
| 444 |  |  |  |  |  |  | ffppre => 'fits_write_img_flt', | 
| 445 |  |  |  |  |  |  | ffpprd => 'fits_write_img_dbl', | 
| 446 |  |  |  |  |  |  | ffppn => 'fits_write_imgnull', | 
| 447 |  |  |  |  |  |  | ffppnb => 'fits_write_imgnull_byt', | 
| 448 |  |  |  |  |  |  | ffppnsb => 'fits_write_imgnull_sbyt', | 
| 449 |  |  |  |  |  |  | ffppnui => 'fits_write_imgnull_usht', | 
| 450 |  |  |  |  |  |  | ffppnuj => 'fits_write_imgnull_ulng', | 
| 451 |  |  |  |  |  |  | ffppni => 'fits_write_imgnull_sht', | 
| 452 |  |  |  |  |  |  | ffppnj => 'fits_write_imgnull_lng', | 
| 453 |  |  |  |  |  |  | ffppnjj => 'fits_write_imgnull_lnglng', | 
| 454 |  |  |  |  |  |  | ffppnuk => 'fits_write_imgnull_uint', | 
| 455 |  |  |  |  |  |  | ffppnk => 'fits_write_imgnull_int', | 
| 456 |  |  |  |  |  |  | ffppne => 'fits_write_imgnull_flt', | 
| 457 |  |  |  |  |  |  | ffppnd => 'fits_write_imgnull_dbl', | 
| 458 |  |  |  |  |  |  | ffppru => 'fits_write_img_null', | 
| 459 |  |  |  |  |  |  | ffpprn => 'fits_write_null_img', | 
| 460 |  |  |  |  |  |  | ffp2db => 'fits_write_2d_byt', | 
| 461 |  |  |  |  |  |  | ffp2dsb => 'fits_write_2d_sbyt', | 
| 462 |  |  |  |  |  |  | ffp2dui => 'fits_write_2d_usht', | 
| 463 |  |  |  |  |  |  | ffp2duj => 'fits_write_2d_ulng', | 
| 464 |  |  |  |  |  |  | ffp2di => 'fits_write_2d_sht', | 
| 465 |  |  |  |  |  |  | ffp2dj => 'fits_write_2d_lng', | 
| 466 |  |  |  |  |  |  | ffp2djj => 'fits_write_2d_lnglng', | 
| 467 |  |  |  |  |  |  | ffp2duk => 'fits_write_2d_uint', | 
| 468 |  |  |  |  |  |  | ffp2dk => 'fits_write_2d_int', | 
| 469 |  |  |  |  |  |  | ffp2de => 'fits_write_2d_flt', | 
| 470 |  |  |  |  |  |  | ffp2dd => 'fits_write_2d_dbl', | 
| 471 |  |  |  |  |  |  | ffp3db => 'fits_write_3d_byt', | 
| 472 |  |  |  |  |  |  | ffp3dsb => 'fits_write_3d_sbyt', | 
| 473 |  |  |  |  |  |  | ffp3dui => 'fits_write_3d_usht', | 
| 474 |  |  |  |  |  |  | ffp3duj => 'fits_write_3d_ulng', | 
| 475 |  |  |  |  |  |  | ffp3di => 'fits_write_3d_sht', | 
| 476 |  |  |  |  |  |  | ffp3dj => 'fits_write_3d_lng', | 
| 477 |  |  |  |  |  |  | ffp3djj => 'fits_write_3d_lnglng', | 
| 478 |  |  |  |  |  |  | ffp3duk => 'fits_write_3d_uint', | 
| 479 |  |  |  |  |  |  | ffp3dk => 'fits_write_3d_int', | 
| 480 |  |  |  |  |  |  | ffp3de => 'fits_write_3d_flt', | 
| 481 |  |  |  |  |  |  | ffp3dd => 'fits_write_3d_dbl', | 
| 482 |  |  |  |  |  |  | ffpss => 'fits_write_subset', | 
| 483 |  |  |  |  |  |  | ffpssb => 'fits_write_subset_byt', | 
| 484 |  |  |  |  |  |  | ffpsssb => 'fits_write_subset_sbyt', | 
| 485 |  |  |  |  |  |  | ffpssui => 'fits_write_subset_usht', | 
| 486 |  |  |  |  |  |  | ffpssuj => 'fits_write_subset_ulng', | 
| 487 |  |  |  |  |  |  | ffpssi => 'fits_write_subset_sht', | 
| 488 |  |  |  |  |  |  | ffpssj => 'fits_write_subset_lng', | 
| 489 |  |  |  |  |  |  | ffpssjj => 'fits_write_subset_lnglng', | 
| 490 |  |  |  |  |  |  | ffpssuk => 'fits_write_subset_uint', | 
| 491 |  |  |  |  |  |  | ffpssk => 'fits_write_subset_int', | 
| 492 |  |  |  |  |  |  | ffpsse => 'fits_write_subset_flt', | 
| 493 |  |  |  |  |  |  | ffpssd => 'fits_write_subset_dbl', | 
| 494 |  |  |  |  |  |  | ffprwu => 'fits_write_nullrows', | 
| 495 |  |  |  |  |  |  | ffpcl => 'fits_write_col', | 
| 496 |  |  |  |  |  |  | ffpcls => 'fits_write_col_str', | 
| 497 |  |  |  |  |  |  | ffpcll => 'fits_write_col_log', | 
| 498 |  |  |  |  |  |  | ffpclb => 'fits_write_col_byt', | 
| 499 |  |  |  |  |  |  | ffpclsb => 'fits_write_col_sbyt', | 
| 500 |  |  |  |  |  |  | ffpclui => 'fits_write_col_usht', | 
| 501 |  |  |  |  |  |  | ffpcluj => 'fits_write_col_ulng', | 
| 502 |  |  |  |  |  |  | ffpcli => 'fits_write_col_sht', | 
| 503 |  |  |  |  |  |  | ffpclj => 'fits_write_col_lng', | 
| 504 |  |  |  |  |  |  | ffpcljj => 'fits_write_col_lnglng', | 
| 505 |  |  |  |  |  |  | ffpcluk => 'fits_write_col_uint', | 
| 506 |  |  |  |  |  |  | ffpclk => 'fits_write_col_int', | 
| 507 |  |  |  |  |  |  | ffpcle => 'fits_write_col_flt', | 
| 508 |  |  |  |  |  |  | ffpcld => 'fits_write_col_dbl', | 
| 509 |  |  |  |  |  |  | ffpclc => 'fits_write_col_cmp', | 
| 510 |  |  |  |  |  |  | ffpclm => 'fits_write_col_dblcmp', | 
| 511 |  |  |  |  |  |  | ffpclu => 'fits_write_col_null', | 
| 512 |  |  |  |  |  |  | ffpclx => 'fits_write_col_bit', | 
| 513 |  |  |  |  |  |  | ffpcn => 'fits_write_colnull', | 
| 514 |  |  |  |  |  |  | ffpcns => 'fits_write_colnull_str', | 
| 515 |  |  |  |  |  |  | ffpcnl => 'fits_write_colnull_log', | 
| 516 |  |  |  |  |  |  | ffpcnb => 'fits_write_colnull_byt', | 
| 517 |  |  |  |  |  |  | ffpcnsb => 'fits_write_colnull_sbyt', | 
| 518 |  |  |  |  |  |  | ffpcnui => 'fits_write_colnull_usht', | 
| 519 |  |  |  |  |  |  | ffpcnuj => 'fits_write_colnull_ulng', | 
| 520 |  |  |  |  |  |  | ffpcni => 'fits_write_colnull_sht', | 
| 521 |  |  |  |  |  |  | ffpcnj => 'fits_write_colnull_lng', | 
| 522 |  |  |  |  |  |  | ffpcnjj => 'fits_write_colnull_lnglng', | 
| 523 |  |  |  |  |  |  | ffpcnuk => 'fits_write_colnull_uint', | 
| 524 |  |  |  |  |  |  | ffpcnk => 'fits_write_colnull_int', | 
| 525 |  |  |  |  |  |  | ffpcne => 'fits_write_colnull_flt', | 
| 526 |  |  |  |  |  |  | ffpcnd => 'fits_write_colnull_dbl', | 
| 527 |  |  |  |  |  |  | ffpdes => 'fits_write_descript', | 
| 528 |  |  |  |  |  |  | ffcmph => 'fits_compress_heap', | 
| 529 |  |  |  |  |  |  | fftheap => 'fits_test_heap', | 
| 530 |  |  |  |  |  |  | ffptbb => 'fits_write_tblbytes', | 
| 531 |  |  |  |  |  |  | ffirow => 'fits_insert_rows', | 
| 532 |  |  |  |  |  |  | ffdrrg => 'fits_delete_rowrange', | 
| 533 |  |  |  |  |  |  | ffdrow => 'fits_delete_rows', | 
| 534 |  |  |  |  |  |  | ffdrws => 'fits_delete_rowlist', | 
| 535 |  |  |  |  |  |  | ffdrwsll => 'fits_delete_rowlistll', | 
| 536 |  |  |  |  |  |  | fficol => 'fits_insert_col', | 
| 537 |  |  |  |  |  |  | fficls => 'fits_insert_cols', | 
| 538 |  |  |  |  |  |  | ffdcol => 'fits_delete_col', | 
| 539 |  |  |  |  |  |  | ffcpcl => 'fits_copy_col', | 
| 540 |  |  |  |  |  |  | ffccls => 'fits_copy_cols', | 
| 541 |  |  |  |  |  |  | ffcprw => 'fits_copy_rows', | 
| 542 |  |  |  |  |  |  | ffmvec => 'fits_modify_vector_len', | 
| 543 |  |  |  |  |  |  | ffgics => 'fits_read_img_coord', | 
| 544 |  |  |  |  |  |  | ffgtcs => 'fits_read_tbl_coord', | 
| 545 |  |  |  |  |  |  | ffgicsa => 'fits_read_img_coord_version', | 
| 546 |  |  |  |  |  |  | ffwldp => 'fits_pix_to_world', | 
| 547 |  |  |  |  |  |  | ffxypx => 'fits_world_to_pix', | 
| 548 |  |  |  |  |  |  | ffgiwcs => 'fits_get_image_wcs_keys', | 
| 549 |  |  |  |  |  |  | ffgtwcs => 'fits_get_table_wcs_keys', | 
| 550 |  |  |  |  |  |  | fffrow => 'fits_find_rows', | 
| 551 |  |  |  |  |  |  | ffffrw => 'fits_find_first_row', | 
| 552 |  |  |  |  |  |  | fffrwc => 'fits_find_rows_cmp', | 
| 553 |  |  |  |  |  |  | ffsrow => 'fits_select_rows', | 
| 554 |  |  |  |  |  |  | ffcrow => 'fits_calc_rows', | 
| 555 |  |  |  |  |  |  | ffcalc => 'fits_calculator', | 
| 556 |  |  |  |  |  |  | ffcalc_rng => 'fits_calculator_rng', | 
| 557 |  |  |  |  |  |  | fftexp => 'fits_test_expr', | 
| 558 |  |  |  |  |  |  | ffgtcr => 'fits_create_group', | 
| 559 |  |  |  |  |  |  | ffgtis => 'fits_insert_group', | 
| 560 |  |  |  |  |  |  | ffgtch => 'fits_change_group', | 
| 561 |  |  |  |  |  |  | ffgtrm => 'fits_remove_group', | 
| 562 |  |  |  |  |  |  | ffgtcp => 'fits_copy_group', | 
| 563 |  |  |  |  |  |  | ffgtmg => 'fits_merge_groups', | 
| 564 |  |  |  |  |  |  | ffmbyt => 'fits_seek', | 
| 565 |  |  |  |  |  |  | ffgtcm => 'fits_compact_group', | 
| 566 |  |  |  |  |  |  | ffgtvf => 'fits_verify_group', | 
| 567 |  |  |  |  |  |  | ffgtop => 'fits_open_group', | 
| 568 |  |  |  |  |  |  | ffgtam => 'fits_add_group_member', | 
| 569 |  |  |  |  |  |  | ffgtnm => 'fits_get_num_members', | 
| 570 |  |  |  |  |  |  | ffgmng => 'fits_get_num_groups', | 
| 571 |  |  |  |  |  |  | ffgmop => 'fits_open_member', | 
| 572 |  |  |  |  |  |  | ffgmcp => 'fits_copy_member', | 
| 573 |  |  |  |  |  |  | ffgmtf => 'fits_transfer_member', | 
| 574 |  |  |  |  |  |  | ffgmrm => 'fits_remove_member', | 
| 575 |  |  |  |  |  |  | ); | 
| 576 |  |  |  |  |  |  |  | 
| 577 |  |  |  |  |  |  | my @__shortnames = keys %__names; | 
| 578 |  |  |  |  |  |  | my @__longnames = (values(%__names), @__names_no_short); | 
| 579 |  |  |  |  |  |  | my @__constants = qw( | 
| 580 |  |  |  |  |  |  | ANGLE_TOO_BIG | 
| 581 |  |  |  |  |  |  | ANY_HDU | 
| 582 |  |  |  |  |  |  | ARRAY_TOO_BIG | 
| 583 |  |  |  |  |  |  | ASCII_TBL | 
| 584 |  |  |  |  |  |  | BAD_ATABLE_FORMAT | 
| 585 |  |  |  |  |  |  | BAD_BITPIX | 
| 586 |  |  |  |  |  |  | BAD_BTABLE_FORMAT | 
| 587 |  |  |  |  |  |  | BAD_C2D | 
| 588 |  |  |  |  |  |  | BAD_C2F | 
| 589 |  |  |  |  |  |  | BAD_C2I | 
| 590 |  |  |  |  |  |  | BAD_COL_NUM | 
| 591 |  |  |  |  |  |  | BAD_DATATYPE | 
| 592 |  |  |  |  |  |  | BAD_DATA_FILL | 
| 593 |  |  |  |  |  |  | BAD_DATE | 
| 594 |  |  |  |  |  |  | BAD_DECIM | 
| 595 |  |  |  |  |  |  | BAD_DIMEN | 
| 596 |  |  |  |  |  |  | BAD_DOUBLEKEY | 
| 597 |  |  |  |  |  |  | BAD_ELEM_NUM | 
| 598 |  |  |  |  |  |  | BAD_F2C | 
| 599 |  |  |  |  |  |  | BAD_FILEPTR | 
| 600 |  |  |  |  |  |  | BAD_FLOATKEY | 
| 601 |  |  |  |  |  |  | BAD_GCOUNT | 
| 602 |  |  |  |  |  |  | BAD_GROUP_ID | 
| 603 |  |  |  |  |  |  | BAD_HDU_NUM | 
| 604 |  |  |  |  |  |  | BAD_HEADER_FILL | 
| 605 |  |  |  |  |  |  | BAD_I2C | 
| 606 |  |  |  |  |  |  | BAD_INTKEY | 
| 607 |  |  |  |  |  |  | BAD_KEYCHAR | 
| 608 |  |  |  |  |  |  | BAD_LOGICALKEY | 
| 609 |  |  |  |  |  |  | BAD_NAXES | 
| 610 |  |  |  |  |  |  | BAD_NAXIS | 
| 611 |  |  |  |  |  |  | BAD_OPTION | 
| 612 |  |  |  |  |  |  | BAD_ORDER | 
| 613 |  |  |  |  |  |  | BAD_PCOUNT | 
| 614 |  |  |  |  |  |  | BAD_PIX_NUM | 
| 615 |  |  |  |  |  |  | BAD_ROW_NUM | 
| 616 |  |  |  |  |  |  | BAD_ROW_WIDTH | 
| 617 |  |  |  |  |  |  | BAD_SIMPLE | 
| 618 |  |  |  |  |  |  | BAD_TBCOL | 
| 619 |  |  |  |  |  |  | BAD_TDIM | 
| 620 |  |  |  |  |  |  | BAD_TFIELDS | 
| 621 |  |  |  |  |  |  | BAD_TFORM | 
| 622 |  |  |  |  |  |  | BAD_TFORM_DTYPE | 
| 623 |  |  |  |  |  |  | BAD_URL_PREFIX | 
| 624 |  |  |  |  |  |  | BAD_WCS_PROJ | 
| 625 |  |  |  |  |  |  | BAD_WCS_VAL | 
| 626 |  |  |  |  |  |  | BINARY_TBL | 
| 627 |  |  |  |  |  |  | BYTE_IMG | 
| 628 |  |  |  |  |  |  | CASEINSEN | 
| 629 |  |  |  |  |  |  | CASESEN | 
| 630 |  |  |  |  |  |  | CFITSIO_MAJOR | 
| 631 |  |  |  |  |  |  | CFITSIO_MINOR | 
| 632 |  |  |  |  |  |  | COL_NOT_FOUND | 
| 633 |  |  |  |  |  |  | COL_NOT_UNIQUE | 
| 634 |  |  |  |  |  |  | COL_TOO_WIDE | 
| 635 |  |  |  |  |  |  | DOUBLENULLVALUE | 
| 636 |  |  |  |  |  |  | DOUBLE_IMG | 
| 637 |  |  |  |  |  |  | DRIVER_INIT_FAILED | 
| 638 |  |  |  |  |  |  | END_JUNK | 
| 639 |  |  |  |  |  |  | END_OF_FILE | 
| 640 |  |  |  |  |  |  | FALSE | 
| 641 |  |  |  |  |  |  | FILE_NOT_CLOSED | 
| 642 |  |  |  |  |  |  | FILE_NOT_CREATED | 
| 643 |  |  |  |  |  |  | FILE_NOT_OPENED | 
| 644 |  |  |  |  |  |  | FLEN_CARD | 
| 645 |  |  |  |  |  |  | FLEN_COMMENT | 
| 646 |  |  |  |  |  |  | FLEN_ERRMSG | 
| 647 |  |  |  |  |  |  | FLEN_FILENAME | 
| 648 |  |  |  |  |  |  | FLEN_KEYWORD | 
| 649 |  |  |  |  |  |  | FLEN_STATUS | 
| 650 |  |  |  |  |  |  | FLEN_VALUE | 
| 651 |  |  |  |  |  |  | FLOATNULLVALUE | 
| 652 |  |  |  |  |  |  | FLOAT_IMG | 
| 653 |  |  |  |  |  |  | GROUP_NOT_FOUND | 
| 654 |  |  |  |  |  |  | GT_ID_ALL | 
| 655 |  |  |  |  |  |  | GT_ID_ALL_URI | 
| 656 |  |  |  |  |  |  | GT_ID_POS | 
| 657 |  |  |  |  |  |  | GT_ID_POS_URI | 
| 658 |  |  |  |  |  |  | GT_ID_REF | 
| 659 |  |  |  |  |  |  | GT_ID_REF_URI | 
| 660 |  |  |  |  |  |  | GZIP_1 | 
| 661 |  |  |  |  |  |  | HDU_ALREADY_MEMBER | 
| 662 |  |  |  |  |  |  | HDU_ALREADY_TRACKED | 
| 663 |  |  |  |  |  |  | HEADER_NOT_EMPTY | 
| 664 |  |  |  |  |  |  | IDENTICAL_POINTERS | 
| 665 |  |  |  |  |  |  | IMAGE_HDU | 
| 666 |  |  |  |  |  |  | InputCol | 
| 667 |  |  |  |  |  |  | InputOutputCol | 
| 668 |  |  |  |  |  |  | KEY_NO_EXIST | 
| 669 |  |  |  |  |  |  | KEY_OUT_BOUNDS | 
| 670 |  |  |  |  |  |  | LONG_IMG | 
| 671 |  |  |  |  |  |  | LONGLONG_IMG | 
| 672 |  |  |  |  |  |  | MAXHDU | 
| 673 |  |  |  |  |  |  | MEMBER_NOT_FOUND | 
| 674 |  |  |  |  |  |  | MEMORY_ALLOCATION | 
| 675 |  |  |  |  |  |  | NEG_AXIS | 
| 676 |  |  |  |  |  |  | NEG_BYTES | 
| 677 |  |  |  |  |  |  | NEG_FILE_POS | 
| 678 |  |  |  |  |  |  | NEG_ROWS | 
| 679 |  |  |  |  |  |  | NEG_WIDTH | 
| 680 |  |  |  |  |  |  | NOT_ASCII_COL | 
| 681 |  |  |  |  |  |  | NOT_ATABLE | 
| 682 |  |  |  |  |  |  | NOT_BTABLE | 
| 683 |  |  |  |  |  |  | NOT_GROUP_TABLE | 
| 684 |  |  |  |  |  |  | NOT_IMAGE | 
| 685 |  |  |  |  |  |  | NOT_LOGICAL_COL | 
| 686 |  |  |  |  |  |  | NOT_POS_INT | 
| 687 |  |  |  |  |  |  | NOT_TABLE | 
| 688 |  |  |  |  |  |  | NOT_VARI_LEN | 
| 689 |  |  |  |  |  |  | NO_BITPIX | 
| 690 |  |  |  |  |  |  | NO_END | 
| 691 |  |  |  |  |  |  | NO_GCOUNT | 
| 692 |  |  |  |  |  |  | NO_MATCHING_DRIVER | 
| 693 |  |  |  |  |  |  | NO_NAXES | 
| 694 |  |  |  |  |  |  | NO_NAXIS | 
| 695 |  |  |  |  |  |  | NO_NULL | 
| 696 |  |  |  |  |  |  | NO_PCOUNT | 
| 697 |  |  |  |  |  |  | NO_QUOTE | 
| 698 |  |  |  |  |  |  | NO_SIMPLE | 
| 699 |  |  |  |  |  |  | NO_TBCOL | 
| 700 |  |  |  |  |  |  | NO_TFIELDS | 
| 701 |  |  |  |  |  |  | NO_TFORM | 
| 702 |  |  |  |  |  |  | NO_WCS_KEY | 
| 703 |  |  |  |  |  |  | NO_XTENSION | 
| 704 |  |  |  |  |  |  | NULL_INPUT_PTR | 
| 705 |  |  |  |  |  |  | NUM_OVERFLOW | 
| 706 |  |  |  |  |  |  | OPT_CMT_MBR | 
| 707 |  |  |  |  |  |  | OPT_CMT_MBR_DEL | 
| 708 |  |  |  |  |  |  | OPT_GCP_ALL | 
| 709 |  |  |  |  |  |  | OPT_GCP_GPT | 
| 710 |  |  |  |  |  |  | OPT_GCP_MBR | 
| 711 |  |  |  |  |  |  | OPT_MCP_ADD | 
| 712 |  |  |  |  |  |  | OPT_MCP_MOV | 
| 713 |  |  |  |  |  |  | OPT_MCP_NADD | 
| 714 |  |  |  |  |  |  | OPT_MCP_REPL | 
| 715 |  |  |  |  |  |  | OPT_MRG_COPY | 
| 716 |  |  |  |  |  |  | OPT_MRG_MOV | 
| 717 |  |  |  |  |  |  | OPT_RM_ALL | 
| 718 |  |  |  |  |  |  | OPT_RM_ENTRY | 
| 719 |  |  |  |  |  |  | OPT_RM_GPT | 
| 720 |  |  |  |  |  |  | OPT_RM_MBR | 
| 721 |  |  |  |  |  |  | OVERFLOW_ERR | 
| 722 |  |  |  |  |  |  | OutputCol | 
| 723 |  |  |  |  |  |  | PARSE_BAD_COL | 
| 724 |  |  |  |  |  |  | PARSE_BAD_OUTPUT | 
| 725 |  |  |  |  |  |  | PARSE_BAD_TYPE | 
| 726 |  |  |  |  |  |  | PARSE_LRG_VECTOR | 
| 727 |  |  |  |  |  |  | PARSE_NO_OUTPUT | 
| 728 |  |  |  |  |  |  | PARSE_SYNTAX_ERR | 
| 729 |  |  |  |  |  |  | PLIO_1 | 
| 730 |  |  |  |  |  |  | READONLY | 
| 731 |  |  |  |  |  |  | READONLY_FILE | 
| 732 |  |  |  |  |  |  | READWRITE | 
| 733 |  |  |  |  |  |  | READ_ERROR | 
| 734 |  |  |  |  |  |  | RICE_1 | 
| 735 |  |  |  |  |  |  | SAME_FILE | 
| 736 |  |  |  |  |  |  | SEEK_ERROR | 
| 737 |  |  |  |  |  |  | SHORT_IMG | 
| 738 |  |  |  |  |  |  | TBIT | 
| 739 |  |  |  |  |  |  | TBYTE | 
| 740 |  |  |  |  |  |  | TSBYTE | 
| 741 |  |  |  |  |  |  | TCOMPLEX | 
| 742 |  |  |  |  |  |  | TDBLCOMPLEX | 
| 743 |  |  |  |  |  |  | TDOUBLE | 
| 744 |  |  |  |  |  |  | TFLOAT | 
| 745 |  |  |  |  |  |  | TINT | 
| 746 |  |  |  |  |  |  | TLOGICAL | 
| 747 |  |  |  |  |  |  | TLONG | 
| 748 |  |  |  |  |  |  | TLONGLONG | 
| 749 |  |  |  |  |  |  | TOO_MANY_DRIVERS | 
| 750 |  |  |  |  |  |  | TOO_MANY_FILES | 
| 751 |  |  |  |  |  |  | TOO_MANY_HDUS_TRACKED | 
| 752 |  |  |  |  |  |  | TRUE | 
| 753 |  |  |  |  |  |  | TSHORT | 
| 754 |  |  |  |  |  |  | TSTRING | 
| 755 |  |  |  |  |  |  | TUINT | 
| 756 |  |  |  |  |  |  | TULONG | 
| 757 |  |  |  |  |  |  | TUSHORT | 
| 758 |  |  |  |  |  |  | ULONG_IMG | 
| 759 |  |  |  |  |  |  | UNKNOWN_EXT | 
| 760 |  |  |  |  |  |  | UNKNOWN_REC | 
| 761 |  |  |  |  |  |  | URL_PARSE_ERROR | 
| 762 |  |  |  |  |  |  | USE_MEM_BUFF | 
| 763 |  |  |  |  |  |  | USHORT_IMG | 
| 764 |  |  |  |  |  |  | VALIDSTRUC | 
| 765 |  |  |  |  |  |  | VALUE_UNDEFINED | 
| 766 |  |  |  |  |  |  | WCS_ERROR | 
| 767 |  |  |  |  |  |  | WRITE_ERROR | 
| 768 |  |  |  |  |  |  | ZERO_SCALE | 
| 769 |  |  |  |  |  |  | TYP_STRUC_KEY | 
| 770 |  |  |  |  |  |  | TYP_CMPRS_KEY | 
| 771 |  |  |  |  |  |  | TYP_SCAL_KEY | 
| 772 |  |  |  |  |  |  | TYP_NULL_KEY | 
| 773 |  |  |  |  |  |  | TYP_DIM_KEY | 
| 774 |  |  |  |  |  |  | TYP_RANG_KEY | 
| 775 |  |  |  |  |  |  | TYP_UNIT_KEY | 
| 776 |  |  |  |  |  |  | TYP_DISP_KEY | 
| 777 |  |  |  |  |  |  | TYP_HDUID_KEY | 
| 778 |  |  |  |  |  |  | TYP_CKSUM_KEY | 
| 779 |  |  |  |  |  |  | TYP_WCS_KEY | 
| 780 |  |  |  |  |  |  | TYP_REFSYS_KEY | 
| 781 |  |  |  |  |  |  | TYP_COMM_KEY | 
| 782 |  |  |  |  |  |  | TYP_CONT_KEY | 
| 783 |  |  |  |  |  |  | TYP_USER_KEY | 
| 784 |  |  |  |  |  |  | ); ### @__constants | 
| 785 |  |  |  |  |  |  |  | 
| 786 |  |  |  |  |  |  | @EXPORT = qw( ); | 
| 787 |  |  |  |  |  |  |  | 
| 788 |  |  |  |  |  |  | %EXPORT_TAGS = ( | 
| 789 |  |  |  |  |  |  | 'shortnames' => \@__shortnames, | 
| 790 |  |  |  |  |  |  | 'longnames' => \@__longnames, | 
| 791 |  |  |  |  |  |  | 'constants' => \@__constants, | 
| 792 |  |  |  |  |  |  | ); | 
| 793 |  |  |  |  |  |  |  | 
| 794 |  |  |  |  |  |  | @EXPORT_OK = ( | 
| 795 |  |  |  |  |  |  | 'PerlyUnpacking', | 
| 796 |  |  |  |  |  |  | @__shortnames, | 
| 797 |  |  |  |  |  |  | @__longnames, | 
| 798 |  |  |  |  |  |  | @__constants, | 
| 799 |  |  |  |  |  |  | ); | 
| 800 |  |  |  |  |  |  |  | 
| 801 |  |  |  |  |  |  | sub AUTOLOAD { | 
| 802 | 1 |  |  | 1 |  | 7 | no strict; | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 498 |  | 
| 803 |  |  |  |  |  |  |  | 
| 804 |  |  |  |  |  |  | # This AUTOLOAD is used to 'autoload' constants from the constant() | 
| 805 |  |  |  |  |  |  | # XS function.  If a constant is not found then control is passed | 
| 806 |  |  |  |  |  |  | # to the AUTOLOAD in AutoLoader. | 
| 807 |  |  |  |  |  |  |  | 
| 808 | 12 |  |  | 12 |  | 2065 | my $constname; | 
| 809 | 12 |  |  |  |  | 62 | ($constname = $AUTOLOAD) =~ s/.*:://; | 
| 810 | 12 | 50 |  |  |  | 34 | croak "& not defined" if $constname eq 'constant'; | 
| 811 | 12 | 50 |  |  |  | 53 | my $val = constant($constname, @_ ? $_[0] : 0); | 
| 812 | 12 | 50 |  |  |  | 36 | if ($! != 0) { | 
| 813 | 0 | 0 |  |  |  | 0 | if ($! =~ /Invalid/) { | 
| 814 | 0 |  |  |  |  | 0 | $AutoLoader::AUTOLOAD = $AUTOLOAD; | 
| 815 | 0 |  |  |  |  | 0 | goto &AutoLoader::AUTOLOAD; | 
| 816 |  |  |  |  |  |  | } | 
| 817 |  |  |  |  |  |  | else { | 
| 818 | 0 |  |  |  |  | 0 | croak "Your vendor has not defined Astro::FITS::CFITSIO macro $constname"; | 
| 819 |  |  |  |  |  |  | } | 
| 820 |  |  |  |  |  |  | } | 
| 821 | 12 |  |  | 126 |  | 108 | *$AUTOLOAD = sub { $val }; | 
|  | 126 |  |  |  |  | 5884 |  | 
| 822 |  |  |  |  |  |  | #eval "sub $AUTOLOAD { $val }"; | 
| 823 | 12 |  |  |  |  | 33 | goto &$AUTOLOAD; | 
| 824 |  |  |  |  |  |  | } | 
| 825 |  |  |  |  |  |  |  | 
| 826 |  |  |  |  |  |  | bootstrap Astro::FITS::CFITSIO $VERSION; | 
| 827 |  |  |  |  |  |  |  | 
| 828 |  |  |  |  |  |  | # Preloaded methods go here. | 
| 829 |  |  |  |  |  |  |  | 
| 830 |  |  |  |  |  |  | # Compound routines -- useful routines that combine lower level | 
| 831 |  |  |  |  |  |  | # Astro::FITS::CFITSIO commands | 
| 832 |  |  |  |  |  |  | # This routine takes an argument (either a fitsfilePtr object | 
| 833 |  |  |  |  |  |  | # or a string containing a FITS file name) and returns the header | 
| 834 |  |  |  |  |  |  | # into a hash along with the exit status of the routine. | 
| 835 |  |  |  |  |  |  | # If it is called in a scalar context then only the hash reference | 
| 836 |  |  |  |  |  |  | # is returned | 
| 837 |  |  |  |  |  |  |  | 
| 838 |  |  |  |  |  |  | #  $hashref = fits_read_header("test.fits"); | 
| 839 |  |  |  |  |  |  | #  ($hashref, $status) = $fitsfile->read_header; | 
| 840 |  |  |  |  |  |  |  | 
| 841 |  |  |  |  |  |  | # The comments are stored in a hash in $hashref->{COMMENTS}. | 
| 842 |  |  |  |  |  |  |  | 
| 843 |  |  |  |  |  |  | sub fits_read_header { | 
| 844 |  |  |  |  |  |  |  | 
| 845 | 0 | 0 |  | 0 | 1 |  | croak 'Usage: fits_read_header(file|fitsfilePtr)' | 
| 846 |  |  |  |  |  |  | unless @_; | 
| 847 |  |  |  |  |  |  |  | 
| 848 | 0 |  |  |  |  |  | my ($fitsfile, $status); | 
| 849 | 0 |  |  |  |  |  | my ($n, $left, %header, $key, $value, $comment); | 
| 850 |  |  |  |  |  |  |  | 
| 851 |  |  |  |  |  |  | # Read the argument | 
| 852 | 0 |  |  |  |  |  | my $file = shift; | 
| 853 |  |  |  |  |  |  |  | 
| 854 | 0 |  |  |  |  |  | my $obj_passed = 0; # were we passed a fitsfilePtr? | 
| 855 |  |  |  |  |  |  |  | 
| 856 | 0 |  |  |  |  |  | $status = 0; | 
| 857 | 0 | 0 |  |  |  |  | if (UNIVERSAL::isa($file,'fitsfilePtr')) { | 
| 858 | 0 |  |  |  |  |  | $fitsfile = $file; | 
| 859 | 0 |  |  |  |  |  | $obj_passed = 1; | 
| 860 |  |  |  |  |  |  | } else { | 
| 861 |  |  |  |  |  |  | # Open the file. | 
| 862 | 0 |  |  |  |  |  | fits_open_file($fitsfile, $file, READONLY(), $status); | 
| 863 |  |  |  |  |  |  | } | 
| 864 |  |  |  |  |  |  |  | 
| 865 |  |  |  |  |  |  | # Now we have an open file -- check that status is good before | 
| 866 |  |  |  |  |  |  | # proceeding | 
| 867 | 0 | 0 |  |  |  |  | unless ($status) { | 
| 868 |  |  |  |  |  |  |  | 
| 869 |  |  |  |  |  |  | # Get the number of fits keywords in primary header | 
| 870 | 0 |  |  |  |  |  | $fitsfile->get_hdrspace($n, $left, $status); | 
| 871 |  |  |  |  |  |  |  | 
| 872 |  |  |  |  |  |  | # Loop over the keys | 
| 873 | 0 |  |  |  |  |  | for my $i (1..$n) { | 
| 874 | 0 | 0 |  |  |  |  | last unless $status == 0; | 
| 875 |  |  |  |  |  |  |  | 
| 876 | 0 |  |  |  |  |  | $fitsfile->read_keyn($i, $key, $value, $comment, $status); | 
| 877 |  |  |  |  |  |  |  | 
| 878 |  |  |  |  |  |  | # Store the key/value in a hash | 
| 879 | 0 |  |  |  |  |  | $header{$key} = $value; | 
| 880 |  |  |  |  |  |  |  | 
| 881 |  |  |  |  |  |  | # Store the comments. | 
| 882 | 0 | 0 |  |  |  |  | if (! exists $header{COMMENTS}{$key}) { | 
| 883 | 0 |  |  |  |  |  | $header{COMMENTS}{$key} = $comment; | 
| 884 |  |  |  |  |  |  | } | 
| 885 |  |  |  |  |  |  | # HISTORY keywords, for instance, can be numerous | 
| 886 |  |  |  |  |  |  | else { | 
| 887 | 0 | 0 |  |  |  |  | if (! ref $header{COMMENTS}{$key}) { | 
| 888 | 0 |  |  |  |  |  | $header{COMMENTS}{$key} = [ $header{COMMENTS}{$key} ]; | 
| 889 |  |  |  |  |  |  | } | 
| 890 | 0 |  |  |  |  |  | push @{$header{COMMENTS}{$key}}, $comment; | 
|  | 0 |  |  |  |  |  |  | 
| 891 |  |  |  |  |  |  | } | 
| 892 |  |  |  |  |  |  |  | 
| 893 |  |  |  |  |  |  | } | 
| 894 |  |  |  |  |  |  |  | 
| 895 |  |  |  |  |  |  | # Close the file if we opened it | 
| 896 | 0 | 0 |  |  |  |  | $fitsfile->close_file($status) unless $obj_passed; | 
| 897 |  |  |  |  |  |  | } | 
| 898 |  |  |  |  |  |  |  | 
| 899 |  |  |  |  |  |  | # Report an error - may not always want to write to STDERR... | 
| 900 | 0 |  |  |  |  |  | fits_report_error(*STDERR, $status); | 
| 901 |  |  |  |  |  |  |  | 
| 902 |  |  |  |  |  |  |  | 
| 903 | 0 | 0 |  |  |  |  | return (\%header, $status) if wantarray; | 
| 904 | 0 |  |  |  |  |  | return \%header; | 
| 905 |  |  |  |  |  |  |  | 
| 906 |  |  |  |  |  |  | } | 
| 907 |  |  |  |  |  |  |  | 
| 908 |  |  |  |  |  |  | # This section provides perl aliases for the OO interface | 
| 909 |  |  |  |  |  |  | # This is a bit of a kluge since the actual command is in the | 
| 910 |  |  |  |  |  |  | # Astro::FITS::CFITSIO namespace. Did not open a new namespace with the package | 
| 911 |  |  |  |  |  |  | # command since AUTOSPLIT gets confused | 
| 912 |  |  |  |  |  |  |  | 
| 913 |  |  |  |  |  |  | sub fitsfilePtr::read_header { | 
| 914 | 0 |  |  | 0 |  |  | my $self = shift; | 
| 915 | 0 |  |  |  |  |  | my ($href, $status) = Astro::FITS::CFITSIO::fits_read_header($self); | 
| 916 | 0 | 0 |  |  |  |  | return ($href, $status) if wantarray; | 
| 917 | 0 |  |  |  |  |  | return $href; | 
| 918 |  |  |  |  |  |  | } | 
| 919 |  |  |  |  |  |  |  | 
| 920 |  |  |  |  |  |  |  | 
| 921 |  |  |  |  |  |  |  | 
| 922 |  |  |  |  |  |  | # Autoload methods go after =cut, and are processed by the autosplit program. | 
| 923 |  |  |  |  |  |  |  | 
| 924 |  |  |  |  |  |  | 1; | 
| 925 |  |  |  |  |  |  |  | 
| 926 |  |  |  |  |  |  | __END__ |