| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089 |
- /* The FITSIO software was written by William Pence at the High Energy */
- /* Astrophysic Science Archive Research Center (HEASARC) at the NASA */
- /* Goddard Space Flight Center. */
- /*
- Copyright (Unpublished--all rights reserved under the copyright laws of
- the United States), U.S. Government as represented by the Administrator
- of the National Aeronautics and Space Administration. No copyright is
- claimed in the United States under Title 17, U.S. Code.
- Permission to freely use, copy, modify, and distribute this software
- and its documentation without fee is hereby granted, provided that this
- copyright notice and disclaimer of warranty appears in all copies.
- DISCLAIMER:
- THE SOFTWARE IS PROVIDED 'AS IS' WITHOUT ANY WARRANTY OF ANY KIND,
- EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO,
- ANY WARRANTY THAT THE SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY
- IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- PURPOSE, AND FREEDOM FROM INFRINGEMENT, AND ANY WARRANTY THAT THE
- DOCUMENTATION WILL CONFORM TO THE SOFTWARE, OR ANY WARRANTY THAT THE
- SOFTWARE WILL BE ERROR FREE. IN NO EVENT SHALL NASA BE LIABLE FOR ANY
- DAMAGES, INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR
- CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY WAY
- CONNECTED WITH THIS SOFTWARE, WHETHER OR NOT BASED UPON WARRANTY,
- CONTRACT, TORT , OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY
- PERSONS OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED
- FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SOFTWARE OR
- SERVICES PROVIDED HEREUNDER."
- */
- #ifndef _FITSIO_H
- #define _FITSIO_H
- #define CFITSIO_VERSION 4.5.0
- /* Minor and micro numbers must not exceed 99 under current method
- of version representataion in ffvers(). */
- #define CFITSIO_MICRO 0
- #define CFITSIO_MINOR 5
- #define CFITSIO_MAJOR 4
- #define CFITSIO_SONAME 10
- /* the SONAME is incremented in a new release if the binary shared */
- /* library (on linux and Mac systems) is not backward compatible */
- /* with the previous release of CFITSIO */
- /* CFITS_API is defined below for use on Windows systems. */
- /* It is used to identify the public functions which should be exported. */
- /* This has no effect on non-windows platforms where "WIN32" is not defined */
- #if defined (WIN32)
- #if defined(cfitsio_EXPORTS)
- #define CFITS_API __declspec(dllexport)
- #else
- #define CFITS_API /* __declspec(dllimport) */
- #endif /* CFITS_API */
- #else /* defined (WIN32) */
- #define CFITS_API
- #endif
- #include <stdio.h>
- /* the following was provided by Michael Greason (GSFC) to fix a */
- /* C/Fortran compatibility problem on an SGI Altix system running */
- /* SGI ProPack 4 [this is a Novell SuSE Enterprise 9 derivative] */
- /* and using the Intel C++ and Fortran compilers (version 9.1) */
- #if defined(__INTEL_COMPILER) && defined(__itanium__)
- # define mipsFortran 1
- # define _MIPS_SZLONG 64
- #endif
- #if defined(__GLIBC__) || defined(__APPLE__) || defined(__sgi)
- # include <sys/types.h> /* apparently needed on debian linux systems */
- #endif /* to define off_t */
- #include <stdlib.h> /* apparently needed to define size_t with gcc 2.8.1 */
- #include <limits.h> /* needed for LLONG_MAX and INT64_MAX definitions */
- /* Define the datatype for variables which store file offset values. */
- /* The newer 'off_t' datatype should be used for this purpose, but some */
- /* older compilers do not recognize this type, in which case we use 'long' */
- /* instead. Note that _OFF_T is defined (or not) in stdio.h depending */
- /* on whether _LARGEFILE_SOURCE is defined in sys/feature_tests.h */
- /* (at least on Solaris platforms using cc) */
- /* Debian systems require: "(defined(__GLIBC__) && defined(__off_t_defined))" */
- /* the mingw-w64 compiler requires: "(defined(__MINGW32__) && defined(_OFF_T_DEFINED))" */
- #if defined(_OFF_T) \
- || (defined(__GLIBC__) && defined(__off_t_defined)) \
- || (defined(__MINGW32__) && defined(_OFF_T_DEFINED)) \
- || defined(_MIPS_SZLONG) || defined(__APPLE__) || defined(_AIX)
- # define OFF_T off_t
- #elif defined(__BORLANDC__) || (defined(_MSC_VER) && (_MSC_VER>= 1400))
- # define OFF_T long long
- #else
- # define OFF_T long
- #endif
- /* this block determines if the the string function name is
- strtol or strtoll, and whether to use %ld or %lld in printf statements */
- /*
- The following 2 cases for that Athon64 were removed on 4 Jan 2006;
- they appear to be incorrect now that LONGLONG is always typedef'ed
- to 'long long'
- || defined(__ia64__) \
- || defined(__x86_64__) \
- */
- #if (defined(__alpha) && ( defined(__unix__) || defined(__NetBSD__) )) \
- || defined(__sparcv9) || (defined(__sparc__) && defined(__arch64__)) \
- || defined(__powerpc64__) || defined(__64BIT__) \
- || (defined(_MIPS_SZLONG) && _MIPS_SZLONG == 64) \
- || defined( _MSC_VER)|| defined(__BORLANDC__)
-
- # define USE_LL_SUFFIX 0
- #else
- # define USE_LL_SUFFIX 1
- #endif
- /*
- Determine what 8-byte integer data type is available.
- 'long long' is now supported by most compilers, but
- older MS Visual C++ compilers before V7.0 use '__int64' instead.
- */
- #ifndef LONGLONG_TYPE /* this may have been previously defined */
- #if defined(_MSC_VER) /* Microsoft Visual C++ */
- #if (_MSC_VER < 1300) /* versions earlier than V7.0 do not have 'long long' */
- typedef __int64 LONGLONG;
- typedef unsigned __int64 ULONGLONG;
- #else /* newer versions do support 'long long' */
- typedef long long LONGLONG;
- typedef unsigned long long ULONGLONG;
- #endif
- #elif defined( __BORLANDC__) /* for the Borland 5.5 compiler, in particular */
- typedef __int64 LONGLONG;
- typedef unsigned __int64 ULONGLONG;
- #else
- typedef long long LONGLONG;
- typedef unsigned long long ULONGLONG;
- #endif
- #define LONGLONG_TYPE
- #endif
- #ifndef LONGLONG_MAX
- #ifdef LLONG_MAX
- /* Linux and Solaris definition */
- #define LONGLONG_MAX LLONG_MAX
- #define LONGLONG_MIN LLONG_MIN
- #elif defined(LONG_LONG_MAX)
- #define LONGLONG_MAX LONG_LONG_MAX
- #define LONGLONG_MIN LONG_LONG_MIN
- #elif defined(__LONG_LONG_MAX__)
- /* Mac OS X & CYGWIN defintion */
- #define LONGLONG_MAX __LONG_LONG_MAX__
- #define LONGLONG_MIN (-LONGLONG_MAX -1LL)
- #elif defined(INT64_MAX)
- /* windows definition */
- #define LONGLONG_MAX INT64_MAX
- #define LONGLONG_MIN INT64_MIN
- #elif defined(_I64_MAX)
- /* windows definition */
- #define LONGLONG_MAX _I64_MAX
- #define LONGLONG_MIN _I64_MIN
- #elif (defined(__alpha) && ( defined(__unix__) || defined(__NetBSD__) )) \
- || defined(__sparcv9) \
- || defined(__ia64__) \
- || defined(__x86_64__) \
- || defined(_SX) \
- || defined(__powerpc64__) || defined(__64BIT__) \
- || (defined(_MIPS_SZLONG) && _MIPS_SZLONG == 64)
- /* sizeof(long) = 64 */
- #define LONGLONG_MAX 9223372036854775807L /* max 64-bit integer */
- #define LONGLONG_MIN (-LONGLONG_MAX -1L) /* min 64-bit integer */
- #else
- /* define a default value, even if it is never used */
- #define LONGLONG_MAX 9223372036854775807LL /* max 64-bit integer */
- #define LONGLONG_MIN (-LONGLONG_MAX -1LL) /* min 64-bit integer */
- #endif
- #endif /* end of ndef LONGLONG_MAX section */
- /* ================================================================= */
- /* The following exclusion if __CINT__ is defined is needed for ROOT */
- #ifndef __CINT__
- #include "longnam.h"
- #endif
-
- #define NIOBUF 40 /* number of IO buffers to create (default = 40) */
- /* !! Significantly increasing NIOBUF may degrade performance !! */
- #define IOBUFLEN 2880 /* size in bytes of each IO buffer (DONT CHANGE!) */
- /* global variables */
-
- #define FLEN_FILENAME 1025 /* max length of a filename */
- #define FLEN_KEYWORD 75 /* max length of a keyword (HIERARCH convention) */
- #define FLEN_CARD 81 /* length of a FITS header card */
- #define FLEN_VALUE 71 /* max length of a keyword value string */
- #define FLEN_COMMENT 73 /* max length of a keyword comment string */
- #define FLEN_ERRMSG 81 /* max length of a FITSIO error message */
- #define FLEN_STATUS 31 /* max length of a FITSIO status text string */
-
- #define TBIT 1 /* codes for FITS table data types */
- #define TBYTE 11
- #define TSBYTE 12
- #define TLOGICAL 14
- #define TSTRING 16
- #define TUSHORT 20
- #define TSHORT 21
- #define TUINT 30
- #define TINT 31
- #define TULONG 40
- #define TLONG 41
- #define TINT32BIT 41 /* used when returning datatype of a column */
- #define TFLOAT 42
- #define TULONGLONG 80
- #define TLONGLONG 81
- #define TDOUBLE 82
- #define TCOMPLEX 83
- #define TDBLCOMPLEX 163
- #define TYP_STRUC_KEY 10
- #define TYP_CMPRS_KEY 20
- #define TYP_SCAL_KEY 30
- #define TYP_NULL_KEY 40
- #define TYP_DIM_KEY 50
- #define TYP_RANG_KEY 60
- #define TYP_UNIT_KEY 70
- #define TYP_DISP_KEY 80
- #define TYP_HDUID_KEY 90
- #define TYP_CKSUM_KEY 100
- #define TYP_WCS_KEY 110
- #define TYP_REFSYS_KEY 120
- #define TYP_COMM_KEY 130
- #define TYP_CONT_KEY 140
- #define TYP_USER_KEY 150
- #define INT32BIT int /* 32-bit integer datatype. Currently this */
- /* datatype is an 'int' on all useful platforms */
- /* however, it is possible that that are cases */
- /* where 'int' is a 2-byte integer, in which case */
- /* INT32BIT would need to be defined as 'long'. */
- #define BYTE_IMG 8 /* BITPIX code values for FITS image types */
- #define SHORT_IMG 16
- #define LONG_IMG 32
- #define LONGLONG_IMG 64
- #define FLOAT_IMG -32
- #define DOUBLE_IMG -64
- /* The following 2 codes are not true FITS */
- /* datatypes; these codes are only used internally */
- /* within cfitsio to make it easier for users */
- /* to deal with unsigned integers. */
- #define SBYTE_IMG 10
- #define USHORT_IMG 20
- #define ULONG_IMG 40
- #define ULONGLONG_IMG 80
- #define IMAGE_HDU 0 /* Primary Array or IMAGE HDU */
- #define ASCII_TBL 1 /* ASCII table HDU */
- #define BINARY_TBL 2 /* Binary table HDU */
- #define ANY_HDU -1 /* matches any HDU type */
- #define READONLY 0 /* options when opening a file */
- #define READWRITE 1
- /* adopt a hopefully obscure number to use as a null value flag */
- #define FLOATNULLVALUE -9.11912E-36F
- #define DOUBLENULLVALUE -9.1191291391491E-36
-
- /* compression algorithm codes */
- #define NO_DITHER -1
- #define SUBTRACTIVE_DITHER_1 1
- #define SUBTRACTIVE_DITHER_2 2
- #define MAX_COMPRESS_DIM 6
- #define RICE_1 11
- #define GZIP_1 21
- #define GZIP_2 22
- #define PLIO_1 31
- #define HCOMPRESS_1 41
- #define BZIP2_1 51 /* not publicly supported; only for test purposes */
- #define NOCOMPRESS -1
- #ifndef TRUE
- #define TRUE 1
- #endif
- #ifndef FALSE
- #define FALSE 0
- #endif
- #define CASESEN 1 /* do case-sensitive string match */
- #define CASEINSEN 0 /* do case-insensitive string match */
-
- #define GT_ID_ALL_URI 0 /* hierarchical grouping parameters */
- #define GT_ID_REF 1
- #define GT_ID_POS 2
- #define GT_ID_ALL 3
- #define GT_ID_REF_URI 11
- #define GT_ID_POS_URI 12
- #define OPT_RM_GPT 0
- #define OPT_RM_ENTRY 1
- #define OPT_RM_MBR 2
- #define OPT_RM_ALL 3
- #define OPT_GCP_GPT 0
- #define OPT_GCP_MBR 1
- #define OPT_GCP_ALL 2
- #define OPT_MCP_ADD 0
- #define OPT_MCP_NADD 1
- #define OPT_MCP_REPL 2
- #define OPT_MCP_MOV 3
- #define OPT_MRG_COPY 0
- #define OPT_MRG_MOV 1
- #define OPT_CMT_MBR 1
- #define OPT_CMT_MBR_DEL 11
- typedef struct /* structure used to store table column information */
- {
- char ttype[70]; /* column name = FITS TTYPEn keyword; */
- LONGLONG tbcol; /* offset in row to first byte of each column */
- int tdatatype; /* datatype code of each column */
- LONGLONG trepeat; /* repeat count of column; number of elements */
- double tscale; /* FITS TSCALn linear scaling factor */
- double tzero; /* FITS TZEROn linear scaling zero point */
- LONGLONG tnull; /* FITS null value for int image or binary table cols */
- char strnull[20]; /* FITS null value string for ASCII table columns */
- char tform[10]; /* FITS tform keyword value */
- long twidth; /* width of each ASCII table column */
- }tcolumn;
- #define VALIDSTRUC 555 /* magic value used to identify if structure is valid */
- typedef struct /* structure used to store basic FITS file information */
- {
- int filehandle; /* handle returned by the file open function */
- int driver; /* defines which set of I/O drivers should be used */
- int open_count; /* number of opened 'fitsfiles' using this structure */
- char *filename; /* file name */
- int validcode; /* magic value used to verify that structure is valid */
- int only_one; /* flag meaning only copy the specified extension */
- int noextsyntax; /* flag for file opened with request to ignore extended syntax*/
- LONGLONG filesize; /* current size of the physical disk file in bytes */
- LONGLONG logfilesize; /* logical size of file, including unflushed buffers */
- int lasthdu; /* is this the last HDU in the file? 0 = no, else yes */
- LONGLONG bytepos; /* current logical I/O pointer position in file */
- LONGLONG io_pos; /* current I/O pointer position in the physical file */
- int curbuf; /* number of I/O buffer currently in use */
- int curhdu; /* current HDU number; 0 = primary array */
- int hdutype; /* 0 = primary array, 1 = ASCII table, 2 = binary table */
- int writemode; /* 0 = readonly, 1 = readwrite */
- int maxhdu; /* highest numbered HDU known to exist in the file */
- int MAXHDU; /* dynamically allocated dimension of headstart array */
- LONGLONG *headstart; /* byte offset in file to start of each HDU */
- LONGLONG headend; /* byte offest in file to end of the current HDU header */
- LONGLONG ENDpos; /* byte offest to where the END keyword was last written */
- LONGLONG nextkey; /* byte offset in file to beginning of next keyword */
- LONGLONG datastart; /* byte offset in file to start of the current data unit */
- int imgdim; /* dimension of image; cached for fast access */
- LONGLONG imgnaxis[99]; /* length of each axis; cached for fast access */
- int tfield; /* number of fields in the table (primary array has 2 */
- int startcol; /* used by ffgcnn to record starting column number */
- LONGLONG origrows; /* original number of rows (value of NAXIS2 keyword) */
- LONGLONG numrows; /* number of rows in the table (dynamically updated) */
- LONGLONG rowlength; /* length of a table row or image size (bytes) */
- tcolumn *tableptr; /* pointer to the table structure */
- LONGLONG heapstart; /* heap start byte relative to start of data unit */
- LONGLONG heapsize; /* size of the heap, in bytes */
- /* the following elements are related to compressed images */
- /* these record the 'requested' options to be used when the image is compressed */
- int request_compress_type; /* requested image compression algorithm */
- long request_tilesize[MAX_COMPRESS_DIM]; /* requested tiling size */
- float request_quantize_level; /* requested quantize level */
- int request_quantize_method ; /* requested quantizing method */
- int request_dither_seed; /* starting offset into the array of random dithering */
- int request_lossy_int_compress; /* lossy compress integer image as if float image? */
- int request_huge_hdu; /* use '1Q' rather then '1P' variable length arrays */
- float request_hcomp_scale; /* requested HCOMPRESS scale factor */
- int request_hcomp_smooth; /* requested HCOMPRESS smooth parameter */
- /* these record the actual options that were used when the image was compressed */
- int compress_type; /* type of compression algorithm */
- long tilesize[MAX_COMPRESS_DIM]; /* size of compression tiles */
- float quantize_level; /* floating point quantization level */
- int quantize_method; /* floating point pixel quantization algorithm */
- int dither_seed; /* starting offset into the array of random dithering */
- /* other compression parameters */
- int compressimg; /* 1 if HDU contains a compressed image, else 0 */
- char zcmptype[12]; /* compression type string */
- int zbitpix; /* FITS data type of image (BITPIX) */
- int zndim; /* dimension of image */
- long znaxis[MAX_COMPRESS_DIM]; /* length of each axis */
- long maxtilelen; /* max number of pixels in each image tile */
- long maxelem; /* maximum byte length of tile compressed arrays */
- int cn_compressed; /* column number for COMPRESSED_DATA column */
- int cn_uncompressed; /* column number for UNCOMPRESSED_DATA column */
- int cn_gzip_data; /* column number for GZIP2 lossless compressed data */
- int cn_zscale; /* column number for ZSCALE column */
- int cn_zzero; /* column number for ZZERO column */
- int cn_zblank; /* column number for the ZBLANK column */
- double zscale; /* scaling value, if same for all tiles */
- double zzero; /* zero pt, if same for all tiles */
- double cn_bscale; /* value of the BSCALE keyword in header */
- double cn_bzero; /* value of the BZERO keyword (may be reset) */
- double cn_actual_bzero; /* actual value of the BZERO keyword */
- int zblank; /* value for null pixels, if not a column */
- int rice_blocksize; /* first compression parameter: Rice pixels/block */
- int rice_bytepix; /* 2nd compression parameter: Rice bytes/pixel */
- float hcomp_scale; /* 1st hcompress compression parameter */
- int hcomp_smooth; /* 2nd hcompress compression parameter */
- int *tilerow; /* row number of the array of uncompressed tiledata */
- long *tiledatasize; /* length of the array of tile data in bytes */
- int *tiletype; /* datatype of the array of tile (TINT, TSHORT, etc) */
- void **tiledata; /* array of uncompressed tile of data, for row *tilerow */
- void **tilenullarray; /* array of optional array of null value flags */
- int *tileanynull; /* anynulls in the array of tile? */
- char *iobuffer; /* pointer to FITS file I/O buffers */
- long bufrecnum[NIOBUF]; /* file record number of each of the buffers */
- int dirty[NIOBUF]; /* has the corresponding buffer been modified? */
- int ageindex[NIOBUF]; /* relative age of each buffer */
- } FITSfile;
- typedef struct /* structure used to store basic HDU information */
- {
- int HDUposition; /* HDU position in file; 0 = first HDU */
- FITSfile *Fptr; /* pointer to FITS file structure */
- }fitsfile;
- typedef struct /* structure for the iterator function column information */
- {
- /* elements required as input to fits_iterate_data: */
- fitsfile *fptr; /* pointer to the HDU containing the column */
- int colnum; /* column number in the table (use name if < 1) */
- char colname[70]; /* name (= TTYPEn value) of the column (optional) */
- int datatype; /* output datatype (converted if necessary */
- int iotype; /* = InputCol, InputOutputCol, or OutputCol */
- /* output elements that may be useful for the work function: */
- void *array; /* pointer to the array (and the null value) */
- long repeat; /* binary table vector repeat value */
- long tlmin; /* legal minimum data value */
- long tlmax; /* legal maximum data value */
- char tunit[70]; /* physical unit string */
- char tdisp[70]; /* suggested display format */
- } iteratorCol;
- #define InputCol 0 /* flag for input only iterator column */
- #define InputOutputCol 1 /* flag for input and output iterator column */
- #define OutputCol 2 /* flag for output only iterator column */
- #define TemporaryCol 3 /* flag for temporary iterator column INTERNAL */
- /*=============================================================================
- *
- * The following wtbarr typedef is used in the fits_read_wcstab() routine,
- * which is intended for use with the WCSLIB library written by Mark
- * Calabretta, http://www.atnf.csiro.au/~mcalabre/index.html
- *
- * In order to maintain WCSLIB and CFITSIO as independent libraries it
- * was not permissible for any CFITSIO library code to include WCSLIB
- * header files, or vice versa. However, the CFITSIO function
- * fits_read_wcstab() accepts an array of structs defined by wcs.h within
- * WCSLIB. The problem then was to define this struct within fitsio.h
- * without including wcs.h, especially noting that wcs.h will often (but
- * not always) be included together with fitsio.h in an applications
- * program that uses fits_read_wcstab().
- *
- * Of the various possibilities, the solution adopted was for WCSLIB to
- * define "struct wtbarr" while fitsio.h defines "typedef wtbarr", a
- * untagged struct with identical members. This allows both wcs.h and
- * fitsio.h to define a wtbarr data type without conflict by virtue of
- * the fact that structure tags and typedef names share different
- * namespaces in C. Therefore, declarations within WCSLIB look like
- *
- * struct wtbarr *w;
- *
- * while within CFITSIO they are simply
- *
- * wtbarr *w;
- *
- * but as suggested by the commonality of the names, these are really the
- * same aggregate data type. However, in passing a (struct wtbarr *) to
- * fits_read_wcstab() a cast to (wtbarr *) is formally required.
- *===========================================================================*/
- #ifndef WCSLIB_GETWCSTAB
- #define WCSLIB_GETWCSTAB
- typedef struct {
- int i; /* Image axis number. */
- int m; /* Array axis number for index vectors. */
- int kind; /* Array type, 'c' (coord) or 'i' (index). */
- char extnam[72]; /* EXTNAME of binary table extension. */
- int extver; /* EXTVER of binary table extension. */
- int extlev; /* EXTLEV of binary table extension. */
- char ttype[72]; /* TTYPEn of column containing the array. */
- long row; /* Table row number. */
- int ndim; /* Expected array dimensionality. */
- int *dimlen; /* Where to write the array axis lengths. */
- double **arrayp; /* Where to write the address of the array */
- /* allocated to store the array. */
- } wtbarr;
- /* The following exclusion if __CINT__ is defined is needed for ROOT */
- #ifndef __CINT__
- /* the following 3 lines are needed to support C++ compilers */
- #ifdef __cplusplus
- extern "C" {
- #endif
- #endif
- int CFITS_API fits_read_wcstab(fitsfile *fptr, int nwtb, wtbarr *wtb, int *status);
- /* The following exclusion if __CINT__ is defined is needed for ROOT */
- #ifndef __CINT__
- #ifdef __cplusplus
- }
- #endif
- #endif
- #endif /* WCSLIB_GETWCSTAB */
- /* error status codes */
- #define CREATE_DISK_FILE -106 /* create disk file, without extended filename syntax */
- #define OPEN_DISK_FILE -105 /* open disk file, without extended filename syntax */
- #define SKIP_TABLE -104 /* move to 1st image when opening file */
- #define SKIP_IMAGE -103 /* move to 1st table when opening file */
- #define SKIP_NULL_PRIMARY -102 /* skip null primary array when opening file */
- #define USE_MEM_BUFF -101 /* use memory buffer when opening file */
- #define OVERFLOW_ERR -11 /* overflow during datatype conversion */
- #define PREPEND_PRIMARY -9 /* used in ffiimg to insert new primary array */
- #define SAME_FILE 101 /* input and output files are the same */
- #define TOO_MANY_FILES 103 /* tried to open too many FITS files */
- #define FILE_NOT_OPENED 104 /* could not open the named file */
- #define FILE_NOT_CREATED 105 /* could not create the named file */
- #define WRITE_ERROR 106 /* error writing to FITS file */
- #define END_OF_FILE 107 /* tried to move past end of file */
- #define READ_ERROR 108 /* error reading from FITS file */
- #define FILE_NOT_CLOSED 110 /* could not close the file */
- #define ARRAY_TOO_BIG 111 /* array dimensions exceed internal limit */
- #define READONLY_FILE 112 /* Cannot write to readonly file */
- #define MEMORY_ALLOCATION 113 /* Could not allocate memory */
- #define BAD_FILEPTR 114 /* invalid fitsfile pointer */
- #define NULL_INPUT_PTR 115 /* NULL input pointer to routine */
- #define SEEK_ERROR 116 /* error seeking position in file */
- #define BAD_NETTIMEOUT 117 /* bad value for file download timeout setting */
- #define BAD_URL_PREFIX 121 /* invalid URL prefix on file name */
- #define TOO_MANY_DRIVERS 122 /* tried to register too many IO drivers */
- #define DRIVER_INIT_FAILED 123 /* driver initialization failed */
- #define NO_MATCHING_DRIVER 124 /* matching driver is not registered */
- #define URL_PARSE_ERROR 125 /* failed to parse input file URL */
- #define RANGE_PARSE_ERROR 126 /* failed to parse input file URL */
- #define SHARED_ERRBASE (150)
- #define SHARED_BADARG (SHARED_ERRBASE + 1)
- #define SHARED_NULPTR (SHARED_ERRBASE + 2)
- #define SHARED_TABFULL (SHARED_ERRBASE + 3)
- #define SHARED_NOTINIT (SHARED_ERRBASE + 4)
- #define SHARED_IPCERR (SHARED_ERRBASE + 5)
- #define SHARED_NOMEM (SHARED_ERRBASE + 6)
- #define SHARED_AGAIN (SHARED_ERRBASE + 7)
- #define SHARED_NOFILE (SHARED_ERRBASE + 8)
- #define SHARED_NORESIZE (SHARED_ERRBASE + 9)
- #define HEADER_NOT_EMPTY 201 /* header already contains keywords */
- #define KEY_NO_EXIST 202 /* keyword not found in header */
- #define KEY_OUT_BOUNDS 203 /* keyword record number is out of bounds */
- #define VALUE_UNDEFINED 204 /* keyword value field is blank */
- #define NO_QUOTE 205 /* string is missing the closing quote */
- #define BAD_INDEX_KEY 206 /* illegal indexed keyword name */
- #define BAD_KEYCHAR 207 /* illegal character in keyword name or card */
- #define BAD_ORDER 208 /* required keywords out of order */
- #define NOT_POS_INT 209 /* keyword value is not a positive integer */
- #define NO_END 210 /* couldn't find END keyword */
- #define BAD_BITPIX 211 /* illegal BITPIX keyword value*/
- #define BAD_NAXIS 212 /* illegal NAXIS keyword value */
- #define BAD_NAXES 213 /* illegal NAXISn keyword value */
- #define BAD_PCOUNT 214 /* illegal PCOUNT keyword value */
- #define BAD_GCOUNT 215 /* illegal GCOUNT keyword value */
- #define BAD_TFIELDS 216 /* illegal TFIELDS keyword value */
- #define NEG_WIDTH 217 /* negative table row size */
- #define NEG_ROWS 218 /* negative number of rows in table */
- #define COL_NOT_FOUND 219 /* column with this name not found in table */
- #define BAD_SIMPLE 220 /* illegal value of SIMPLE keyword */
- #define NO_SIMPLE 221 /* Primary array doesn't start with SIMPLE */
- #define NO_BITPIX 222 /* Second keyword not BITPIX */
- #define NO_NAXIS 223 /* Third keyword not NAXIS */
- #define NO_NAXES 224 /* Couldn't find all the NAXISn keywords */
- #define NO_XTENSION 225 /* HDU doesn't start with XTENSION keyword */
- #define NOT_ATABLE 226 /* the CHDU is not an ASCII table extension */
- #define NOT_BTABLE 227 /* the CHDU is not a binary table extension */
- #define NO_PCOUNT 228 /* couldn't find PCOUNT keyword */
- #define NO_GCOUNT 229 /* couldn't find GCOUNT keyword */
- #define NO_TFIELDS 230 /* couldn't find TFIELDS keyword */
- #define NO_TBCOL 231 /* couldn't find TBCOLn keyword */
- #define NO_TFORM 232 /* couldn't find TFORMn keyword */
- #define NOT_IMAGE 233 /* the CHDU is not an IMAGE extension */
- #define BAD_TBCOL 234 /* TBCOLn keyword value < 0 or > rowlength */
- #define NOT_TABLE 235 /* the CHDU is not a table */
- #define COL_TOO_WIDE 236 /* column is too wide to fit in table */
- #define COL_NOT_UNIQUE 237 /* more than 1 column name matches template */
- #define BAD_ROW_WIDTH 241 /* sum of column widths not = NAXIS1 */
- #define UNKNOWN_EXT 251 /* unrecognizable FITS extension type */
- #define UNKNOWN_REC 252 /* unrecognizable FITS record */
- #define END_JUNK 253 /* END keyword is not blank */
- #define BAD_HEADER_FILL 254 /* Header fill area not blank */
- #define BAD_DATA_FILL 255 /* Data fill area not blank or zero */
- #define BAD_TFORM 261 /* illegal TFORM format code */
- #define BAD_TFORM_DTYPE 262 /* unrecognizable TFORM datatype code */
- #define BAD_TDIM 263 /* illegal TDIMn keyword value */
- #define BAD_HEAP_PTR 264 /* invalid BINTABLE heap address */
-
- #define BAD_HDU_NUM 301 /* HDU number < 1 or > MAXHDU */
- #define BAD_COL_NUM 302 /* column number < 1 or > tfields */
- #define NEG_FILE_POS 304 /* tried to move before beginning of file */
- #define NEG_BYTES 306 /* tried to read or write negative bytes */
- #define BAD_ROW_NUM 307 /* illegal starting row number in table */
- #define BAD_ELEM_NUM 308 /* illegal starting element number in vector */
- #define NOT_ASCII_COL 309 /* this is not an ASCII string column */
- #define NOT_LOGICAL_COL 310 /* this is not a logical datatype column */
- #define BAD_ATABLE_FORMAT 311 /* ASCII table column has wrong format */
- #define BAD_BTABLE_FORMAT 312 /* Binary table column has wrong format */
- #define NO_NULL 314 /* null value has not been defined */
- #define NOT_VARI_LEN 317 /* this is not a variable length column */
- #define BAD_DIMEN 320 /* illegal number of dimensions in array */
- #define BAD_PIX_NUM 321 /* first pixel number greater than last pixel */
- #define ZERO_SCALE 322 /* illegal BSCALE or TSCALn keyword = 0 */
- #define NEG_AXIS 323 /* illegal axis length < 1 */
-
- #define NOT_GROUP_TABLE 340
- #define HDU_ALREADY_MEMBER 341
- #define MEMBER_NOT_FOUND 342
- #define GROUP_NOT_FOUND 343
- #define BAD_GROUP_ID 344
- #define TOO_MANY_HDUS_TRACKED 345
- #define HDU_ALREADY_TRACKED 346
- #define BAD_OPTION 347
- #define IDENTICAL_POINTERS 348
- #define BAD_GROUP_ATTACH 349
- #define BAD_GROUP_DETACH 350
- #define BAD_I2C 401 /* bad int to formatted string conversion */
- #define BAD_F2C 402 /* bad float to formatted string conversion */
- #define BAD_INTKEY 403 /* can't interprete keyword value as integer */
- #define BAD_LOGICALKEY 404 /* can't interprete keyword value as logical */
- #define BAD_FLOATKEY 405 /* can't interprete keyword value as float */
- #define BAD_DOUBLEKEY 406 /* can't interprete keyword value as double */
- #define BAD_C2I 407 /* bad formatted string to int conversion */
- #define BAD_C2F 408 /* bad formatted string to float conversion */
- #define BAD_C2D 409 /* bad formatted string to double conversion */
- #define BAD_DATATYPE 410 /* bad keyword datatype code */
- #define BAD_DECIM 411 /* bad number of decimal places specified */
- #define NUM_OVERFLOW 412 /* overflow during datatype conversion */
- # define DATA_COMPRESSION_ERR 413 /* error in imcompress routines */
- # define DATA_DECOMPRESSION_ERR 414 /* error in imcompress routines */
- # define NO_COMPRESSED_TILE 415 /* compressed tile doesn't exist */
- #define BAD_DATE 420 /* error in date or time conversion */
- #define PARSE_SYNTAX_ERR 431 /* syntax error in parser expression */
- #define PARSE_BAD_TYPE 432 /* expression did not evaluate to desired type */
- #define PARSE_LRG_VECTOR 433 /* vector result too large to return in array */
- #define PARSE_NO_OUTPUT 434 /* data parser failed not sent an out column */
- #define PARSE_BAD_COL 435 /* bad data encounter while parsing column */
- #define PARSE_BAD_OUTPUT 436 /* Output file not of proper type */
- #define ANGLE_TOO_BIG 501 /* celestial angle too large for projection */
- #define BAD_WCS_VAL 502 /* bad celestial coordinate or pixel value */
- #define WCS_ERROR 503 /* error in celestial coordinate calculation */
- #define BAD_WCS_PROJ 504 /* unsupported type of celestial projection */
- #define NO_WCS_KEY 505 /* celestial coordinate keywords not found */
- #define APPROX_WCS_KEY 506 /* approximate WCS keywords were calculated */
- #define NO_CLOSE_ERROR 999 /* special value used internally to switch off */
- /* the error message from ffclos and ffchdu */
- /*------- following error codes are used in the grparser.c file -----------*/
- #define NGP_ERRBASE (360) /* base chosen so not to interfere with CFITSIO */
- #define NGP_OK (0)
- #define NGP_NO_MEMORY (NGP_ERRBASE + 0) /* malloc failed */
- #define NGP_READ_ERR (NGP_ERRBASE + 1) /* read error from file */
- #define NGP_NUL_PTR (NGP_ERRBASE + 2) /* null pointer passed as argument */
- #define NGP_EMPTY_CURLINE (NGP_ERRBASE + 3) /* line read seems to be empty */
- #define NGP_UNREAD_QUEUE_FULL (NGP_ERRBASE + 4) /* cannot unread more then 1 line (or single line twice) */
- #define NGP_INC_NESTING (NGP_ERRBASE + 5) /* too deep include file nesting (inf. loop ?) */
- #define NGP_ERR_FOPEN (NGP_ERRBASE + 6) /* fopen() failed, cannot open file */
- #define NGP_EOF (NGP_ERRBASE + 7) /* end of file encountered */
- #define NGP_BAD_ARG (NGP_ERRBASE + 8) /* bad arguments passed */
- #define NGP_TOKEN_NOT_EXPECT (NGP_ERRBASE + 9) /* token not expected here */
- /* The following exclusion if __CINT__ is defined is needed for ROOT */
- #ifndef __CINT__
- /* the following 3 lines are needed to support C++ compilers */
- #ifdef __cplusplus
- extern "C" {
- #endif
- #endif
- int CFITS2Unit( fitsfile *fptr );
- CFITS_API fitsfile* CUnit2FITS(int unit);
- /*---------------- FITS file URL parsing routines -------------*/
- int CFITS_API fits_get_token (char **ptr, char *delimiter, char *token, int *isanumber);
- int CFITS_API fits_get_token2(char **ptr, char *delimiter, char **token, int *isanumber, int *status);
- char CFITS_API *fits_split_names(char *list);
- int CFITS_API ffiurl( char *url, char *urltype, char *infile,
- char *outfile, char *extspec, char *rowfilter,
- char *binspec, char *colspec, int *status);
- int CFITS_API ffifile (char *url, char *urltype, char *infile,
- char *outfile, char *extspec, char *rowfilter,
- char *binspec, char *colspec, char *pixfilter, int *status);
- int CFITS_API ffifile2 (char *url, char *urltype, char *infile,
- char *outfile, char *extspec, char *rowfilter,
- char *binspec, char *colspec, char *pixfilter, char *compspec, int *status);
- int CFITS_API ffrtnm(char *url, char *rootname, int *status);
- int CFITS_API ffexist(const char *infile, int *exists, int *status);
- int CFITS_API ffexts(char *extspec, int *extnum, char *extname, int *extvers,
- int *hdutype, char *colname, char *rowexpress, int *status);
- int CFITS_API ffextn(char *url, int *extension_num, int *status);
- int CFITS_API ffurlt(fitsfile *fptr, char *urlType, int *status);
- int CFITS_API ffbins(char *binspec, int *imagetype, int *haxis,
- char colname[4][FLEN_VALUE], double *minin,
- double *maxin, double *binsizein,
- char minname[4][FLEN_VALUE], char maxname[4][FLEN_VALUE],
- char binname[4][FLEN_VALUE], double *weight, char *wtname,
- int *recip, int *status);
- int CFITS_API ffbinr(char **binspec, char *colname, double *minin,
- double *maxin, double *binsizein, char *minname,
- char *maxname, char *binname, int *status);
- int CFITS_API fits_copy_cell2image(fitsfile *fptr, fitsfile *newptr, char *colname,
- long rownum, int *status);
- int CFITS_API fits_copy_image2cell(fitsfile *fptr, fitsfile *newptr, char *colname,
- long rownum, int copykeyflag, int *status);
- int CFITS_API fits_copy_pixlist2image(fitsfile *infptr, fitsfile *outfptr, int firstkey, /* I - first HDU record number to start with */
- int naxis, int *colnum, int *status);
- int CFITS_API ffimport_file( char *filename, char **contents, int *status );
- int CFITS_API ffrwrg( char *rowlist, LONGLONG maxrows, int maxranges, int *numranges,
- long *minrow, long *maxrow, int *status);
- int CFITS_API ffrwrgll( char *rowlist, LONGLONG maxrows, int maxranges, int *numranges,
- LONGLONG *minrow, LONGLONG *maxrow, int *status);
- /*---------------- FITS file I/O routines -------------*/
- int CFITS_API fits_init_cfitsio(void);
- int CFITS_API ffomem(fitsfile **fptr, const char *name, int mode, void **buffptr,
- size_t *buffsize, size_t deltasize,
- void *(*mem_realloc)(void *p, size_t newsize),
- int *status);
- int CFITS_API ffopen(fitsfile **fptr, const char *filename, int iomode, int *status);
- int CFITS_API ffopentest(int soname, fitsfile **fptr, const char *filename, int iomode, int *status);
- int CFITS_API ffdopn(fitsfile **fptr, const char *filename, int iomode, int *status);
- int CFITS_API ffeopn(fitsfile **fptr, const char *filename, int iomode,
- char *extlist, int *hdutype, int *status);
- int CFITS_API fftopn(fitsfile **fptr, const char *filename, int iomode, int *status);
- int CFITS_API ffiopn(fitsfile **fptr, const char *filename, int iomode, int *status);
- int CFITS_API ffdkopn(fitsfile **fptr, const char *filename, int iomode, int *status);
- int CFITS_API ffreopen(fitsfile *openfptr, fitsfile **newfptr, int *status);
- int CFITS_API ffinit( fitsfile **fptr, const char *filename, int *status);
- int CFITS_API ffdkinit(fitsfile **fptr, const char *filename, int *status);
- int CFITS_API ffimem(fitsfile **fptr, void **buffptr,
- size_t *buffsize, size_t deltasize,
- void *(*mem_realloc)(void *p, size_t newsize),
- int *status);
- int CFITS_API fftplt(fitsfile **fptr, const char *filename, const char *tempname,
- int *status);
- int CFITS_API ffflus(fitsfile *fptr, int *status);
- int CFITS_API ffflsh(fitsfile *fptr, int clearbuf, int *status);
- int CFITS_API ffclos(fitsfile *fptr, int *status);
- int CFITS_API ffdelt(fitsfile *fptr, int *status);
- int CFITS_API ffflnm(fitsfile *fptr, char *filename, int *status);
- int CFITS_API ffflmd(fitsfile *fptr, int *filemode, int *status);
- int CFITS_API fits_delete_iraf_file(const char *filename, int *status);
- /*---------------- utility routines -------------*/
- float CFITS_API ffvers(float *version);
- void CFITS_API ffupch(char *string);
- void CFITS_API ffgerr(int status, char *errtext);
- void CFITS_API ffpmsg(const char *err_message);
- void CFITS_API ffpmrk(void);
- int CFITS_API ffgmsg(char *err_message);
- void CFITS_API ffcmsg(void);
- void CFITS_API ffcmrk(void);
- void CFITS_API ffrprt(FILE *stream, int status);
- void CFITS_API ffcmps(char *templt, char *colname, int casesen, int *match,
- int *exact);
- int CFITS_API fftkey(const char *keyword, int *status);
- int CFITS_API fftrec(char *card, int *status);
- int CFITS_API ffnchk(fitsfile *fptr, int *status);
- int CFITS_API ffkeyn(const char *keyroot, int value, char *keyname, int *status);
- int CFITS_API ffnkey(int value, const char *keyroot, char *keyname, int *status);
- int CFITS_API ffgkcl(char *card);
- int CFITS_API ffdtyp(const char *cval, char *dtype, int *status);
- int CFITS_API ffinttyp(char *cval, int *datatype, int *negative, int *status);
- int CFITS_API ffpsvc(char *card, char *value, char *comm, int *status);
- int CFITS_API ffgknm(char *card, char *name, int *length, int *status);
- int CFITS_API ffgthd(char *tmplt, char *card, int *hdtype, int *status);
- int CFITS_API ffmkky(const char *keyname, char *keyval, const char *comm, char *card, int *status);
- int CFITS_API fits_translate_keyword(char *inrec, char *outrec, char *patterns[][2],
- int npat, int n_value, int n_offset, int n_range, int *pat_num,
- int *i, int *j, int *m, int *n, int *status);
- int CFITS_API fits_translate_keywords(fitsfile *infptr, fitsfile *outfptr,
- int firstkey, char *patterns[][2],
- int npat, int n_value, int n_offset, int n_range, int *status);
- int CFITS_API ffasfm(char *tform, int *datacode, long *width, int *decim, int *status);
- int CFITS_API ffbnfm(char *tform, int *datacode, long *repeat, long *width, int *status);
- int CFITS_API ffbnfmll(char *tform, int *datacode, LONGLONG *repeat, long *width, int *status);
- int CFITS_API ffgabc(int tfields, char **tform, int space, long *rowlen, long *tbcol,
- int *status);
- int CFITS_API fits_get_section_range(char **ptr,long *secmin,long *secmax,long *incre,
- int *status);
- /* ffmbyt should not normally be used in application programs, but it is
- defined here as a publicly available routine because there are a few
- rare cases where it is needed
- */
- int CFITS_API ffmbyt(fitsfile *fptr, LONGLONG bytpos, int ignore_err, int *status);
- /*----------------- write single keywords --------------*/
- int CFITS_API ffpky(fitsfile *fptr, int datatype, const char *keyname, void *value,
- const char *comm, int *status);
- int CFITS_API ffprec(fitsfile *fptr, const char *card, int *status);
- int CFITS_API ffpcom(fitsfile *fptr, const char *comm, int *status);
- int CFITS_API ffpunt(fitsfile *fptr, const char *keyname, const char *unit, int *status);
- int CFITS_API ffphis(fitsfile *fptr, const char *history, int *status);
- int CFITS_API ffpdat(fitsfile *fptr, int *status);
- int CFITS_API ffverifydate(int year, int month, int day, int *status);
- int CFITS_API ffgstm(char *timestr, int *timeref, int *status);
- int CFITS_API ffgsdt(int *day, int *month, int *year, int *status);
- int CFITS_API ffdt2s(int year, int month, int day, char *datestr, int *status);
- int CFITS_API fftm2s(int year, int month, int day, int hour, int minute, double second,
- int decimals, char *datestr, int *status);
- int CFITS_API ffs2dt(char *datestr, int *year, int *month, int *day, int *status);
- int CFITS_API ffs2tm(char *datestr, int *year, int *month, int *day, int *hour,
- int *minute, double *second, int *status);
- int CFITS_API ffpkyu(fitsfile *fptr, const char *keyname, const char *comm, int *status);
- int CFITS_API ffpkys(fitsfile *fptr, const char *keyname, const char *value, const char *comm,int *status);
- int CFITS_API ffpkls(fitsfile *fptr, const char *keyname, const char *value, const char *comm,int *status);
- int CFITS_API ffplsw(fitsfile *fptr, int *status);
- int CFITS_API ffpkyl(fitsfile *fptr, const char *keyname, int value, const char *comm, int *status);
- int CFITS_API ffpkyj(fitsfile *fptr, const char *keyname, LONGLONG value, const char *comm, int *status);
- int CFITS_API ffpkyuj(fitsfile *fptr, const char *keyname, ULONGLONG value, const char *comm, int *status);
- int CFITS_API ffpkyf(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkye(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkyg(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkyd(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkyc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkym(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkfc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkfm(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffpkyt(fitsfile *fptr, const char *keyname, long intval, double frac, const char *comm,
- int *status);
- int CFITS_API ffptdm( fitsfile *fptr, int colnum, int naxis, long naxes[], int *status);
- int CFITS_API ffptdmll( fitsfile *fptr, int colnum, int naxis, LONGLONG naxes[], int *status);
- /*----------------- write array of keywords --------------*/
- int CFITS_API ffpkns(fitsfile *fptr, const char *keyroot, int nstart, int nkey, char *value[],
- char *comm[], int *status);
- int CFITS_API ffpknl(fitsfile *fptr, const char *keyroot, int nstart, int nkey, int *value,
- char *comm[], int *status);
- int CFITS_API ffpknj(fitsfile *fptr, const char *keyroot, int nstart, int nkey, long *value,
- char *comm[], int *status);
- int CFITS_API ffpknjj(fitsfile *fptr, const char *keyroot, int nstart, int nkey, LONGLONG *value,
- char *comm[], int *status);
- int CFITS_API ffpknf(fitsfile *fptr, const char *keyroot, int nstart, int nkey, float *value,
- int decim, char *comm[], int *status);
- int CFITS_API ffpkne(fitsfile *fptr, const char *keyroot, int nstart, int nkey, float *value,
- int decim, char *comm[], int *status);
- int CFITS_API ffpkng(fitsfile *fptr, const char *keyroot, int nstart, int nkey, double *value,
- int decim, char *comm[], int *status);
- int CFITS_API ffpknd(fitsfile *fptr, const char *keyroot, int nstart, int nkey, double *value,
- int decim, char *comm[], int *status);
- int CFITS_API ffcpky(fitsfile *infptr,fitsfile *outfptr,int incol,int outcol,
- char *rootname, int *status);
- /*----------------- write required header keywords --------------*/
- int CFITS_API ffphps( fitsfile *fptr, int bitpix, int naxis, long naxes[], int *status);
- int CFITS_API ffphpsll( fitsfile *fptr, int bitpix, int naxis, LONGLONG naxes[], int *status);
- int CFITS_API ffphpr( fitsfile *fptr, int simple, int bitpix, int naxis, long naxes[],
- LONGLONG pcount, LONGLONG gcount, int extend, int *status);
- int CFITS_API ffphprll( fitsfile *fptr, int simple, int bitpix, int naxis, LONGLONG naxes[],
- LONGLONG pcount, LONGLONG gcount, int extend, int *status);
- int CFITS_API ffphtb(fitsfile *fptr, LONGLONG naxis1, LONGLONG naxis2, int tfields, char **ttype,
- long *tbcol, char **tform, char **tunit, const char *extname, int *status);
- int CFITS_API ffphbn(fitsfile *fptr, LONGLONG naxis2, int tfields, char **ttype,
- char **tform, char **tunit, const char *extname, LONGLONG pcount, int *status);
- int CFITS_API ffphext( fitsfile *fptr, const char *xtension, int bitpix, int naxis, long naxes[],
- LONGLONG pcount, LONGLONG gcount, int *status);
- /*----------------- write template keywords --------------*/
- int CFITS_API ffpktp(fitsfile *fptr, const char *filename, int *status);
- /*------------------ get header information --------------*/
- int CFITS_API ffghsp(fitsfile *fptr, int *nexist, int *nmore, int *status);
- int CFITS_API ffghps(fitsfile *fptr, int *nexist, int *position, int *status);
-
- /*------------------ move position in header -------------*/
- int CFITS_API ffmaky(fitsfile *fptr, int nrec, int *status);
- int CFITS_API ffmrky(fitsfile *fptr, int nrec, int *status);
-
- /*------------------ read single keywords -----------------*/
- int CFITS_API ffgnxk(fitsfile *fptr, char **inclist, int ninc, char **exclist,
- int nexc, char *card, int *status);
- int CFITS_API ffgrec(fitsfile *fptr, int nrec, char *card, int *status);
- int CFITS_API ffgcrd(fitsfile *fptr, const char *keyname, char *card, int *status);
- int CFITS_API ffgstr(fitsfile *fptr, const char *string, char *card, int *status);
- int CFITS_API ffgunt(fitsfile *fptr, const char *keyname, char *unit, int *status);
- int CFITS_API ffgkyn(fitsfile *fptr, int nkey, char *keyname, char *keyval, char *comm,
- int *status);
- int CFITS_API ffgkey(fitsfile *fptr, const char *keyname, char *keyval, char *comm,
- int *status);
-
- int CFITS_API ffgky( fitsfile *fptr, int datatype, const char *keyname, void *value,
- char *comm, int *status);
- int CFITS_API ffgkys(fitsfile *fptr, const char *keyname, char *value, char *comm, int *status);
- int CFITS_API ffgksl(fitsfile *fptr, const char *keyname, int *length, int *status);
- int CFITS_API ffgkcsl(fitsfile *fptr, const char *keyname, int *length, int *comlength, int *status);
- int CFITS_API ffgkls(fitsfile *fptr, const char *keyname, char **value, char *comm, int *status);
- int CFITS_API ffgsky(fitsfile *fptr, const char *keyname, int firstchar, int maxchar,
- char *value, int *valuelen, char *comm, int *status);
- int CFITS_API ffgskyc(fitsfile *fptr, const char *keyname, int firstchar, int maxchar,
- int maxcomchar, char *value, int *valuelen, char *comm, int *comlen, int *status);
- int CFITS_API fffree(void *value, int *status);
- int CFITS_API fffkls(char *value, int *status);
- int CFITS_API ffgkyl(fitsfile *fptr, const char *keyname, int *value, char *comm, int *status);
- int CFITS_API ffgkyj(fitsfile *fptr, const char *keyname, long *value, char *comm, int *status);
- int CFITS_API ffgkyjj(fitsfile *fptr, const char *keyname, LONGLONG *value, char *comm, int *status);
- int CFITS_API ffgkyujj(fitsfile *fptr, const char *keyname, ULONGLONG *value, char *comm, int *status);
- int CFITS_API ffgkye(fitsfile *fptr, const char *keyname, float *value, char *comm,int *status);
- int CFITS_API ffgkyd(fitsfile *fptr, const char *keyname, double *value,char *comm,int *status);
- int CFITS_API ffgkyc(fitsfile *fptr, const char *keyname, float *value, char *comm,int *status);
- int CFITS_API ffgkym(fitsfile *fptr, const char *keyname, double *value,char *comm,int *status);
- int CFITS_API ffgkyt(fitsfile *fptr, const char *keyname, long *ivalue, double *dvalue,
- char *comm, int *status);
- int CFITS_API ffgtdm(fitsfile *fptr, int colnum, int maxdim, int *naxis, long naxes[],
- int *status);
- int CFITS_API ffgtdmll(fitsfile *fptr, int colnum, int maxdim, int *naxis, LONGLONG naxes[],
- int *status);
- int CFITS_API ffdtdm(fitsfile *fptr, char *tdimstr, int colnum, int maxdim,
- int *naxis, long naxes[], int *status);
- int CFITS_API ffdtdmll(fitsfile *fptr, char *tdimstr, int colnum, int maxdim,
- int *naxis, LONGLONG naxes[], int *status);
- /*------------------ read array of keywords -----------------*/
- int CFITS_API ffgkns(fitsfile *fptr, const char *keyname, int nstart, int nmax, char *value[],
- int *nfound, int *status);
- int CFITS_API ffgknl(fitsfile *fptr, const char *keyname, int nstart, int nmax, int *value,
- int *nfound, int *status);
- int CFITS_API ffgknj(fitsfile *fptr, const char *keyname, int nstart, int nmax, long *value,
- int *nfound, int *status);
- int CFITS_API ffgknjj(fitsfile *fptr, const char *keyname, int nstart, int nmax, LONGLONG *value,
- int *nfound, int *status);
- int CFITS_API ffgkne(fitsfile *fptr, const char *keyname, int nstart, int nmax, float *value,
- int *nfound, int *status);
- int CFITS_API ffgknd(fitsfile *fptr, const char *keyname, int nstart, int nmax, double *value,
- int *nfound, int *status);
- int CFITS_API ffh2st(fitsfile *fptr, char **header, int *status);
- int CFITS_API ffhdr2str( fitsfile *fptr, int exclude_comm, char **exclist,
- int nexc, char **header, int *nkeys, int *status);
- int CFITS_API ffcnvthdr2str( fitsfile *fptr, int exclude_comm, char **exclist,
- int nexc, char **header, int *nkeys, int *status);
- /*----------------- read required header keywords --------------*/
- int CFITS_API ffghpr(fitsfile *fptr, int maxdim, int *simple, int *bitpix, int *naxis,
- long naxes[], long *pcount, long *gcount, int *extend, int *status);
-
- int CFITS_API ffghprll(fitsfile *fptr, int maxdim, int *simple, int *bitpix, int *naxis,
- LONGLONG naxes[], long *pcount, long *gcount, int *extend, int *status);
- int CFITS_API ffghtb(fitsfile *fptr,int maxfield, long *naxis1, long *naxis2,
- int *tfields, char **ttype, long *tbcol, char **tform, char **tunit,
- char *extname, int *status);
- int CFITS_API ffghtbll(fitsfile *fptr,int maxfield, LONGLONG *naxis1, LONGLONG *naxis2,
- int *tfields, char **ttype, LONGLONG *tbcol, char **tform, char **tunit,
- char *extname, int *status);
-
-
- int CFITS_API ffghbn(fitsfile *fptr, int maxfield, long *naxis2, int *tfields,
- char **ttype, char **tform, char **tunit, char *extname,
- long *pcount, int *status);
- int CFITS_API ffghbnll(fitsfile *fptr, int maxfield, LONGLONG *naxis2, int *tfields,
- char **ttype, char **tform, char **tunit, char *extname,
- LONGLONG *pcount, int *status);
- /*--------------------- update keywords ---------------*/
- int CFITS_API ffuky(fitsfile *fptr, int datatype, const char *keyname, void *value,
- const char *comm, int *status);
- int CFITS_API ffucrd(fitsfile *fptr, const char *keyname, const char *card, int *status);
- int CFITS_API ffukyu(fitsfile *fptr, const char *keyname, const char *comm, int *status);
- int CFITS_API ffukys(fitsfile *fptr, const char *keyname, const char *value, const char *comm, int *status);
- int CFITS_API ffukls(fitsfile *fptr, const char *keyname, const char *value, const char *comm, int *status);
- int CFITS_API ffukyl(fitsfile *fptr, const char *keyname, int value, const char *comm, int *status);
- int CFITS_API ffukyj(fitsfile *fptr, const char *keyname, LONGLONG value, const char *comm, int *status);
- int CFITS_API ffukyuj(fitsfile *fptr, const char *keyname, ULONGLONG value, const char *comm, int *status);
- int CFITS_API ffukyf(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukye(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukyg(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukyd(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukyc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukym(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukfc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffukfm(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- /*--------------------- modify keywords ---------------*/
- int CFITS_API ffmrec(fitsfile *fptr, int nkey, const char *card, int *status);
- int CFITS_API ffmcrd(fitsfile *fptr, const char *keyname, const char *card, int *status);
- int CFITS_API ffmnam(fitsfile *fptr, const char *oldname, const char *newname, int *status);
- int CFITS_API ffmcom(fitsfile *fptr, const char *keyname, const char *comm, int *status);
- int CFITS_API ffmkyu(fitsfile *fptr, const char *keyname, const char *comm, int *status);
- int CFITS_API ffmkys(fitsfile *fptr, const char *keyname, const char *value, const char *comm,int *status);
- int CFITS_API ffmkls(fitsfile *fptr, const char *keyname, const char *value, const char *comm,int *status);
- int CFITS_API ffmkyl(fitsfile *fptr, const char *keyname, int value, const char *comm, int *status);
- int CFITS_API ffmkyj(fitsfile *fptr, const char *keyname, LONGLONG value, const char *comm, int *status);
- int CFITS_API ffmkyuj(fitsfile *fptr, const char *keyname, ULONGLONG value, const char *comm, int *status);
- int CFITS_API ffmkyf(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkye(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkyg(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkyd(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkyc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkym(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkfc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffmkfm(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
-
- /*--------------------- insert keywords ---------------*/
- int CFITS_API ffirec(fitsfile *fptr, int nkey, const char *card, int *status);
- int CFITS_API ffikey(fitsfile *fptr, const char *card, int *status);
- int CFITS_API ffikyu(fitsfile *fptr, const char *keyname, const char *comm, int *status);
- int CFITS_API ffikys(fitsfile *fptr, const char *keyname, const char *value, const char *comm,int *status);
- int CFITS_API ffikls(fitsfile *fptr, const char *keyname, const char *value, const char *comm,int *status);
- int CFITS_API ffikyl(fitsfile *fptr, const char *keyname, int value, const char *comm, int *status);
- int CFITS_API ffikyj(fitsfile *fptr, const char *keyname, LONGLONG value, const char *comm, int *status);
- int CFITS_API ffikyf(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikye(fitsfile *fptr, const char *keyname, float value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikyg(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikyd(fitsfile *fptr, const char *keyname, double value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikyc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikym(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikfc(fitsfile *fptr, const char *keyname, float *value, int decim, const char *comm,
- int *status);
- int CFITS_API ffikfm(fitsfile *fptr, const char *keyname, double *value, int decim, const char *comm,
- int *status);
- /*--------------------- delete keywords ---------------*/
- int CFITS_API ffdkey(fitsfile *fptr, const char *keyname, int *status);
- int CFITS_API ffdstr(fitsfile *fptr, const char *string, int *status);
- int CFITS_API ffdrec(fitsfile *fptr, int keypos, int *status);
-
- /*--------------------- get HDU information -------------*/
- int CFITS_API ffghdn(fitsfile *fptr, int *chdunum);
- int CFITS_API ffghdt(fitsfile *fptr, int *exttype, int *status);
- int CFITS_API ffghad(fitsfile *fptr, long *headstart, long *datastart, long *dataend,
- int *status);
- int CFITS_API ffghadll(fitsfile *fptr, LONGLONG *headstart, LONGLONG *datastart,
- LONGLONG *dataend, int *status);
- int CFITS_API ffghof(fitsfile *fptr, OFF_T *headstart, OFF_T *datastart, OFF_T *dataend,
- int *status);
- int CFITS_API ffgipr(fitsfile *fptr, int maxaxis, int *imgtype, int *naxis,
- long *naxes, int *status);
- int CFITS_API ffgiprll(fitsfile *fptr, int maxaxis, int *imgtype, int *naxis,
- LONGLONG *naxes, int *status);
- int CFITS_API ffgidt(fitsfile *fptr, int *imgtype, int *status);
- int CFITS_API ffgiet(fitsfile *fptr, int *imgtype, int *status);
- int CFITS_API ffgidm(fitsfile *fptr, int *naxis, int *status);
- int CFITS_API ffgisz(fitsfile *fptr, int nlen, long *naxes, int *status);
- int CFITS_API ffgiszll(fitsfile *fptr, int nlen, LONGLONG *naxes, int *status);
- /*--------------------- HDU operations -------------*/
- int CFITS_API ffmahd(fitsfile *fptr, int hdunum, int *exttype, int *status);
- int CFITS_API ffmrhd(fitsfile *fptr, int hdumov, int *exttype, int *status);
- int CFITS_API ffmnhd(fitsfile *fptr, int exttype, char *hduname, int hduvers,
- int *status);
- int CFITS_API ffthdu(fitsfile *fptr, int *nhdu, int *status);
- int CFITS_API ffcrhd(fitsfile *fptr, int *status);
- int CFITS_API ffcrim(fitsfile *fptr, int bitpix, int naxis, long *naxes, int *status);
- int CFITS_API ffcrimll(fitsfile *fptr, int bitpix, int naxis, LONGLONG *naxes, int *status);
- int CFITS_API ffcrtb(fitsfile *fptr, int tbltype, LONGLONG naxis2, int tfields, char **ttype,
- char **tform, char **tunit, const char *extname, int *status);
- int CFITS_API ffiimg(fitsfile *fptr, int bitpix, int naxis, long *naxes, int *status);
- int CFITS_API ffiimgll(fitsfile *fptr, int bitpix, int naxis, LONGLONG *naxes, int *status);
- int CFITS_API ffitab(fitsfile *fptr, LONGLONG naxis1, LONGLONG naxis2, int tfields, char **ttype,
- long *tbcol, char **tform, char **tunit, const char *extname, int *status);
- int CFITS_API ffibin(fitsfile *fptr, LONGLONG naxis2, int tfields, char **ttype, char **tform,
- char **tunit, const char *extname, LONGLONG pcount, int *status);
- int CFITS_API ffrsim(fitsfile *fptr, int bitpix, int naxis, long *naxes, int *status);
- int CFITS_API ffrsimll(fitsfile *fptr, int bitpix, int naxis, LONGLONG *naxes, int *status);
- int CFITS_API ffdhdu(fitsfile *fptr, int *hdutype, int *status);
- int CFITS_API ffcopy(fitsfile *infptr, fitsfile *outfptr, int morekeys, int *status);
- int CFITS_API ffcpfl(fitsfile *infptr, fitsfile *outfptr, int prev, int cur, int follow,
- int *status);
- int CFITS_API ffcphd(fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API ffcpdt(fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API ffchfl(fitsfile *fptr, int *status);
- int CFITS_API ffcdfl(fitsfile *fptr, int *status);
- int CFITS_API ffwrhdu(fitsfile *fptr, FILE *outstream, int *status);
- int CFITS_API ffrdef(fitsfile *fptr, int *status);
- int CFITS_API ffrhdu(fitsfile *fptr, int *hdutype, int *status);
- int CFITS_API ffhdef(fitsfile *fptr, int morekeys, int *status);
- int CFITS_API ffpthp(fitsfile *fptr, long theap, int *status);
-
- int CFITS_API ffcsum(fitsfile *fptr, long nrec, unsigned long *sum, int *status);
- void CFITS_API ffesum(unsigned long sum, int complm, char *ascii);
- unsigned long CFITS_API ffdsum(char *ascii, int complm, unsigned long *sum);
- int CFITS_API ffpcks(fitsfile *fptr, int *status);
- int CFITS_API ffupck(fitsfile *fptr, int *status);
- int CFITS_API ffvcks(fitsfile *fptr, int *datastatus, int *hdustatus, int *status);
- int CFITS_API ffgcks(fitsfile *fptr, unsigned long *datasum, unsigned long *hdusum,
- int *status);
-
- /*--------------------- define scaling or null values -------------*/
- int CFITS_API ffpscl(fitsfile *fptr, double scale, double zeroval, int *status);
- int CFITS_API ffpnul(fitsfile *fptr, LONGLONG nulvalue, int *status);
- int CFITS_API fftscl(fitsfile *fptr, int colnum, double scale, double zeroval, int *status);
- int CFITS_API fftnul(fitsfile *fptr, int colnum, LONGLONG nulvalue, int *status);
- int CFITS_API ffsnul(fitsfile *fptr, int colnum, char *nulstring, int *status);
-
- /*--------------------- get column information -------------*/
- int CFITS_API ffgcno(fitsfile *fptr, int casesen, char *templt, int *colnum,
- int *status);
- int CFITS_API ffgcnn(fitsfile *fptr, int casesen, char *templt, char *colname,
- int *colnum, int *status);
-
- int CFITS_API ffgtcl(fitsfile *fptr, int colnum, int *typecode, long *repeat,
- long *width, int *status);
- int CFITS_API ffgtclll(fitsfile *fptr, int colnum, int *typecode, LONGLONG *repeat,
- LONGLONG *width, int *status);
- int CFITS_API ffeqty(fitsfile *fptr, int colnum, int *typecode, long *repeat,
- long *width, int *status);
- int CFITS_API ffeqtyll(fitsfile *fptr, int colnum, int *typecode, LONGLONG *repeat,
- LONGLONG *width, int *status);
- int CFITS_API ffgncl(fitsfile *fptr, int *ncols, int *status);
- int CFITS_API ffgnrw(fitsfile *fptr, long *nrows, int *status);
- int CFITS_API ffgnrwll(fitsfile *fptr, LONGLONG *nrows, int *status);
- int CFITS_API ffgacl(fitsfile *fptr, int colnum, char *ttype, long *tbcol,
- char *tunit, char *tform, double *tscal, double *tzero,
- char *tnull, char *tdisp, int *status);
- int CFITS_API ffgbcl(fitsfile *fptr, int colnum, char *ttype, char *tunit,
- char *dtype, long *repeat, double *tscal, double *tzero,
- long *tnull, char *tdisp, int *status);
- int CFITS_API ffgbclll(fitsfile *fptr, int colnum, char *ttype, char *tunit,
- char *dtype, LONGLONG *repeat, double *tscal, double *tzero,
- LONGLONG *tnull, char *tdisp, int *status);
- int CFITS_API ffgrsz(fitsfile *fptr, long *nrows, int *status);
- int CFITS_API ffgcdw(fitsfile *fptr, int colnum, int *width, int *status);
- /*--------------------- read primary array or image elements -------------*/
- int CFITS_API ffgpxv(fitsfile *fptr, int datatype, long *firstpix, LONGLONG nelem,
- void *nulval, void *array, int *anynul, int *status);
- int CFITS_API ffgpxvll(fitsfile *fptr, int datatype, LONGLONG *firstpix, LONGLONG nelem,
- void *nulval, void *array, int *anynul, int *status);
- int CFITS_API ffgpxf(fitsfile *fptr, int datatype, long *firstpix, LONGLONG nelem,
- void *array, char *nullarray, int *anynul, int *status);
- int CFITS_API ffgpxfll(fitsfile *fptr, int datatype, LONGLONG *firstpix, LONGLONG nelem,
- void *array, char *nullarray, int *anynul, int *status);
- int CFITS_API ffgsv(fitsfile *fptr, int datatype, long *blc, long *trc, long *inc,
- void *nulval, void *array, int *anynul, int *status);
- int CFITS_API ffgpv(fitsfile *fptr, int datatype, LONGLONG firstelem, LONGLONG nelem,
- void *nulval, void *array, int *anynul, int *status);
- int CFITS_API ffgpf(fitsfile *fptr, int datatype, LONGLONG firstelem, LONGLONG nelem,
- void *array, char *nullarray, int *anynul, int *status);
- int CFITS_API ffgpvb(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem, unsigned
- char nulval, unsigned char *array, int *anynul, int *status);
- int CFITS_API ffgpvsb(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem, signed
- char nulval, signed char *array, int *anynul, int *status);
- int CFITS_API ffgpvui(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned short nulval, unsigned short *array, int *anynul,
- int *status);
- int CFITS_API ffgpvi(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- short nulval, short *array, int *anynul, int *status);
- int CFITS_API ffgpvuj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned long nulval, unsigned long *array, int *anynul,
- int *status);
- int CFITS_API ffgpvj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- long nulval, long *array, int *anynul, int *status);
- int CFITS_API ffgpvujj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- ULONGLONG nulval, ULONGLONG *array, int *anynul, int *status);
- int CFITS_API ffgpvjj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- LONGLONG nulval, LONGLONG *array, int *anynul, int *status);
- int CFITS_API ffgpvuk(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned int nulval, unsigned int *array, int *anynul, int *status);
- int CFITS_API ffgpvk(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- int nulval, int *array, int *anynul, int *status);
- int CFITS_API ffgpve(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- float nulval, float *array, int *anynul, int *status);
- int CFITS_API ffgpvd(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- double nulval, double *array, int *anynul, int *status);
-
- int CFITS_API ffgpfb(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned char *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfsb(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- signed char *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfui(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned short *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfi(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- short *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfuj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned long *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- long *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfujj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- ULONGLONG *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfjj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- LONGLONG *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfuk(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned int *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfk(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- int *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfe(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- float *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgpfd(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- double *array, char *nularray, int *anynul, int *status);
-
- int CFITS_API ffg2db(fitsfile *fptr, long group, unsigned char nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, unsigned char *array,
- int *anynul, int *status);
- int CFITS_API ffg2dsb(fitsfile *fptr, long group, signed char nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, signed char *array,
- int *anynul, int *status);
- int CFITS_API ffg2dui(fitsfile *fptr, long group, unsigned short nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, unsigned short *array,
- int *anynul, int *status);
- int CFITS_API ffg2di(fitsfile *fptr, long group, short nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, short *array,
- int *anynul, int *status);
- int CFITS_API ffg2duj(fitsfile *fptr, long group, unsigned long nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, unsigned long *array,
- int *anynul, int *status);
- int CFITS_API ffg2dj(fitsfile *fptr, long group, long nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, long *array,
- int *anynul, int *status);
- int CFITS_API ffg2dujj(fitsfile *fptr, long group, ULONGLONG nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, ULONGLONG *array,
- int *anynul, int *status);
- int CFITS_API ffg2djj(fitsfile *fptr, long group, LONGLONG nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, LONGLONG *array,
- int *anynul, int *status);
- int CFITS_API ffg2duk(fitsfile *fptr, long group, unsigned int nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, unsigned int *array,
- int *anynul, int *status);
- int CFITS_API ffg2dk(fitsfile *fptr, long group, int nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, int *array,
- int *anynul, int *status);
- int CFITS_API ffg2de(fitsfile *fptr, long group, float nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, float *array,
- int *anynul, int *status);
- int CFITS_API ffg2dd(fitsfile *fptr, long group, double nulval, LONGLONG ncols,
- LONGLONG naxis1, LONGLONG naxis2, double *array,
- int *anynul, int *status);
-
- int CFITS_API ffg3db(fitsfile *fptr, long group, unsigned char nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- unsigned char *array, int *anynul, int *status);
- int CFITS_API ffg3dsb(fitsfile *fptr, long group, signed char nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- signed char *array, int *anynul, int *status);
- int CFITS_API ffg3dui(fitsfile *fptr, long group, unsigned short nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- unsigned short *array, int *anynul, int *status);
- int CFITS_API ffg3di(fitsfile *fptr, long group, short nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- short *array, int *anynul, int *status);
- int CFITS_API ffg3duj(fitsfile *fptr, long group, unsigned long nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- unsigned long *array, int *anynul, int *status);
- int CFITS_API ffg3dj(fitsfile *fptr, long group, long nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- long *array, int *anynul, int *status);
- int CFITS_API ffg3dujj(fitsfile *fptr, long group, ULONGLONG nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- ULONGLONG *array, int *anynul, int *status);
- int CFITS_API ffg3djj(fitsfile *fptr, long group, LONGLONG nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- LONGLONG *array, int *anynul, int *status);
- int CFITS_API ffg3duk(fitsfile *fptr, long group, unsigned int nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- unsigned int *array, int *anynul, int *status);
- int CFITS_API ffg3dk(fitsfile *fptr, long group, int nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- int *array, int *anynul, int *status);
- int CFITS_API ffg3de(fitsfile *fptr, long group, float nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- float *array, int *anynul, int *status);
- int CFITS_API ffg3dd(fitsfile *fptr, long group, double nulval, LONGLONG ncols,
- LONGLONG nrows, LONGLONG naxis1, LONGLONG naxis2, LONGLONG naxis3,
- double *array, int *anynul, int *status);
-
- int CFITS_API ffgsvb(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned char nulval, unsigned char *array,
- int *anynul, int *status);
- int CFITS_API ffgsvsb(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, signed char nulval, signed char *array,
- int *anynul, int *status);
- int CFITS_API ffgsvui(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned short nulval, unsigned short *array,
- int *anynul, int *status);
- int CFITS_API ffgsvi(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, short nulval, short *array, int *anynul, int *status);
- int CFITS_API ffgsvuj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned long nulval, unsigned long *array,
- int *anynul, int *status);
- int CFITS_API ffgsvj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, long nulval, long *array, int *anynul, int *status);
- int CFITS_API ffgsvujj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, ULONGLONG nulval, ULONGLONG *array, int *anynul,
- int *status);
- int CFITS_API ffgsvjj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, LONGLONG nulval, LONGLONG *array, int *anynul,
- int *status);
- int CFITS_API ffgsvuk(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned int nulval, unsigned int *array,
- int *anynul, int *status);
- int CFITS_API ffgsvk(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, int nulval, int *array, int *anynul, int *status);
- int CFITS_API ffgsve(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, float nulval, float *array, int *anynul, int *status);
- int CFITS_API ffgsvd(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, double nulval, double *array, int *anynul,
- int *status);
-
- int CFITS_API ffgsfb(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned char *array, char *flagval,
- int *anynul, int *status);
- int CFITS_API ffgsfsb(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, signed char *array, char *flagval,
- int *anynul, int *status);
- int CFITS_API ffgsfui(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned short *array, char *flagval, int *anynul,
- int *status);
- int CFITS_API ffgsfi(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, short *array, char *flagval, int *anynul, int *status);
- int CFITS_API ffgsfuj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned long *array, char *flagval, int *anynul,
- int *status);
- int CFITS_API ffgsfj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, long *array, char *flagval, int *anynul, int *status);
- int CFITS_API ffgsfujj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, ULONGLONG *array, char *flagval, int *anynul,
- int *status);
- int CFITS_API ffgsfjj(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, LONGLONG *array, char *flagval, int *anynul,
- int *status);
- int CFITS_API ffgsfuk(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, unsigned int *array, char *flagval, int *anynul,
- int *status);
- int CFITS_API ffgsfk(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, int *array, char *flagval, int *anynul, int *status);
- int CFITS_API ffgsfe(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, float *array, char *flagval, int *anynul, int *status);
- int CFITS_API ffgsfd(fitsfile *fptr, int colnum, int naxis, long *naxes, long *blc,
- long *trc, long *inc, double *array, char *flagval, int *anynul,
- int *status);
-
- int CFITS_API ffggpb(fitsfile *fptr, long group, long firstelem, long nelem,
- unsigned char *array, int *status);
- int CFITS_API ffggpsb(fitsfile *fptr, long group, long firstelem, long nelem,
- signed char *array, int *status);
- int CFITS_API ffggpui(fitsfile *fptr, long group, long firstelem, long nelem,
- unsigned short *array, int *status);
- int CFITS_API ffggpi(fitsfile *fptr, long group, long firstelem, long nelem,
- short *array, int *status);
- int CFITS_API ffggpuj(fitsfile *fptr, long group, long firstelem, long nelem,
- unsigned long *array, int *status);
- int CFITS_API ffggpj(fitsfile *fptr, long group, long firstelem, long nelem,
- long *array, int *status);
- int CFITS_API ffggpujj(fitsfile *fptr, long group, long firstelem, long nelem,
- ULONGLONG *array, int *status);
- int CFITS_API ffggpjj(fitsfile *fptr, long group, long firstelem, long nelem,
- LONGLONG *array, int *status);
- int CFITS_API ffggpuk(fitsfile *fptr, long group, long firstelem, long nelem,
- unsigned int *array, int *status);
- int CFITS_API ffggpk(fitsfile *fptr, long group, long firstelem, long nelem,
- int *array, int *status);
- int CFITS_API ffggpe(fitsfile *fptr, long group, long firstelem, long nelem,
- float *array, int *status);
- int CFITS_API ffggpd(fitsfile *fptr, long group, long firstelem, long nelem,
- double *array, int *status);
-
- /*--------------------- read column elements -------------*/
- int CFITS_API ffgcv( fitsfile *fptr, int datatype, int colnum, LONGLONG firstrow,
- LONGLONG firstelem, LONGLONG nelem, void *nulval, void *array, int *anynul,
- int *status);
- int CFITS_API ffgcvn (fitsfile *fptr, int ncols, int *datatype, int *colnum, LONGLONG firstrow,
- LONGLONG nrows, void **nulval, void **array, int *anynul, int *status);
- int CFITS_API ffgcf( fitsfile *fptr, int datatype, int colnum, LONGLONG firstrow,
- LONGLONG firstelem, LONGLONG nelem, void *array, char *nullarray,
- int *anynul, int *status);
- int CFITS_API ffgcvs(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char *nulval, char **array, int *anynul, int *status);
- int CFITS_API ffgcl (fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char *array, int *status);
- int CFITS_API ffgcvl (fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char nulval, char *array, int *anynul, int *status);
- int CFITS_API ffgcvb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned char nulval, unsigned char *array,
- int *anynul, int *status);
- int CFITS_API ffgcvsb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, signed char nulval, signed char *array,
- int *anynul, int *status);
- int CFITS_API ffgcvui(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned short nulval, unsigned short *array,
- int *anynul, int *status);
- int CFITS_API ffgcvi(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, short nulval, short *array, int *anynul, int *status);
- int CFITS_API ffgcvuj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned long nulval, unsigned long *array, int *anynul,
- int *status);
- int CFITS_API ffgcvj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, long nulval, long *array, int *anynul, int *status);
- int CFITS_API ffgcvujj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, ULONGLONG nulval, ULONGLONG *array, int *anynul,
- int *status);
- int CFITS_API ffgcvjj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, LONGLONG nulval, LONGLONG *array, int *anynul,
- int *status);
- int CFITS_API ffgcvuk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned int nulval, unsigned int *array, int *anynul,
- int *status);
- int CFITS_API ffgcvk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, int nulval, int *array, int *anynul, int *status);
- int CFITS_API ffgcve(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float nulval, float *array, int *anynul, int *status);
- int CFITS_API ffgcvd(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double nulval, double *array, int *anynul, int *status);
- int CFITS_API ffgcvc(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float nulval, float *array, int *anynul, int *status);
- int CFITS_API ffgcvm(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double nulval, double *array, int *anynul, int *status);
- int CFITS_API ffgcx(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstbit,
- LONGLONG nbits, char *larray, int *status);
- int CFITS_API ffgcxui(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG nrows,
- long firstbit, int nbits, unsigned short *array, int *status);
- int CFITS_API ffgcxuk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG nrows,
- long firstbit, int nbits, unsigned int *array, int *status);
- int CFITS_API ffgcfs(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char **array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfl(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned char *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfsb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, signed char *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfui(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned short *array, char *nularray, int *anynul,
- int *status);
- int CFITS_API ffgcfi(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, short *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfuj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned long *array, char *nularray, int *anynul,
- int *status);
- int CFITS_API ffgcfj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, long *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfujj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, ULONGLONG *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfjj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, LONGLONG *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfuk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned int *array, char *nularray, int *anynul,
- int *status);
- int CFITS_API ffgcfk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, int *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfe(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfd(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfc(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float *array, char *nularray, int *anynul, int *status);
- int CFITS_API ffgcfm(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double *array, char *nularray, int *anynul, int *status);
-
- int CFITS_API ffgdes(fitsfile *fptr, int colnum, LONGLONG rownum, long *length,
- long *heapaddr, int *status);
- int CFITS_API ffgdesll(fitsfile *fptr, int colnum, LONGLONG rownum, LONGLONG *length,
- LONGLONG *heapaddr, int *status);
- int CFITS_API ffgdess(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG nrows, long *length,
- long *heapaddr, int *status);
- int CFITS_API ffgdessll(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG nrows, LONGLONG *length,
- LONGLONG *heapaddr, int *status);
- int CFITS_API ffpdes(fitsfile *fptr, int colnum, LONGLONG rownum, LONGLONG length,
- LONGLONG heapaddr, int *status);
- int CFITS_API fftheap(fitsfile *fptr, LONGLONG *heapsize, LONGLONG *unused, LONGLONG *overlap,
- int *valid, int *status);
- int CFITS_API ffcmph(fitsfile *fptr, int *status);
- int CFITS_API ffgtbb(fitsfile *fptr, LONGLONG firstrow, LONGLONG firstchar, LONGLONG nchars,
- unsigned char *values, int *status);
- int CFITS_API ffgextn(fitsfile *fptr, LONGLONG offset, LONGLONG nelem, void *array, int *status);
- int CFITS_API ffpextn(fitsfile *fptr, LONGLONG offset, LONGLONG nelem, void *array, int *status);
- /*------------ write primary array or image elements -------------*/
- int CFITS_API ffppx(fitsfile *fptr, int datatype, long *firstpix, LONGLONG nelem,
- void *array, int *status);
- int CFITS_API ffppxll(fitsfile *fptr, int datatype, LONGLONG *firstpix, LONGLONG nelem,
- void *array, int *status);
- int CFITS_API ffppxn(fitsfile *fptr, int datatype, long *firstpix, LONGLONG nelem,
- void *array, void *nulval, int *status);
- int CFITS_API ffppxnll(fitsfile *fptr, int datatype, LONGLONG *firstpix, LONGLONG nelem,
- void *array, void *nulval, int *status);
- int CFITS_API ffppr(fitsfile *fptr, int datatype, LONGLONG firstelem,
- LONGLONG nelem, void *array, int *status);
- int CFITS_API ffpprb(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, unsigned char *array, int *status);
- int CFITS_API ffpprsb(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, signed char *array, int *status);
- int CFITS_API ffpprui(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, unsigned short *array, int *status);
- int CFITS_API ffppri(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, short *array, int *status);
- int CFITS_API ffppruj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, unsigned long *array, int *status);
- int CFITS_API ffpprj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, long *array, int *status);
- int CFITS_API ffppruk(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, unsigned int *array, int *status);
- int CFITS_API ffpprk(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, int *array, int *status);
- int CFITS_API ffppre(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, float *array, int *status);
- int CFITS_API ffpprd(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, double *array, int *status);
- int CFITS_API ffpprjj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, LONGLONG *array, int *status);
- int CFITS_API ffpprujj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, ULONGLONG *array, int *status);
- int CFITS_API ffppru(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- int *status);
- int CFITS_API ffpprn(fitsfile *fptr, LONGLONG firstelem, LONGLONG nelem, int *status);
-
- int CFITS_API ffppn(fitsfile *fptr, int datatype, LONGLONG firstelem, LONGLONG nelem,
- void *array, void *nulval, int *status);
- int CFITS_API ffppnb(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned char *array, unsigned char nulval, int *status);
- int CFITS_API ffppnsb(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- signed char *array, signed char nulval, int *status);
- int CFITS_API ffppnui(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, unsigned short *array, unsigned short nulval,
- int *status);
- int CFITS_API ffppni(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, short *array, short nulval, int *status);
- int CFITS_API ffppnj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, long *array, long nulval, int *status);
- int CFITS_API ffppnuj(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned long *array, unsigned long nulval, int *status);
- int CFITS_API ffppnuk(fitsfile *fptr, long group, LONGLONG firstelem, LONGLONG nelem,
- unsigned int *array, unsigned int nulval, int *status);
- int CFITS_API ffppnk(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, int *array, int nulval, int *status);
- int CFITS_API ffppne(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, float *array, float nulval, int *status);
- int CFITS_API ffppnd(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, double *array, double nulval, int *status);
- int CFITS_API ffppnjj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, LONGLONG *array, LONGLONG nulval, int *status);
- int CFITS_API ffppnujj(fitsfile *fptr, long group, LONGLONG firstelem,
- LONGLONG nelem, ULONGLONG *array, ULONGLONG nulval, int *status);
- int CFITS_API ffp2db(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, unsigned char *array, int *status);
- int CFITS_API ffp2dsb(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, signed char *array, int *status);
- int CFITS_API ffp2dui(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, unsigned short *array, int *status);
- int CFITS_API ffp2di(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, short *array, int *status);
- int CFITS_API ffp2duj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, unsigned long *array, int *status);
- int CFITS_API ffp2dj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, long *array, int *status);
- int CFITS_API ffp2duk(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, unsigned int *array, int *status);
- int CFITS_API ffp2dk(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, int *array, int *status);
- int CFITS_API ffp2de(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, float *array, int *status);
- int CFITS_API ffp2dd(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, double *array, int *status);
- int CFITS_API ffp2djj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG *array, int *status);
- int CFITS_API ffp2dujj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG naxis1,
- LONGLONG naxis2, ULONGLONG *array, int *status);
- int CFITS_API ffp3db(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, unsigned char *array, int *status);
- int CFITS_API ffp3dsb(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, signed char *array, int *status);
- int CFITS_API ffp3dui(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, unsigned short *array, int *status);
- int CFITS_API ffp3di(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, short *array, int *status);
- int CFITS_API ffp3duj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, unsigned long *array, int *status);
- int CFITS_API ffp3dj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, long *array, int *status);
- int CFITS_API ffp3duk(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, unsigned int *array, int *status);
- int CFITS_API ffp3dk(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, int *array, int *status);
- int CFITS_API ffp3de(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, float *array, int *status);
- int CFITS_API ffp3dd(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, double *array, int *status);
- int CFITS_API ffp3djj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, LONGLONG *array, int *status);
- int CFITS_API ffp3dujj(fitsfile *fptr, long group, LONGLONG ncols, LONGLONG nrows, LONGLONG naxis1,
- LONGLONG naxis2, LONGLONG naxis3, ULONGLONG *array, int *status);
- int CFITS_API ffpss(fitsfile *fptr, int datatype,
- long *fpixel, long *lpixel, void *array, int *status);
- int CFITS_API ffpssb(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, unsigned char *array, int *status);
- int CFITS_API ffpsssb(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, signed char *array, int *status);
- int CFITS_API ffpssui(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, unsigned short *array, int *status);
- int CFITS_API ffpssi(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, short *array, int *status);
- int CFITS_API ffpssuj(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, unsigned long *array, int *status);
- int CFITS_API ffpssj(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, long *array, int *status);
- int CFITS_API ffpssuk(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, unsigned int *array, int *status);
- int CFITS_API ffpssk(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, int *array, int *status);
- int CFITS_API ffpsse(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, float *array, int *status);
- int CFITS_API ffpssd(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, double *array, int *status);
- int CFITS_API ffpssjj(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, LONGLONG *array, int *status);
- int CFITS_API ffpssujj(fitsfile *fptr, long group, long naxis, long *naxes,
- long *fpixel, long *lpixel, ULONGLONG *array, int *status);
- int CFITS_API ffpgpb(fitsfile *fptr, long group, long firstelem,
- long nelem, unsigned char *array, int *status);
- int CFITS_API ffpgpsb(fitsfile *fptr, long group, long firstelem,
- long nelem, signed char *array, int *status);
- int CFITS_API ffpgpui(fitsfile *fptr, long group, long firstelem,
- long nelem, unsigned short *array, int *status);
- int CFITS_API ffpgpi(fitsfile *fptr, long group, long firstelem,
- long nelem, short *array, int *status);
- int CFITS_API ffpgpuj(fitsfile *fptr, long group, long firstelem,
- long nelem, unsigned long *array, int *status);
- int CFITS_API ffpgpj(fitsfile *fptr, long group, long firstelem,
- long nelem, long *array, int *status);
- int CFITS_API ffpgpuk(fitsfile *fptr, long group, long firstelem,
- long nelem, unsigned int *array, int *status);
- int CFITS_API ffpgpk(fitsfile *fptr, long group, long firstelem,
- long nelem, int *array, int *status);
- int CFITS_API ffpgpe(fitsfile *fptr, long group, long firstelem,
- long nelem, float *array, int *status);
- int CFITS_API ffpgpd(fitsfile *fptr, long group, long firstelem,
- long nelem, double *array, int *status);
- int CFITS_API ffpgpjj(fitsfile *fptr, long group, long firstelem,
- long nelem, LONGLONG *array, int *status);
- int CFITS_API ffpgpujj(fitsfile *fptr, long group, long firstelem,
- long nelem, ULONGLONG *array, int *status);
- /*--------------------- iterator functions -------------*/
- int CFITS_API fits_iter_set_by_name(iteratorCol *col, fitsfile *fptr, char *colname,
- int datatype, int iotype);
- int CFITS_API fits_iter_set_by_num(iteratorCol *col, fitsfile *fptr, int colnum,
- int datatype, int iotype);
- int CFITS_API fits_iter_set_file(iteratorCol *col, fitsfile *fptr);
- int CFITS_API fits_iter_set_colname(iteratorCol *col, char *colname);
- int CFITS_API fits_iter_set_colnum(iteratorCol *col, int colnum);
- int CFITS_API fits_iter_set_datatype(iteratorCol *col, int datatype);
- int CFITS_API fits_iter_set_iotype(iteratorCol *col, int iotype);
- CFITS_API fitsfile * fits_iter_get_file(iteratorCol *col);
- char CFITS_API * fits_iter_get_colname(iteratorCol *col);
- int CFITS_API fits_iter_get_colnum(iteratorCol *col);
- int CFITS_API fits_iter_get_datatype(iteratorCol *col);
- int CFITS_API fits_iter_get_iotype(iteratorCol *col);
- void CFITS_API *fits_iter_get_array(iteratorCol *col);
- long CFITS_API fits_iter_get_tlmin(iteratorCol *col);
- long CFITS_API fits_iter_get_tlmax(iteratorCol *col);
- long CFITS_API fits_iter_get_repeat(iteratorCol *col);
- char CFITS_API *fits_iter_get_tunit(iteratorCol *col);
- char CFITS_API *fits_iter_get_tdisp(iteratorCol *col);
- int CFITS_API ffiter(int ncols, iteratorCol *data, long offset, long nPerLoop,
- int (*workFn)( long totaln, long offset, long firstn,
- long nvalues, int narrays, iteratorCol *data, void *userPointer),
- void *userPointer, int *status);
- /*--------------------- write column elements -------------*/
- int CFITS_API ffpcl(fitsfile *fptr, int datatype, int colnum, LONGLONG firstrow,
- LONGLONG firstelem, LONGLONG nelem, void *array, int *status);
- int CFITS_API ffpcln(fitsfile *fptr, int ncols, int *datatype, int *colnum, LONGLONG firstrow,
- LONGLONG nrows, void **array, void **nulval, int *status);
- int CFITS_API ffpcls(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char **array, int *status);
- int CFITS_API ffpcll(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char *array, int *status);
- int CFITS_API ffpclb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned char *array, int *status);
- int CFITS_API ffpclsb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, signed char *array, int *status);
- int CFITS_API ffpclui(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned short *array, int *status);
- int CFITS_API ffpcli(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, short *array, int *status);
- int CFITS_API ffpcluj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned long *array, int *status);
- int CFITS_API ffpclj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, long *array, int *status);
- int CFITS_API ffpcluk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned int *array, int *status);
- int CFITS_API ffpclk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, int *array, int *status);
- int CFITS_API ffpcle(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float *array, int *status);
- int CFITS_API ffpcld(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double *array, int *status);
- int CFITS_API ffpclc(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float *array, int *status);
- int CFITS_API ffpclm(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double *array, int *status);
- int CFITS_API ffpclu(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, int *status);
- int CFITS_API ffprwu(fitsfile *fptr, LONGLONG firstrow, LONGLONG nrows, int *status);
- int CFITS_API ffpcljj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, LONGLONG *array, int *status);
- int CFITS_API ffpclujj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, ULONGLONG *array, int *status);
- int CFITS_API ffpclx(fitsfile *fptr, int colnum, LONGLONG frow, long fbit, long nbit,
- char *larray, int *status);
- int CFITS_API ffpcn(fitsfile *fptr, int datatype, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, void *array, void *nulval, int *status);
- int CFITS_API ffpcns( fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char **array, char *nulvalue, int *status);
- int CFITS_API ffpcnl( fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, char *array, char nulvalue, int *status);
- int CFITS_API ffpcnb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned char *array, unsigned char nulvalue,
- int *status);
- int CFITS_API ffpcnsb(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, signed char *array, signed char nulvalue,
- int *status);
- int CFITS_API ffpcnui(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned short *array, unsigned short nulvalue,
- int *status);
- int CFITS_API ffpcni(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, short *array, short nulvalue, int *status);
- int CFITS_API ffpcnuj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned long *array, unsigned long nulvalue,
- int *status);
- int CFITS_API ffpcnj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, long *array, long nulvalue, int *status);
- int CFITS_API ffpcnuk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, unsigned int *array, unsigned int nulvalue,
- int *status);
- int CFITS_API ffpcnk(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, int *array, int nulvalue, int *status);
- int CFITS_API ffpcne(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, float *array, float nulvalue, int *status);
- int CFITS_API ffpcnd(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, double *array, double nulvalue, int *status);
- int CFITS_API ffpcnjj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, LONGLONG *array, LONGLONG nulvalue, int *status);
- int CFITS_API ffpcnujj(fitsfile *fptr, int colnum, LONGLONG firstrow, LONGLONG firstelem,
- LONGLONG nelem, ULONGLONG *array, ULONGLONG nulvalue, int *status);
- int CFITS_API ffptbb(fitsfile *fptr, LONGLONG firstrow, LONGLONG firstchar, LONGLONG nchars,
- unsigned char *values, int *status);
-
- int CFITS_API ffirow(fitsfile *fptr, LONGLONG firstrow, LONGLONG nrows, int *status);
- int CFITS_API ffdrow(fitsfile *fptr, LONGLONG firstrow, LONGLONG nrows, int *status);
- int CFITS_API ffdrrg(fitsfile *fptr, char *ranges, int *status);
- int CFITS_API ffdrws(fitsfile *fptr, long *rownum, long nrows, int *status);
- int CFITS_API ffdrwsll(fitsfile *fptr, LONGLONG *rownum, LONGLONG nrows, int *status);
- int CFITS_API fficol(fitsfile *fptr, int numcol, char *ttype, char *tform, int *status);
- int CFITS_API fficls(fitsfile *fptr, int firstcol, int ncols, char **ttype,
- char **tform, int *status);
- int CFITS_API ffmvec(fitsfile *fptr, int colnum, LONGLONG newveclen, int *status);
- int CFITS_API ffdcol(fitsfile *fptr, int numcol, int *status);
- int CFITS_API ffcpcl(fitsfile *infptr, fitsfile *outfptr, int incol, int outcol,
- int create_col, int *status);
- int CFITS_API ffccls(fitsfile *infptr, fitsfile *outfptr, int incol, int outcol,
- int ncols, int create_col, int *status);
- int CFITS_API ffcprw(fitsfile *infptr, fitsfile *outfptr, LONGLONG firstrow,
- LONGLONG nrows, int *status);
- int CFITS_API ffcpsr(fitsfile *infptr, fitsfile *outfptr, LONGLONG firstrow,
- LONGLONG nrows, char *row_status, int *status);
- int CFITS_API ffcpht(fitsfile *infptr, fitsfile *outfptr, LONGLONG firstrow,
- LONGLONG nrows, int *status);
- /*--------------------- WCS Utilities ------------------*/
- int CFITS_API ffgics(fitsfile *fptr, double *xrval, double *yrval, double *xrpix,
- double *yrpix, double *xinc, double *yinc, double *rot,
- char *type, int *status);
- int CFITS_API ffgicsa(fitsfile *fptr, char version, double *xrval, double *yrval, double *xrpix,
- double *yrpix, double *xinc, double *yinc, double *rot,
- char *type, int *status);
- int CFITS_API ffgtcs(fitsfile *fptr, int xcol, int ycol, double *xrval,
- double *yrval, double *xrpix, double *yrpix, double *xinc,
- double *yinc, double *rot, char *type, int *status);
- int CFITS_API ffwldp(double xpix, double ypix, double xref, double yref,
- double xrefpix, double yrefpix, double xinc, double yinc,
- double rot, char *type, double *xpos, double *ypos, int *status);
- int CFITS_API ffxypx(double xpos, double ypos, double xref, double yref,
- double xrefpix, double yrefpix, double xinc, double yinc,
- double rot, char *type, double *xpix, double *ypix, int *status);
- /* WCS support routines (provide interface to Doug Mink's WCS library */
- int CFITS_API ffgiwcs(fitsfile *fptr, char **header, int *status);
- int CFITS_API ffgtwcs(fitsfile *fptr, int xcol, int ycol, char **header, int *status);
- /*--------------------- lexical parsing routines ------------------*/
- int CFITS_API fftexp( fitsfile *fptr, char *expr, int maxdim,
- int *datatype, long *nelem, int *naxis,
- long *naxes, int *status );
- int CFITS_API fffrow( fitsfile *infptr, char *expr,
- long firstrow, long nrows,
- long *n_good_rows, char *row_status, int *status);
- int CFITS_API ffffrw( fitsfile *fptr, char *expr, long *rownum, int *status);
- int CFITS_API fffrwc( fitsfile *fptr, char *expr, char *timeCol,
- char *parCol, char *valCol, long ntimes,
- double *times, char *time_status, int *status );
- int CFITS_API ffsrow( fitsfile *infptr, fitsfile *outfptr, char *expr,
- int *status);
- int CFITS_API ffcrow( fitsfile *fptr, int datatype, char *expr,
- long firstrow, long nelements, void *nulval,
- void *array, int *anynul, int *status );
- int CFITS_API ffcalc_rng( fitsfile *infptr, char *expr, fitsfile *outfptr,
- char *parName, char *parInfo, int nRngs,
- long *start, long *end, int *status );
- int CFITS_API ffcalc( fitsfile *infptr, char *expr, fitsfile *outfptr,
- char *parName, char *parInfo, int *status );
- /* ffhist is not really intended as a user-callable routine */
- /* but it may be useful for some specialized applications */
- /* ffhist2 is a newer version which is strongly recommended instead of ffhist */
- int CFITS_API ffhist(fitsfile **fptr, char *outfile, int imagetype, int naxis,
- char colname[4][FLEN_VALUE],
- double *minin, double *maxin, double *binsizein,
- char minname[4][FLEN_VALUE], char maxname[4][FLEN_VALUE],
- char binname[4][FLEN_VALUE],
- double weightin, char wtcol[FLEN_VALUE],
- int recip, char *rowselect, int *status);
- int CFITS_API ffhist2(fitsfile **fptr, char *outfile, int imagetype, int naxis,
- char colname[4][FLEN_VALUE],
- double *minin, double *maxin, double *binsizein,
- char minname[4][FLEN_VALUE], char maxname[4][FLEN_VALUE],
- char binname[4][FLEN_VALUE],
- double weightin, char wtcol[FLEN_VALUE],
- int recip, char *rowselect, int *status);
- CFITS_API fitsfile *ffhist3(fitsfile *fptr,
- char *outfile, int imagetype, int naxis,
- char colname[4][FLEN_VALUE],
- double *minin,
- double *maxin,
- double *binsizein,
- char minname[4][FLEN_VALUE],
- char maxname[4][FLEN_VALUE],
- char binname[4][FLEN_VALUE],
- double weightin,
- char wtcol[FLEN_VALUE],
- int recip,
- char *selectrow,
- int *status);
- int CFITS_API fits_select_image_section(fitsfile **fptr, char *outfile,
- char *imagesection, int *status);
- int CFITS_API fits_copy_image_section(fitsfile *infptr, fitsfile *outfile,
- char *imagesection, int *status);
- int CFITS_API fits_calc_binning(fitsfile *fptr, int naxis, char colname[4][FLEN_VALUE],
- double *minin, double *maxin, double *binsizein,
- char minname[4][FLEN_VALUE], char maxname[4][FLEN_VALUE],
- char binname[4][FLEN_VALUE], int *colnum, long *haxes,
- float *amin, float *amax, float *binsize, int *status);
- int CFITS_API fits_calc_binningd(fitsfile *fptr, int naxis, char colname[4][FLEN_VALUE],
- double *minin, double *maxin, double *binsizein,
- char minname[4][FLEN_VALUE], char maxname[4][FLEN_VALUE],
- char binname[4][FLEN_VALUE], int *colnum, long *haxes,
- double *amin, double *amax, double *binsize, int *status);
- int CFITS_API fits_write_keys_histo(fitsfile *fptr, fitsfile *histptr,
- int naxis, int *colnum, int *status);
- int CFITS_API fits_rebin_wcs( fitsfile *fptr, int naxis, float *amin, float *binsize,
- int *status);
- int CFITS_API fits_rebin_wcsd( fitsfile *fptr, int naxis, double *amin, double *binsize,
- int *status);
- int CFITS_API fits_make_hist(fitsfile *fptr, fitsfile *histptr, int bitpix,int naxis,
- long *naxes, int *colnum, float *amin, float *amax, float *binsize,
- float weight, int wtcolnum, int recip, char *selectrow, int *status);
- int CFITS_API fits_make_histd(fitsfile *fptr, fitsfile *histptr, int bitpix,int naxis,
- long *naxes, int *colnum, double *amin, double *amax, double *binsize,
- double weight, int wtcolnum, int recip, char *selectrow, int *status);
- typedef struct
- {
- /* input(s) */
- int count;
- char ** path;
- char ** tag;
- fitsfile ** ifptr;
- char * expression;
- /* output control */
- int bitpix;
- long blank;
- fitsfile * ofptr;
- char keyword[FLEN_KEYWORD];
- char comment[FLEN_COMMENT];
- } PixelFilter;
- int CFITS_API fits_pixel_filter (PixelFilter * filter, int * status);
- /*--------------------- grouping routines ------------------*/
- int CFITS_API ffgtcr(fitsfile *fptr, char *grpname, int grouptype, int *status);
- int CFITS_API ffgtis(fitsfile *fptr, char *grpname, int grouptype, int *status);
- int CFITS_API ffgtch(fitsfile *gfptr, int grouptype, int *status);
- int CFITS_API ffgtrm(fitsfile *gfptr, int rmopt, int *status);
- int CFITS_API ffgtcp(fitsfile *infptr, fitsfile *outfptr, int cpopt, int *status);
- int CFITS_API ffgtmg(fitsfile *infptr, fitsfile *outfptr, int mgopt, int *status);
- int CFITS_API ffgtcm(fitsfile *gfptr, int cmopt, int *status);
- int CFITS_API ffgtvf(fitsfile *gfptr, long *firstfailed, int *status);
- int CFITS_API ffgtop(fitsfile *mfptr,int group,fitsfile **gfptr,int *status);
- int CFITS_API ffgtam(fitsfile *gfptr, fitsfile *mfptr, int hdupos, int *status);
- int CFITS_API ffgtnm(fitsfile *gfptr, long *nmembers, int *status);
- int CFITS_API ffgmng(fitsfile *mfptr, long *nmembers, int *status);
- int CFITS_API ffgmop(fitsfile *gfptr, long member, fitsfile **mfptr, int *status);
- int CFITS_API ffgmcp(fitsfile *gfptr, fitsfile *mfptr, long member, int cpopt,
- int *status);
- int CFITS_API ffgmtf(fitsfile *infptr, fitsfile *outfptr, long member, int tfopt,
- int *status);
- int CFITS_API ffgmrm(fitsfile *fptr, long member, int rmopt, int *status);
- /*--------------------- group template parser routines ------------------*/
- int CFITS_API fits_execute_template(fitsfile *ff, char *ngp_template, int *status);
- int CFITS_API fits_img_stats_short(short *array,long nx, long ny, int nullcheck,
- short nullvalue,long *ngoodpix, short *minvalue, short *maxvalue, double *mean,
- double *sigma, double *noise1, double *noise2, double *noise3, double *noise5, int *status);
- int CFITS_API fits_img_stats_int(int *array,long nx, long ny, int nullcheck,
- int nullvalue,long *ngoodpix, int *minvalue, int *maxvalue, double *mean,
- double *sigma, double *noise1, double *noise2, double *noise3, double *noise5, int *status);
- int CFITS_API fits_img_stats_float(float *array, long nx, long ny, int nullcheck,
- float nullvalue,long *ngoodpix, float *minvalue, float *maxvalue, double *mean,
- double *sigma, double *noise1, double *noise2, double *noise3, double *noise5, int *status);
- /*--------------------- image compression routines ------------------*/
- int CFITS_API fits_set_compression_type(fitsfile *fptr, int ctype, int *status);
- int CFITS_API fits_set_tile_dim(fitsfile *fptr, int ndim, long *dims, int *status);
- int CFITS_API fits_set_noise_bits(fitsfile *fptr, int noisebits, int *status);
- int CFITS_API fits_set_quantize_level(fitsfile *fptr, float qlevel, int *status);
- int CFITS_API fits_set_hcomp_scale(fitsfile *fptr, float scale, int *status);
- int CFITS_API fits_set_hcomp_smooth(fitsfile *fptr, int smooth, int *status);
- int CFITS_API fits_set_quantize_method(fitsfile *fptr, int method, int *status);
- int CFITS_API fits_set_quantize_dither(fitsfile *fptr, int dither, int *status);
- int CFITS_API fits_set_dither_seed(fitsfile *fptr, int seed, int *status);
- int CFITS_API fits_set_dither_offset(fitsfile *fptr, int offset, int *status);
- int CFITS_API fits_set_lossy_int(fitsfile *fptr, int lossy_int, int *status);
- int CFITS_API fits_set_huge_hdu(fitsfile *fptr, int huge, int *status);
- int CFITS_API fits_set_compression_pref(fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API fits_get_compression_type(fitsfile *fptr, int *ctype, int *status);
- int CFITS_API fits_get_tile_dim(fitsfile *fptr, int ndim, long *dims, int *status);
- int CFITS_API fits_get_quantize_level(fitsfile *fptr, float *qlevel, int *status);
- int CFITS_API fits_get_noise_bits(fitsfile *fptr, int *noisebits, int *status);
- int CFITS_API fits_get_hcomp_scale(fitsfile *fptr, float *scale, int *status);
- int CFITS_API fits_get_hcomp_smooth(fitsfile *fptr, int *smooth, int *status);
- int CFITS_API fits_get_dither_seed(fitsfile *fptr, int *seed, int *status);
- int CFITS_API fits_img_compress(fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API fits_compress_img(fitsfile *infptr, fitsfile *outfptr, int compress_type,
- long *tilesize, int parm1, int parm2, int *status);
- int CFITS_API fits_is_compressed_image(fitsfile *fptr, int *status);
- int CFITS_API fits_is_reentrant(void);
- int CFITS_API fits_decompress_img (fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API fits_img_decompress_header(fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API fits_img_decompress (fitsfile *infptr, fitsfile *outfptr, int *status);
- /* H-compress routines */
- int CFITS_API fits_hcompress(int *a, int nx, int ny, int scale, char *output,
- long *nbytes, int *status);
- int CFITS_API fits_hcompress64(LONGLONG *a, int nx, int ny, int scale, char *output,
- long *nbytes, int *status);
- int CFITS_API fits_hdecompress(unsigned char *input, int smooth, int *a, int *nx,
- int *ny, int *scale, int *status);
- int CFITS_API fits_hdecompress64(unsigned char *input, int smooth, LONGLONG *a, int *nx,
- int *ny, int *scale, int *status);
- int CFITS_API fits_compress_table (fitsfile *infptr, fitsfile *outfptr, int *status);
- int CFITS_API fits_uncompress_table(fitsfile *infptr, fitsfile *outfptr, int *status);
- /* curl library wrapper routines (for https access) */
- int CFITS_API fits_init_https(void);
- int CFITS_API fits_cleanup_https(void);
- void CFITS_API fits_verbose_https(int flag);
- void CFITS_API ffshdwn(int flag);
- int CFITS_API ffgtmo(void);
- int CFITS_API ffstmo(int sec, int *status);
- /* The following exclusion if __CINT__ is defined is needed for ROOT */
- #ifndef __CINT__
- #ifdef __cplusplus
- }
- #endif
- #endif
- #endif
|