- Timestamp:
- Mar 16, 2010, 6:44:32 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/largefiles.20100314/Ohana/src/libfits/include/gfitsio.h
r21059 r27295 44 44 45 45 typedef struct { 46 int simple; 47 int unsign; 48 int extend; 49 int bitpix; 50 int Naxes; 51 intNaxis[FT_MAX_NAXES];52 intsize;46 int simple; // T or F 47 int unsign; // T or F 48 int extend; // T or F 49 int bitpix; // 8, 16, 32, 64, or -32, -64 50 int Naxes; // < FT_MAX_NAXES (10) 51 off_t Naxis[FT_MAX_NAXES]; 52 off_t datasize; 53 53 int pcount; 54 54 int gcount; … … 65 65 int bitpix; 66 66 int Naxes; 67 intNaxis[FT_MAX_NAXES];68 intsize;67 off_t Naxis[FT_MAX_NAXES]; 68 off_t datasize; 69 69 double bzero; 70 70 double bscale; … … 76 76 Header *header; 77 77 char *buffer; 78 intsize;78 off_t datasize; 79 79 } FTable; 80 80 … … 83 83 Header *header; 84 84 char **buffer; 85 intNrow;86 int*row;87 intsize; /* total buffer size */88 intpad; /* bytes of padding at the end */85 off_t Nrow; 86 off_t *row; 87 off_t datasize; /* total buffer size */ 88 off_t pad; /* bytes of padding at the end */ 89 89 } VTable; 90 90 91 91 typedef struct { 92 int maxlen; // max size of all table rows 93 int nbytes; // number of bytes per column element 94 int Nstart; // byte offset of this column 95 int heap_start; // byte offset to start of HEAP 96 char format; // data format character (one of: XLABIJEDCM) 92 int maxlen; // max size of all table rows 93 int nbytes; // number of bytes per column element 94 int Nstart; // byte offset of this column relative to first column 95 off_t heap_start; // byte offset to start of HEAP 96 char format; // data format character (one of: XLABIJEDCM) 97 char mode; // access data pointer type (one of P or Q) 97 98 } VarLengthColumn; 98 99 … … 106 107 107 108 char *gfits_header_field PROTO((Header *header, char *field, int N)); 108 char *gfits_header_lineno PROTO((Header *header, int N));109 char *gfits_header_lineno PROTO((Header *header, off_t N)); 109 110 char *gfits_keyword_end PROTO((char *line)); 110 111 int gfits_copy_header PROTO((Header *in, Header *out)); … … 128 129 int gfits_vscan PROTO((Header *header, char *field, char *mode, int N, va_list argp)); 129 130 int gfits_write_header PROTO((char *filename, Header *header)); 130 intgfits_data_size PROTO((Header *header));131 intgfits_data_min_size PROTO((Header *header));131 off_t gfits_data_size PROTO((Header *header)); 132 off_t gfits_data_min_size PROTO((Header *header)); 132 133 int gfits_extended_to_primary PROTO((Header *header, int simple, char *comment)); 133 134 int gfits_primary_to_extended PROTO((Header *header, char *exttype, char *comment)); … … 143 144 /******************************* Matrix functions *************/ 144 145 145 void gfits_add_matrix_value PROTO((Matrix *matrix, int x, int y, double value));146 void gfits_add_matrix_value PROTO((Matrix *matrix, off_t x, off_t y, double value)); 146 147 int gfits_convert_format PROTO((Header *header, Matrix *matrix, int outBitpix, double outScale, double outZero, int inBlank, int outUnsign)); 147 148 int gfits_copy_matrix PROTO((Matrix *in, Matrix *out)); … … 152 153 void gfits_free_matrix PROTO((Matrix *matrix)); 153 154 int gfits_fwrite_matrix PROTO((FILE *f, Matrix *matrix)); 154 double gfits_get_matrix_value PROTO((Matrix *matrix, int x, int y));155 void gfits_insert_ array PROTO((Matrix *matrix, Matrix *array, int x, int y));155 double gfits_get_matrix_value PROTO((Matrix *matrix, off_t x, off_t y)); 156 void gfits_insert_matrix PROTO((Matrix *matrix, Matrix *array, off_t x, off_t y)); 156 157 int gfits_load_matrix PROTO((FILE *f, Matrix *matrix, Header *header)); 157 158 int gfits_multiply_matrix PROTO((Matrix *M1, Matrix *M2, Matrix *M3)); 158 159 int gfits_read_matrix PROTO((char *filename, Matrix *matrix)); 159 160 int gfits_read_matrix_segment PROTO((char *filename, Matrix *matrix, char *region)); 160 int gfits_read_portion PROTO((char *filename, Matrix *matrix, int Nskip, int Npix));161 void gfits_set_matrix_value PROTO((Matrix *matrix, int x, int y, double value));161 int gfits_read_portion PROTO((char *filename, Matrix *matrix, off_t Nskip, off_t Npix)); 162 void gfits_set_matrix_value PROTO((Matrix *matrix, off_t x, off_t y, double value)); 162 163 int gfits_write_matrix PROTO((char *filename, Matrix *matrix)); 163 164 int gfits_uncompress_image PROTO((Header *header, Matrix *matrix, FTable *ftable)); … … 166 167 int gfits_byteswap_zdata PROTO((char *zdata, int Nzdata, int bitpix)); 167 168 int gfits_extension_is_compressed PROTO((Header *header)); 168 intgfits_tile_size PROTO((Matrix *matrix, int *otile, int *ztile));169 off_t gfits_tile_size PROTO((Matrix *matrix, int *otile, int *ztile)); 169 170 int gfits_uncompressed_data_pixsize PROTO((char *cmptype, int out_bitpix, char **optname, char **optvalue, int Noptions)); 170 171 int gfits_vartable_heap_pixsize PROTO((char format)); … … 173 174 174 175 char *gfits_table_print PROTO((FTable *ftable,...)); 175 int gfits_add_rows PROTO((FTable *ftable, char *data, int Nrow, int Nbytes));176 int gfits_add_rows PROTO((FTable *ftable, char *data, off_t Nrow, off_t Nbytes)); 176 177 int gfits_bintable_format PROTO((char *format, char *type, int *Nval, int *Nbytes)); 177 178 int gfits_create_table PROTO((Header *header, FTable *ftable)); … … 181 182 int gfits_fread_ftable PROTO((FILE *f, FTable *ftable, char *extname)); 182 183 int gfits_fread_ftable_data PROTO((FILE *f, FTable *ftable)); 183 int gfits_fread_ftable_range PROTO((FILE *f, FTable *ftable, int start, int Nrows));184 int gfits_fread_vtable PROTO((FILE *f, VTable *vtable, char *extname, int Nrow, int *row));185 int gfits_fread_vtable_range PROTO((FILE *f, VTable *vtable, int start, int Nrows));184 int gfits_fread_ftable_range PROTO((FILE *f, FTable *ftable, off_t start, off_t Nrows)); 185 int gfits_fread_vtable PROTO((FILE *f, VTable *vtable, char *extname, off_t Nrow, off_t *row)); 186 int gfits_fread_vtable_range PROTO((FILE *f, VTable *vtable, off_t start, off_t Nrows)); 186 187 int gfits_free_table PROTO((FTable *ftable)); 187 188 int gfits_free_vtable PROTO((VTable *vtable)); 188 189 int gfits_fwrite_table PROTO((FILE *f, FTable *table)); 189 190 int gfits_fwrite_vtable PROTO((FILE *f, VTable *table)); 190 int gfits_fwrite_ftable_range PROTO((FILE *f, FTable *table, int start, int Nrows, int Ndisk, int Ntotal));191 int gfits_fwrite_ftable_range PROTO((FILE *f, FTable *table, off_t start, off_t Nrows, off_t Ndisk, off_t Ntotal)); 191 192 int gfits_get_bintable_column PROTO((Header *header, FTable *table, char *label, void **data)); 192 193 int gfits_get_bintable_column_type PROTO((Header *header, char *label, char *type, int *Nval)); 193 void *gfits_get_bintable_column_data PROTO((Header *header, FTable *table, char *label, char *type, int *Nrow, int *Ncol));194 void *gfits_get_bintable_column_data PROTO((Header *header, FTable *table, char *label, char *type, off_t *Nrow, int *Ncol)); 194 195 int gfits_get_table_column PROTO((Header *header, FTable *table, char *label, void **data)); 195 196 int gfits_get_table_column_type PROTO((Header *header, char *label, char *type)); 196 197 int gfits_read_ftable PROTO((char *filename, FTable *table, char *extname)); 197 198 int gfits_read_table PROTO((char *filename, FTable *ftable)); 198 int gfits_set_bintable_column PROTO((Header *header, FTable *table, char *label, void *data, int Nrow));199 int gfits_set_table_column PROTO((Header *header, FTable *table, char *label, void *data, int Nrow));199 int gfits_set_bintable_column PROTO((Header *header, FTable *table, char *label, void *data, off_t Nrow)); 200 int gfits_set_table_column PROTO((Header *header, FTable *table, char *label, void *data, off_t Nrow)); 200 201 int gfits_table_column PROTO((FTable *ftable, char *field, char *mode,...)); 201 202 int gfits_table_format PROTO((char *format, char *type, int *Nval, int *Nbytes)); 202 203 int gfits_table_scale_data PROTO((FTable *ftable)); 203 204 int gfits_table_scale_storage PROTO((FTable *ftable)); 204 int gfits_table_to_vtable PROTO((FTable *ftable, VTable *vtable, int start, int Nkeep));205 int gfits_vadd_rows PROTO((VTable *vtable, char *data, int Nrow, int Nbytes));206 int gfits_vtable_from_ftable PROTO((FTable *ftable, VTable *vtable, int *row, int Nrow));205 int gfits_table_to_vtable PROTO((FTable *ftable, VTable *vtable, off_t start, off_t Nkeep)); 206 int gfits_vadd_rows PROTO((VTable *vtable, char *data, off_t Nrow, off_t Nbytes)); 207 int gfits_vtable_from_ftable PROTO((FTable *ftable, VTable *vtable, off_t *row, off_t Nrow)); 207 208 int gfits_write_table PROTO((char *filename, FTable *ftable)); 208 209 … … 215 216 216 217 int gfits_varlength_column_define PROTO((FTable *ftable, VarLengthColumn *def, int column)); 217 void *gfits_varlength_column_pointer PROTO((FTable *ftable, VarLengthColumn *column, int row, int *length));218 void *gfits_varlength_column_pointer PROTO((FTable *ftable, VarLengthColumn *column, off_t row, off_t *length)); 218 219 219 220 #endif /* FITSIO */
Note:
See TracChangeset
for help on using the changeset viewer.
