6 #define USE_LARGE_VALUE -99
8 #define DBUFFSIZE 28800
12 #define MINDIRECT 8640
29 #if defined(_MIPS_SZLONG)
30 # if _MIPS_SZLONG == 32
32 # elif _MIPS_SZLONG == 64
35 # error "can't handle long size given by _MIPS_SZLONG"
39 #if defined(vax) && defined(VMS)
41 #define MACHINE VAXVMS
42 #define BYTESWAPPED TRUE
44 #elif defined(__alpha) && defined(__VMS)
46 #if (__D_FLOAT == TRUE)
49 #define MACHINE VAXVMS
50 #define BYTESWAPPED TRUE
52 #elif (__G_FLOAT == TRUE)
55 #define MACHINE ALPHAVMS
56 #define BYTESWAPPED TRUE
57 #define FLOATTYPE GFLOAT
59 #elif (__IEEE_FLOAT == TRUE)
61 #define MACHINE ALPHAVMS
62 #define BYTESWAPPED TRUE
63 #define FLOATTYPE IEEEFLOAT
67 #elif defined(__alpha) && defined(__unix__)
69 #define MACHINE ALPHA_OSF
70 #define BYTESWAPPED TRUE
73 #elif defined(ultrix) && defined(unix)
75 #define MACHINE ULTRIX
76 #define BYTESWAPPED TRUE
78 #elif defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__)
82 #define BYTESWAPPED TRUE
84 #elif defined(_MSC_VER) || defined(__BORLANDC__) || defined(__TURBOC__)
88 #define BYTESWAPPED TRUE
90 #elif defined(_NI_mswin_)
94 #define BYTESWAPPED TRUE
96 #elif defined(__EMX__)
100 #define BYTESWAPPED TRUE
102 #elif defined(__sparcv9)
105 #define BYTESWAPPED FALSE
106 #define MACHINE NATIVE
112 #define MACHINE NATIVE
113 #define BYTESWAPPED FALSE
124 #define DATA_UNDEFINED -1
125 #define NULL_UNDEFINED 1234554321
126 #define ASCII_NULL_UNDEFINED 1
128 #define maxvalue(A,B) ((A) > (B) ? (A) : (B))
129 #define minvalue(A,B) ((A) < (B) ? (A) : (B))
132 #define FSTRCMP(a,b) ((a)[0]<(b)[0]? -1:(a)[0]>(b)[0]?1:strcmp((a),(b)))
133 #define FSTRNCMP(a,b,n) ((a)[0]<(b)[0]?-1:(a)[0]>(b)[0]?1:strncmp((a),(b),(n)))
135 #if defined(__VMS) || defined(VMS)
137 #define FNANMASK 0xFFFF
138 #define DNANMASK 0xFFFF
142 #define FNANMASK 0x7F80
145 #define DNANMASK 0x7FF0
157 #define fnan(L) ( (L) >= 0xE000000000000000 ? 1 : 0) )
170 ( (L & FNANMASK) == FNANMASK ? 1 : (L & FNANMASK) == 0 ? 2 : 0)
173 ( (L & DNANMASK) == DNANMASK ? 1 : (L & DNANMASK) == 0 ? 2 : 0)
177 #define DUCHAR_MAX 255.49
178 #define DUCHAR_MIN -0.49
179 #define DUSHRT_MAX 65535.49
180 #define DUSHRT_MIN -0.49
181 #define DSHRT_MAX 32767.49
182 #define DSHRT_MIN -32768.49
183 #define DULONG_MAX 4294967295.49
184 #define DULONG_MIN -0.49
185 #define DLONG_MAX 2147483647.49
186 #define DLONG_MIN -2147483648.49
187 #define DUINT_MAX 4294967295.49
188 #define DUINT_MIN -0.49
189 #define DINT_MAX 2147483647.49
190 #define DINT_MIN -2147483648.49
193 #define UINT32_MAX 4294967295U
196 #define INT32_MAX 2147483647
199 #define INT32_MIN -2147483647
202 #define COMPRESS_NULL_VALUE -2147483647
204 int ffmkky(
char *keyname,
char *keyval,
char *comm,
char *card,
int *status);
205 int ffgnky(
fitsfile *fptr,
char *card,
int *status);
206 void ffcfmt(
char *tform,
char *cform);
207 void ffcdsp(
char *tform,
char *cform);
208 void ffswap2(
short *values,
long nvalues);
209 void ffswap4(INT32BIT *values,
long nvalues);
210 void ffswap8(
double *values,
long nvalues);
211 int ffi2c(
long ival,
char *cval,
int *status);
212 int ffl2c(
int lval,
char *cval,
int *status);
213 int ffs2c(
char *instr,
char *outstr,
int *status);
214 int ffr2f(
float fval,
int decim,
char *cval,
int *status);
215 int ffr2e(
float fval,
int decim,
char *cval,
int *status);
216 int ffd2f(
double dval,
int decim,
char *cval,
int *status);
217 int ffd2e(
double dval,
int decim,
char *cval,
int *status);
218 int ffc2ii(
char *cval,
long *ival,
int *status);
219 int ffc2ll(
char *cval,
int *
lval,
int *status);
220 int ffc2rr(
char *cval,
float *fval,
int *status);
221 int ffc2dd(
char *cval,
double *dval,
int *status);
222 int ffc2x(
char *cval,
char *dtype,
long *ival,
int *
lval,
char *sval,
223 double *dval,
int *status);
224 int ffc2s(
char *instr,
char *outstr,
int *status);
225 int ffc2i(
char *cval,
long *ival,
int *status);
226 int ffc2r(
char *cval,
float *fval,
int *status);
227 int ffc2d(
char *cval,
double *dval,
int *status);
228 int ffc2l(
char *cval,
int *
lval,
int *status);
229 void ffxmsg(
int action,
char *err_message);
230 int ffgcnt(
fitsfile *fptr,
char *value,
int *status);
231 int ffgtkn(
fitsfile *fptr,
int numkey,
char *keyname,
long *value,
int *status);
232 int fftkyn(
fitsfile *fptr,
int numkey,
char *keyname,
char *value,
int *status);
233 int ffgphd(
fitsfile *fptr,
int maxdim,
int *simple,
int *bitpix,
int *naxis,
234 long naxes[],
long *pcount,
long *gcount,
int *extend,
double *bscale,
235 double *bzero,
long *blank,
int *nspace,
int *status);
236 int ffgttb(
fitsfile *fptr,
long *rowlen,
long *nrows,
long *pcount,
237 long *tfield,
int *status);
239 int ffmkey(
fitsfile *fptr,
char *card,
int *status);
240 int ffikey(
fitsfile *fptr,
char *card,
int *status);
242 int ffmbyt(
fitsfile *fptr, OFF_T bytpos,
int ignore_err,
int *status);
243 int ffgbyt(
fitsfile *fptr,
long nbytes,
void *
buffer,
int *status);
244 int ffpbyt(
fitsfile *fptr,
long nbytes,
void *
buffer,
int *status);
245 int ffgbytoff(
fitsfile *fptr,
long gsize,
long ngroups,
long offset,
246 void *
buffer,
int *status);
247 int ffpbytoff(
fitsfile *fptr,
long gsize,
long ngroups,
long offset,
248 void *
buffer,
int *status);
249 int ffldrc(
fitsfile *fptr,
long record,
int err_mode,
int *status);
250 int ffwhbf(
fitsfile *fptr,
int *nbuff);
251 int ffcurbuf(
int nbuff,
FITSfile **Fptr);
252 int ffflsh(
fitsfile *fptr,
int clearbuf,
int *status);
253 int ffbfeof(
fitsfile *fptr,
int *status);
254 int ffbfwt(
int nbuff,
int *status);
255 int fits_get_num_files(
void);
256 int ffpxsz(
int datatype);
258 int ffoptplt(
fitsfile *fptr,
const char *tempname,
int *status);
259 int fits_is_this_a_copy(
char *urltype);
260 int fits_already_open(
fitsfile **fptr,
char *url,
261 char *urltype,
char *infile,
char *extspec,
char *rowfilter,
262 char *binspec,
char *colspec,
int mode,
int *isopen,
int *status);
263 int ffedit_columns(
fitsfile **fptr,
char *outfile,
char *expr,
int *status);
264 int fits_get_col_minmax(
fitsfile *fptr,
int colnum,
float *datamin,
265 float *datamax,
int *status);
266 int ffwritehisto(
long totaln,
long offset,
long firstn,
long nvalues,
267 int narrays,
iteratorCol *imagepars,
void *userPointer);
268 int ffcalchist(
long totalrows,
long offset,
long firstrow,
long nrows,
269 int ncols,
iteratorCol *colpars,
void *userPointer);
270 int fits_copy_image_cell(
fitsfile **fptr,
char *outfile,
char *colname,
271 long rownum,
int *status);
272 int fits_copy_image_keywords(
fitsfile *infptr,
fitsfile *outfptr,
int *status);
273 int fits_get_section_range(
char **ptr,
long *secmin,
long *secmax,
long *incre,
275 int ffrhdu(
fitsfile *fptr,
int *hdutype,
int *status);
276 int ffpinit(
fitsfile *fptr,
int *status);
277 int ffainit(
fitsfile *fptr,
int *status);
278 int ffbinit(
fitsfile *fptr,
int *status);
279 int ffchdu(
fitsfile *fptr,
int *status);
280 int ffwend(
fitsfile *fptr,
int *status);
281 int ffpdfl(
fitsfile *fptr,
int *status);
282 int ffuptf(
fitsfile *fptr,
int *status);
284 int ffdblk(
fitsfile *fptr,
long nblocks,
int *status);
285 int ffgext(
fitsfile *fptr,
int moveto,
int *exttype,
int *status);
286 int ffgtbc(
fitsfile *fptr,
long *totalwidth,
int *status);
287 int ffgtbp(
fitsfile *fptr,
char *name,
char *value,
int *status);
288 int ffiblk(
fitsfile *fptr,
long nblock,
int headdata,
int *status);
289 int ffshft(
fitsfile *fptr, OFF_T firstbyte, OFF_T nbytes, OFF_T nshift,
292 int ffgcpr(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
293 long nelem,
int writemode,
double *scale,
double *zero,
char *tform,
294 long *twidth,
int *tcode,
int *maxelem, OFF_T *startpos,
295 OFF_T *elemnum,
long *incre, OFF_T *repeat, OFF_T *rowlen,
296 int *hdutype,
long *tnull,
char *snull,
int *status);
299 int ffseek(
FITSfile *fptr, OFF_T position);
304 int fftrun(
fitsfile *fptr, OFF_T filesize,
int *status);
306 int ffgcll(
fitsfile *fptr,
int colnum,
long firstrow,
long firstelem,
long
307 nelem,
int nultyp,
char nulval,
char *array,
char *nularray,
308 int *anynul,
int *status);
309 int ffgcls(
fitsfile *fptr,
int colnum,
long firstrow,
long firstelem,
310 long nelem,
int nultyp,
char *nulval,
311 char **array,
char *nularray,
int *anynul,
int *status);
312 int ffgcls2(
fitsfile *fptr,
int colnum,
long firstrow,
long firstelem,
313 long nelem,
int nultyp,
char *nulval,
314 char **array,
char *nularray,
int *anynul,
int *status);
315 int ffgclb(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
316 long nelem,
long elemincre,
int nultyp,
unsigned char nulval,
317 unsigned char *array,
char *nularray,
int *anynul,
int *status);
318 int ffgclui(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
319 long nelem,
long elemincre,
int nultyp,
unsigned short nulval,
320 unsigned short *array,
char *nularray,
int *anynul,
int *status);
321 int ffgcli(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
322 long nelem,
long elemincre,
int nultyp,
short nulval,
323 short *array,
char *nularray,
int *anynul,
int *status);
324 int ffgcluj(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
325 long nelem,
long elemincre,
int nultyp,
unsigned long nulval,
326 unsigned long *array,
char *nularray,
int *anynul,
int *status);
327 int ffgclj(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
328 long nelem,
long elemincre,
int nultyp,
long nulval,
long *array,
329 char *nularray,
int *anynul,
int *status);
330 int ffgcluk(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
331 long nelem,
long elemincre,
int nultyp,
unsigned int nulval,
332 unsigned int *array,
char *nularray,
int *anynul,
int *status);
333 int ffgclk(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
334 long nelem,
long elemincre,
int nultyp,
int nulval,
int *array,
335 char *nularray,
int *anynul,
int *status);
336 int ffgcle(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
337 long nelem,
long elemincre,
int nultyp,
float nulval,
float *array,
338 char *nularray,
int *anynul,
int *status);
339 int ffgcld(
fitsfile *fptr,
int colnum,
long firstrow, OFF_T firstelem,
340 long nelem,
long elemincre,
int nultyp,
double nulval,
341 double *array,
char *nularray,
int *anynul,
int *status);
343 int ffpi1b(
fitsfile *fptr,
long nelem,
long incre,
unsigned char *
buffer,
345 int ffpi2b(
fitsfile *fptr,
long nelem,
long incre,
short *
buffer,
int *status);
346 int ffpi4b(
fitsfile *fptr,
long nelem,
long incre, INT32BIT *
buffer,
348 int ffpr4b(
fitsfile *fptr,
long nelem,
long incre,
float *
buffer,
int *status);
349 int ffpr8b(
fitsfile *fptr,
long nelem,
long incre,
double *
buffer,
int *status);
351 int ffgi1b(
fitsfile *fptr, OFF_T pos,
long nelem,
long incre,
352 unsigned char *
buffer,
int *status);
353 int ffgi2b(
fitsfile *fptr, OFF_T pos,
long nelem,
long incre,
short *
buffer,
355 int ffgi4b(
fitsfile *fptr, OFF_T pos,
long nelem,
long incre, INT32BIT *
buffer,
357 int ffgr4b(
fitsfile *fptr, OFF_T pos,
long nelem,
long incre,
float *
buffer,
359 int ffgr8b(
fitsfile *fptr, OFF_T pos,
long nelem,
long incre,
double *
buffer,
362 int ffcins(
fitsfile *fptr,
long naxis1,
long naxis2,
long nbytes,
363 long bytepos,
int *status);
364 int ffcdel(
fitsfile *fptr,
long naxis1,
long naxis2,
long nbytes,
365 long bytepos,
int *status);
366 int ffkshf(
fitsfile *fptr,
int firstcol,
int tfields,
int nshift,
int *status);
368 int fffi1i1(
unsigned char *input,
long ntodo,
double scale,
double zero,
369 int nullcheck,
unsigned char tnull,
unsigned char nullval,
char
370 *nullarray,
int *anynull,
unsigned char *output,
int *status);
371 int fffi2i1(
short *input,
long ntodo,
double scale,
double zero,
372 int nullcheck,
short tnull,
unsigned char nullval,
char *nullarray,
373 int *anynull,
unsigned char *output,
int *status);
374 int fffi4i1(INT32BIT *input,
long ntodo,
double scale,
double zero,
375 int nullcheck, INT32BIT tnull,
unsigned char nullval,
char *nullarray,
376 int *anynull,
unsigned char *output,
int *status);
377 int fffr4i1(
float *input,
long ntodo,
double scale,
double zero,
378 int nullcheck,
unsigned char nullval,
char *nullarray,
379 int *anynull,
unsigned char *output,
int *status);
380 int fffr8i1(
double *input,
long ntodo,
double scale,
double zero,
381 int nullcheck,
unsigned char nullval,
char *nullarray,
382 int *anynull,
unsigned char *output,
int *status);
383 int fffstri1(
char *input,
long ntodo,
double scale,
double zero,
384 long twidth,
double power,
int nullcheck,
char *snull,
385 unsigned char nullval,
char *nullarray,
int *anynull,
386 unsigned char *output,
int *status);
388 int fffi1u2(
unsigned char *input,
long ntodo,
double scale,
double zero,
389 int nullcheck,
unsigned char tnull,
unsigned short nullval,
391 int *anynull,
unsigned short *output,
int *status);
392 int fffi2u2(
short *input,
long ntodo,
double scale,
double zero,
393 int nullcheck,
short tnull,
unsigned short nullval,
char *nullarray,
394 int *anynull,
unsigned short *output,
int *status);
395 int fffi4u2(INT32BIT *input,
long ntodo,
double scale,
double zero,
396 int nullcheck, INT32BIT tnull,
unsigned short nullval,
char *nullarray,
397 int *anynull,
unsigned short *output,
int *status);
398 int fffr4u2(
float *input,
long ntodo,
double scale,
double zero,
399 int nullcheck,
unsigned short nullval,
char *nullarray,
400 int *anynull,
unsigned short *output,
int *status);
401 int fffr8u2(
double *input,
long ntodo,
double scale,
double zero,
402 int nullcheck,
unsigned short nullval,
char *nullarray,
403 int *anynull,
unsigned short *output,
int *status);
404 int fffstru2(
char *input,
long ntodo,
double scale,
double zero,
405 long twidth,
double power,
int nullcheck,
char *snull,
406 unsigned short nullval,
char *nullarray,
int *anynull,
407 unsigned short *output,
int *status);
409 int fffi1i2(
unsigned char *input,
long ntodo,
double scale,
double zero,
410 int nullcheck,
unsigned char tnull,
short nullval,
char *nullarray,
411 int *anynull,
short *output,
int *status);
412 int fffi2i2(
short *input,
long ntodo,
double scale,
double zero,
413 int nullcheck,
short tnull,
short nullval,
char *nullarray,
414 int *anynull,
short *output,
int *status);
415 int fffi4i2(INT32BIT *input,
long ntodo,
double scale,
double zero,
416 int nullcheck, INT32BIT tnull,
short nullval,
char *nullarray,
417 int *anynull,
short *output,
int *status);
418 int fffr4i2(
float *input,
long ntodo,
double scale,
double zero,
419 int nullcheck,
short nullval,
char *nullarray,
420 int *anynull,
short *output,
int *status);
421 int fffr8i2(
double *input,
long ntodo,
double scale,
double zero,
422 int nullcheck,
short nullval,
char *nullarray,
423 int *anynull,
short *output,
int *status);
424 int fffstri2(
char *input,
long ntodo,
double scale,
double zero,
425 long twidth,
double power,
int nullcheck,
char *snull,
426 short nullval,
char *nullarray,
int *anynull,
short *output,
429 int fffi1u4(
unsigned char *input,
long ntodo,
double scale,
double zero,
430 int nullcheck,
unsigned char tnull,
unsigned long nullval,
432 int *anynull,
unsigned long *output,
int *status);
433 int fffi2u4(
short *input,
long ntodo,
double scale,
double zero,
434 int nullcheck,
short tnull,
unsigned long nullval,
char *nullarray,
435 int *anynull,
unsigned long *output,
int *status);
436 int fffi4u4(INT32BIT *input,
long ntodo,
double scale,
double zero,
437 int nullcheck, INT32BIT tnull,
unsigned long nullval,
char *nullarray,
438 int *anynull,
unsigned long *output,
int *status);
439 int fffr4u4(
float *input,
long ntodo,
double scale,
double zero,
440 int nullcheck,
unsigned long nullval,
char *nullarray,
441 int *anynull,
unsigned long *output,
int *status);
442 int fffr8u4(
double *input,
long ntodo,
double scale,
double zero,
443 int nullcheck,
unsigned long nullval,
char *nullarray,
444 int *anynull,
unsigned long *output,
int *status);
445 int fffstru4(
char *input,
long ntodo,
double scale,
double zero,
446 long twidth,
double power,
int nullcheck,
char *snull,
447 unsigned long nullval,
char *nullarray,
int *anynull,
448 unsigned long *output,
int *status);
450 int fffi1i4(
unsigned char *input,
long ntodo,
double scale,
double zero,
451 int nullcheck,
unsigned char tnull,
long nullval,
char *nullarray,
452 int *anynull,
long *output,
int *status);
453 int fffi2i4(
short *input,
long ntodo,
double scale,
double zero,
454 int nullcheck,
short tnull,
long nullval,
char *nullarray,
455 int *anynull,
long *output,
int *status);
456 int fffi4i4(INT32BIT *input,
long ntodo,
double scale,
double zero,
457 int nullcheck, INT32BIT tnull,
long nullval,
char *nullarray,
458 int *anynull,
long *output,
int *status);
459 int fffr4i4(
float *input,
long ntodo,
double scale,
double zero,
460 int nullcheck,
long nullval,
char *nullarray,
461 int *anynull,
long *output,
int *status);
462 int fffr8i4(
double *input,
long ntodo,
double scale,
double zero,
463 int nullcheck,
long nullval,
char *nullarray,
464 int *anynull,
long *output,
int *status);
465 int fffstri4(
char *input,
long ntodo,
double scale,
double zero,
466 long twidth,
double power,
int nullcheck,
char *snull,
467 long nullval,
char *nullarray,
int *anynull,
long *output,
470 int fffi1int(
unsigned char *input,
long ntodo,
double scale,
double zero,
471 int nullcheck,
unsigned char tnull,
int nullval,
char *nullarray,
472 int *anynull,
int *output,
int *status);
473 int fffi2int(
short *input,
long ntodo,
double scale,
double zero,
474 int nullcheck,
short tnull,
int nullval,
char *nullarray,
475 int *anynull,
int *output,
int *status);
476 int fffi4int(INT32BIT *input,
long ntodo,
double scale,
double zero,
477 int nullcheck, INT32BIT tnull,
int nullval,
char *nullarray,
478 int *anynull,
int *output,
int *status);
479 int fffr4int(
float *input,
long ntodo,
double scale,
double zero,
480 int nullcheck,
int nullval,
char *nullarray,
481 int *anynull,
int *output,
int *status);
482 int fffr8int(
double *input,
long ntodo,
double scale,
double zero,
483 int nullcheck,
int nullval,
char *nullarray,
484 int *anynull,
int *output,
int *status);
485 int fffstrint(
char *input,
long ntodo,
double scale,
double zero,
486 long twidth,
double power,
int nullcheck,
char *snull,
487 int nullval,
char *nullarray,
int *anynull,
int *output,
490 int fffi1uint(
unsigned char *input,
long ntodo,
double scale,
double zero,
491 int nullcheck,
unsigned char tnull,
unsigned int nullval,
492 char *nullarray,
int *anynull,
unsigned int *output,
int *status);
493 int fffi2uint(
short *input,
long ntodo,
double scale,
double zero,
494 int nullcheck,
short tnull,
unsigned int nullval,
char *nullarray,
495 int *anynull,
unsigned int *output,
int *status);
496 int fffi4uint(INT32BIT *input,
long ntodo,
double scale,
double zero,
497 int nullcheck, INT32BIT tnull,
unsigned int nullval,
char *nullarray,
498 int *anynull,
unsigned int *output,
int *status);
499 int fffr4uint(
float *input,
long ntodo,
double scale,
double zero,
500 int nullcheck,
unsigned int nullval,
char *nullarray,
501 int *anynull,
unsigned int *output,
int *status);
502 int fffr8uint(
double *input,
long ntodo,
double scale,
double zero,
503 int nullcheck,
unsigned int nullval,
char *nullarray,
504 int *anynull,
unsigned int *output,
int *status);
505 int fffstruint(
char *input,
long ntodo,
double scale,
double zero,
506 long twidth,
double power,
int nullcheck,
char *snull,
507 unsigned int nullval,
char *nullarray,
int *anynull,
508 unsigned int *output,
int *status);
510 int fffi1r4(
unsigned char *input,
long ntodo,
double scale,
double zero,
511 int nullcheck,
unsigned char tnull,
float nullval,
char *nullarray,
512 int *anynull,
float *output,
int *status);
513 int fffi2r4(
short *input,
long ntodo,
double scale,
double zero,
514 int nullcheck,
short tnull,
float nullval,
char *nullarray,
515 int *anynull,
float *output,
int *status);
516 int fffi4r4(INT32BIT *input,
long ntodo,
double scale,
double zero,
517 int nullcheck, INT32BIT tnull,
float nullval,
char *nullarray,
518 int *anynull,
float *output,
int *status);
519 int fffr4r4(
float *input,
long ntodo,
double scale,
double zero,
520 int nullcheck,
float nullval,
char *nullarray,
521 int *anynull,
float *output,
int *status);
522 int fffr8r4(
double *input,
long ntodo,
double scale,
double zero,
523 int nullcheck,
float nullval,
char *nullarray,
524 int *anynull,
float *output,
int *status);
525 int fffstrr4(
char *input,
long ntodo,
double scale,
double zero,
526 long twidth,
double power,
int nullcheck,
char *snull,
527 float nullval,
char *nullarray,
int *anynull,
float *output,
530 int fffi1r8(
unsigned char *input,
long ntodo,
double scale,
double zero,
531 int nullcheck,
unsigned char tnull,
double nullval,
char *nullarray,
532 int *anynull,
double *output,
int *status);
533 int fffi2r8(
short *input,
long ntodo,
double scale,
double zero,
534 int nullcheck,
short tnull,
double nullval,
char *nullarray,
535 int *anynull,
double *output,
int *status);
536 int fffi4r8(INT32BIT *input,
long ntodo,
double scale,
double zero,
537 int nullcheck, INT32BIT tnull,
double nullval,
char *nullarray,
538 int *anynull,
double *output,
int *status);
539 int fffr4r8(
float *input,
long ntodo,
double scale,
double zero,
540 int nullcheck,
double nullval,
char *nullarray,
541 int *anynull,
double *output,
int *status);
542 int fffr8r8(
double *input,
long ntodo,
double scale,
double zero,
543 int nullcheck,
double nullval,
char *nullarray,
544 int *anynull,
double *output,
int *status);
545 int fffstrr8(
char *input,
long ntodo,
double scale,
double zero,
546 long twidth,
double power,
int nullcheck,
char *snull,
547 double nullval,
char *nullarray,
int *anynull,
double *output,
550 int ffi1fi1(
unsigned char *array,
long ntodo,
double scale,
double zero,
551 unsigned char *
buffer,
int *status);
552 int ffu2fi1(
unsigned short *array,
long ntodo,
double scale,
double zero,
553 unsigned char *
buffer,
int *status);
554 int ffi2fi1(
short *array,
long ntodo,
double scale,
double zero,
555 unsigned char *
buffer,
int *status);
556 int ffu4fi1(
unsigned long *array,
long ntodo,
double scale,
double zero,
557 unsigned char *
buffer,
int *status);
558 int ffi4fi1(
long *array,
long ntodo,
double scale,
double zero,
559 unsigned char *
buffer,
int *status);
560 int ffuintfi1(
unsigned int *array,
long ntodo,
double scale,
double zero,
561 unsigned char *
buffer,
int *status);
562 int ffintfi1(
int *array,
long ntodo,
double scale,
double zero,
563 unsigned char *
buffer,
int *status);
564 int ffr4fi1(
float *array,
long ntodo,
double scale,
double zero,
565 unsigned char *
buffer,
int *status);
566 int ffr8fi1(
double *array,
long ntodo,
double scale,
double zero,
567 unsigned char *
buffer,
int *status);
569 int ffi1fi2(
unsigned char *array,
long ntodo,
double scale,
double zero,
570 short *
buffer,
int *status);
571 int ffu2fi2(
unsigned short *array,
long ntodo,
double scale,
double zero,
572 short *
buffer,
int *status);
573 int ffi2fi2(
short *array,
long ntodo,
double scale,
double zero,
574 short *
buffer,
int *status);
575 int ffu4fi2(
unsigned long *array,
long ntodo,
double scale,
double zero,
576 short *
buffer,
int *status);
577 int ffi4fi2(
long *array,
long ntodo,
double scale,
double zero,
578 short *
buffer,
int *status);
579 int ffuintfi2(
unsigned int *array,
long ntodo,
double scale,
double zero,
580 short *
buffer,
int *status);
581 int ffintfi2(
int *array,
long ntodo,
double scale,
double zero,
582 short *
buffer,
int *status);
583 int ffr4fi2(
float *array,
long ntodo,
double scale,
double zero,
584 short *
buffer,
int *status);
585 int ffr8fi2(
double *array,
long ntodo,
double scale,
double zero,
586 short *
buffer,
int *status);
588 int ffi1fi4(
unsigned char *array,
long ntodo,
double scale,
double zero,
589 INT32BIT *
buffer,
int *status);
590 int ffu2fi4(
unsigned short *array,
long ntodo,
double scale,
double zero,
591 INT32BIT *
buffer,
int *status);
592 int ffi2fi4(
short *array,
long ntodo,
double scale,
double zero,
593 INT32BIT *
buffer,
int *status);
594 int ffu4fi4(
unsigned long *array,
long ntodo,
double scale,
double zero,
595 INT32BIT *
buffer,
int *status);
596 int ffi4fi4(
long *array,
long ntodo,
double scale,
double zero,
597 INT32BIT *
buffer,
int *status);
598 int ffuintfi4(
unsigned int *array,
long ntodo,
double scale,
double zero,
599 INT32BIT *
buffer,
int *status);
600 int ffintfi4(
int *array,
long ntodo,
double scale,
double zero,
601 INT32BIT *
buffer,
int *status);
602 int ffr4fi4(
float *array,
long ntodo,
double scale,
double zero,
603 INT32BIT *
buffer,
int *status);
604 int ffr8fi4(
double *array,
long ntodo,
double scale,
double zero,
605 INT32BIT *
buffer,
int *status);
607 int ffi1fr4(
unsigned char *array,
long ntodo,
double scale,
double zero,
608 float *
buffer,
int *status);
609 int ffu2fr4(
unsigned short *array,
long ntodo,
double scale,
double zero,
610 float *
buffer,
int *status);
611 int ffi2fr4(
short *array,
long ntodo,
double scale,
double zero,
612 float *
buffer,
int *status);
613 int ffu4fr4(
unsigned long *array,
long ntodo,
double scale,
double zero,
614 float *
buffer,
int *status);
615 int ffi4fr4(
long *array,
long ntodo,
double scale,
double zero,
616 float *
buffer,
int *status);
617 int ffuintfr4(
unsigned int *array,
long ntodo,
double scale,
double zero,
618 float *
buffer,
int *status);
619 int ffintfr4(
int *array,
long ntodo,
double scale,
double zero,
620 float *
buffer,
int *status);
621 int ffr4fr4(
float *array,
long ntodo,
double scale,
double zero,
622 float *
buffer,
int *status);
623 int ffr8fr4(
double *array,
long ntodo,
double scale,
double zero,
624 float *
buffer,
int *status);
626 int ffi1fr8(
unsigned char *array,
long ntodo,
double scale,
double zero,
627 double *
buffer,
int *status);
628 int ffu2fr8(
unsigned short *array,
long ntodo,
double scale,
double zero,
629 double *
buffer,
int *status);
630 int ffi2fr8(
short *array,
long ntodo,
double scale,
double zero,
631 double *
buffer,
int *status);
632 int ffu4fr8(
unsigned long *array,
long ntodo,
double scale,
double zero,
633 double *
buffer,
int *status);
634 int ffi4fr8(
long *array,
long ntodo,
double scale,
double zero,
635 double *
buffer,
int *status);
636 int ffuintfr8(
unsigned int *array,
long ntodo,
double scale,
double zero,
637 double *
buffer,
int *status);
638 int ffintfr8(
int *array,
long ntodo,
double scale,
double zero,
639 double *
buffer,
int *status);
640 int ffr4fr8(
float *array,
long ntodo,
double scale,
double zero,
641 double *
buffer,
int *status);
642 int ffr8fr8(
double *array,
long ntodo,
double scale,
double zero,
643 double *
buffer,
int *status);
645 int ffi1fstr(
unsigned char *input,
long ntodo,
double scale,
double zero,
646 char *cform,
long twidth,
char *output,
int *status);
647 int ffu2fstr(
unsigned short *input,
long ntodo,
double scale,
double zero,
648 char *cform,
long twidth,
char *output,
int *status);
649 int ffi2fstr(
short *input,
long ntodo,
double scale,
double zero,
650 char *cform,
long twidth,
char *output,
int *status);
651 int ffu4fstr(
unsigned long *input,
long ntodo,
double scale,
double zero,
652 char *cform,
long twidth,
char *output,
int *status);
653 int ffi4fstr(
long *input,
long ntodo,
double scale,
double zero,
654 char *cform,
long twidth,
char *output,
int *status);
655 int ffintfstr(
int *input,
long ntodo,
double scale,
double zero,
656 char *cform,
long twidth,
char *output,
int *status);
657 int ffuintfstr(
unsigned int *input,
long ntodo,
double scale,
double zero,
658 char *cform,
long twidth,
char *output,
int *status);
659 int ffr4fstr(
float *input,
long ntodo,
double scale,
double zero,
660 char *cform,
long twidth,
char *output,
int *status);
661 int ffr8fstr(
double *input,
long ntodo,
double scale,
double zero,
662 char *cform,
long twidth,
char *output,
int *status);
665 void ieevpd(
double *inarray,
double *outarray,
long *nvals);
666 void ieevud(
double *inarray,
double *outarray,
long *nvals);
667 void ieevpr(
float *inarray,
float *outarray,
long *nvals);
668 void ieevur(
float *inarray,
float *outarray,
long *nvals);
671 int ffselect_table(
fitsfile **fptr,
char *outfile,
char *expr,
int *status);
672 int ffiprs(
fitsfile *fptr,
int compressed,
char *expr,
int maxdim,
673 int *datatype,
long *nelem,
int *naxis,
long *naxes,
676 int ffcvtn(
int inputType,
void *input,
char *undef,
long ntodo,
677 int outputType,
void *nulval,
void *output,
678 int *anynull,
int *status );
679 int parse_data(
long totalrows,
long offset,
long firstrow,
682 int uncompress_hkdata(
fitsfile *fptr,
long ntimes,
683 double *times,
int *status );
684 int ffffrw_work(
long totalrows,
long offset,
long firstrow,
690 int imcomp_init_table(
fitsfile *outfptr,
int compress_type,
691 int bitpix,
int naxis,
long *naxes,
long *tilesize,
692 int rice_blocksize,
int rice_nbits,
int *status);
693 int imcomp_calc_max_elem (
int comptype,
int nx,
int blocksize);
698 int imcomp_compress_tile (
fitsfile *outfptr,
long row,
699 int datatype,
void *tiledata,
long tilelen,
int *status);
702 int fits_read_compressed_img_plane(
fitsfile *fptr,
int datatype,
703 int bytesperpixel,
long nplane,
long *firstcoord,
long *lastcoord,
704 long *inc,
long *naxes,
int nullcheck,
void *nullval,
705 void *array,
char *nullarray,
int *anynul,
long *nread,
int *status);
706 int imcomp_get_compressed_image_par(
fitsfile *infptr,
int *status);
707 int imcomp_decompress_tile (
fitsfile *infptr,
708 int nrow,
int tilesize,
int datatype,
int nullcheck,
709 void *nulval,
void *
buffer,
char *bnullarray,
int *anynul,
711 int imcomp_copy_overlap (
char *tile,
int datatype,
int ndim,
712 long *tfpixel,
long *tlpixel,
char *bnullarray,
char *image,
713 long *fpixel,
long *lpixel,
int nullcheck,
char *nullarray,
716 int pl_p2li (
int *pxsrc,
int xs,
short *lldst,
int npix);
717 int pl_l2pi (
short *ll_src,
int xs,
int *px_dst,
int npix);
721 int urltype2driver(
char *urltype,
int *driver);
722 int fits_init_cfitsio(
void);
724 int fits_register_driver(
char *prefix,
726 int (*fitsshutdown)(
void),
727 int (*setoptions)(
int option),
728 int (*getoptions)(
int *options),
729 int (*getversion)(
int *version),
730 int (*checkfile) (
char *urltype,
char *infile,
char *outfile),
731 int (*fitsopen)(
char *filename,
int rwmode,
int *driverhandle),
732 int (*fitscreate)(
char *filename,
int *driverhandle),
733 int (*fitstruncate)(
int driverhandle, OFF_T filesize),
734 int (*fitsclose)(
int driverhandle),
735 int (*fremove)(
char *filename),
736 int (*size)(
int driverhandle, OFF_T *size),
737 int (*flush)(
int driverhandle),
738 int (*seek)(
int driverhandle, OFF_T offset),
739 int (*fitsread) (
int driverhandle,
void *
buffer,
long nbytes),
740 int (*fitswrite)(
int driverhandle,
void *buffer,
long nbytes));
745 int file_setoptions(
int options);
746 int file_getoptions(
int *options);
747 int file_getversion(
int *version);
748 int file_shutdown(
void);
749 int file_checkfile(
char *urltype,
char *infile,
char *outfile);
750 int file_open(
char *filename,
int rwmode,
int *driverhandle);
751 int file_compress_open(
char *filename,
int rwmode,
int *hdl);
752 int file_openfile(
char *filename,
int rwmode, FILE **diskfile);
753 int file_create(
char *filename,
int *driverhandle);
754 int file_truncate(
int driverhandle, OFF_T filesize);
755 int file_size(
int driverhandle, OFF_T *filesize);
756 int file_close(
int driverhandle);
757 int file_remove(
char *filename);
758 int file_flush(
int driverhandle);
759 int file_seek(
int driverhandle, OFF_T offset);
760 int file_read (
int driverhandle,
void *buffer,
long nbytes);
761 int file_write(
int driverhandle,
void *buffer,
long nbytes);
762 int file_is_compressed(
char *filename);
767 int mem_setoptions(
int options);
768 int mem_getoptions(
int *options);
769 int mem_getversion(
int *version);
770 int mem_shutdown(
void);
771 int mem_create(
char *filename,
int *handle);
772 int mem_openmem(
void **buffptr,
size_t *buffsize,
size_t deltasize,
773 void *(*memrealloc)(
void *p,
size_t newsize),
int *handle);
774 int mem_createmem(
size_t memsize,
int *handle);
775 int stdin_checkfile(
char *urltype,
char *infile,
char *outfile);
776 int stdin_open(
char *filename,
int rwmode,
int *handle);
777 int stdin2mem(
int hd);
778 int stdin2file(
int hd);
779 int stdout_close(
int handle);
780 int mem_compress_open(
char *filename,
int rwmode,
int *hdl);
781 int mem_iraf_open(
char *filename,
int rwmode,
int *hdl);
782 int mem_size(
int handle, OFF_T *filesize);
783 int mem_truncate(
int handle, OFF_T filesize);
784 int mem_close_free(
int handle);
785 int mem_close_keep(
int handle);
786 int mem_seek(
int handle, OFF_T offset);
787 int mem_read(
int hdl,
void *buffer,
long nbytes);
788 int mem_write(
int hdl,
void *buffer,
long nbytes);
789 int mem_uncompress2mem(
char *filename, FILE *diskfile,
int hdl);
791 int iraf2mem(
char *filename,
char **buffptr,
size_t *buffsize,
792 size_t *filesize,
int *status);
797 int root_setoptions(
int options);
798 int root_getoptions(
int *options);
799 int root_getversion(
int *version);
800 int root_shutdown(
void);
801 int root_open(
char *filename,
int rwmode,
int *driverhandle);
802 int root_create(
char *filename,
int *driverhandle);
803 int root_close(
int driverhandle);
804 int root_flush(
int driverhandle);
805 int root_seek(
int driverhandle, OFF_T offset);
806 int root_read (
int driverhandle,
void *buffer,
long nbytes);
807 int root_write(
int driverhandle,
void *buffer,
long nbytes);
808 int root_size(
int handle, OFF_T *filesize);
812 int http_checkfile(
char *urltype,
char *infile,
char *outfile);
813 int http_open(
char *filename,
int rwmode,
int *driverhandle);
814 int http_file_open(
char *filename,
int rwmode,
int *driverhandle);
815 int http_compress_open(
char *filename,
int rwmode,
int *driverhandle);
819 int ftp_checkfile(
char *urltype,
char *infile,
char *outfile);
820 int ftp_open(
char *filename,
int rwmode,
int *driverhandle);
821 int ftp_file_open(
char *filename,
int rwmode,
int *driverhandle);
822 int ftp_compress_open(
char *filename,
int rwmode,
int *driverhandle);
825 int uncompress2mem(
char *filename, FILE *diskfile,
826 char **buffptr,
size_t *buffsize,
827 void *(*mem_realloc)(
void *p,
size_t newsize),
828 size_t *filesize,
int *status);
830 int uncompress2mem_from_mem(
835 void *(*mem_realloc)(
void *p,
size_t newsize),
839 int uncompress2file(
char *filename,
844 int compress2mem_from_mem(
849 void *(*mem_realloc)(
void *p,
size_t newsize),
855 #if HAVE_SHMEM_SERVICES==1
856 #include "drvrsmem.h"
864 #if defined(vms) || defined(__vms) || defined(WIN32) || defined(__WIN32__) || defined(macintosh)
870 int strcasecmp (
const char *s1,
const char *s2 );
871 int strncasecmp(
const char *s1,
const char *s2,
size_t n);
Definition: eval_defs.h:33
Definition: tVideoCapabilitiesEml.cc:67