00001
00002 /*---------------------------------------------------------------------------
00003 E.S.O.
00004 ----------------------------------------------------------------------------
00005 File name : fits_h.h
00006 Author : N. Devillard
00007 Created on : March 2000
00008 Language : ANSI C
00009 Description : Symbolic table data structure definition and handling
00010 specialized for FITS header handling.
00011 *--------------------------------------------------------------------------*/
00012
00013 /*
00014
00015 $Id: fits_h.h,v 1.3 2005/04/19 09:15:42 amodigli Exp $
00016 $Author: amodigli $
00017 $Date: 2005/04/19 09:15:42 $
00018 $Revision: 1.3 $
00019
00020 */
00021
00022 #ifndef _FITS_HEADER_H_
00023 #define _FITS_HEADER_H_
00024
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028
00029 /*---------------------------------------------------------------------------
00030 Includes
00031 ---------------------------------------------------------------------------*/
00032
00033 #include <stdio.h>
00034 #include <stdlib.h>
00035 #include <string.h>
00036 #include <unistd.h>
00037
00038 #include "list.h"
00039 #include "fits_p.h"
00040
00041
00042 /*---------------------------------------------------------------------------
00043 New types
00044 ---------------------------------------------------------------------------*/
00045
00046 typedef llist_t fits_header ;
00047
00048
00049 /*---------------------------------------------------------------------------
00050 Function ANSI prototypes
00051 ---------------------------------------------------------------------------*/
00052 /*-------------------------------------------------------------------------*/
00062 /*--------------------------------------------------------------------------*/
00063
00064 fits_header * fits_header_new(void);
00065
00066 /*-------------------------------------------------------------------------*/
00077 /*--------------------------------------------------------------------------*/
00078
00079 fits_header * fits_header_default(void);
00080
00081 /*-------------------------------------------------------------------------*/
00098 /*--------------------------------------------------------------------------*/
00099
00100 /*<python>*/
00101 void fits_header_add(
00102 fits_header * hdr,
00103 char * key,
00104 char * val,
00105 char * com,
00106 char * lin);
00107 /*</python>*/
00108
00109
00110 /*-------------------------------------------------------------------------*/
00127 /*--------------------------------------------------------------------------*/
00128
00129 /*<python>*/
00130 void fits_header_add_after(
00131 fits_header * hdr,
00132 char * after,
00133 char * key,
00134 char * val,
00135 char * com,
00136 char * lin);
00137 /*</python>*/
00138
00139
00140 /*-------------------------------------------------------------------------*/
00155 /*--------------------------------------------------------------------------*/
00156
00157 void fits_header_append(
00158 fits_header * hdr,
00159 char * key,
00160 char * val,
00161 char * com,
00162 char * lin);
00163
00164
00165
00166 /*-------------------------------------------------------------------------*/
00178 /*--------------------------------------------------------------------------*/
00179 /*<python>*/
00180 void fits_header_del(fits_header * hdr, const char * key);
00181 /*</python>*/
00182
00183
00184
00185 /*-------------------------------------------------------------------------*/
00200 /*--------------------------------------------------------------------------*/
00201 /*<python>*/
00202 void fits_header_mod(
00203 fits_header * hdr,
00204 const char * key,
00205 const char * val,
00206 const char * com);
00207 /*</python>*/
00208
00209
00210
00211 /*-------------------------------------------------------------------------*/
00222 /*--------------------------------------------------------------------------*/
00223
00224 void fits_header_touchall(fits_header * hdr);
00225
00226
00227 /*-------------------------------------------------------------------------*/
00237 /*--------------------------------------------------------------------------*/
00238
00239 void fits_header_consoledump(fits_header * hdr);
00240
00241
00242 /*-------------------------------------------------------------------------*/
00252 /*--------------------------------------------------------------------------*/
00253 /*<python>*/
00254 void fits_header_destroy(fits_header * hdr);
00255 /*</python>*/
00256
00257
00258
00259 /*-------------------------------------------------------------------------*/
00274 /*--------------------------------------------------------------------------*/
00275 /*<python>*/
00276 char * fits_header_getstr(fits_header * hdr, const char * key);
00277 /*</python>*/
00278
00279
00280 /*-------------------------------------------------------------------------*/
00295 /*--------------------------------------------------------------------------*/
00296
00297 char * fits_header_getline(fits_header * hdr, char * key);
00298
00299
00300 /*-------------------------------------------------------------------------*/
00315 /*--------------------------------------------------------------------------*/
00316
00317 /*<python>*/
00318 char * fits_header_getcom(fits_header * hdr, char * key);
00319 /*</python>*/
00320
00321
00322 /*-------------------------------------------------------------------------*/
00336 /*--------------------------------------------------------------------------*/
00337
00338 int fits_header_getint(fits_header * hdr, const char * key, int errval);
00339
00340
00341 /*-------------------------------------------------------------------------*/
00355 /*--------------------------------------------------------------------------*/
00356
00357 double fits_header_getdouble(fits_header * hdr, const char * key, double errval);
00358
00359
00360 /*-------------------------------------------------------------------------*/
00382 /*--------------------------------------------------------------------------*/
00383
00384 int fits_header_getboolean(fits_header * hdr, char * key, int errval);
00385
00386
00387 /*-------------------------------------------------------------------------*/
00402 /*--------------------------------------------------------------------------*/
00403
00404 int fits_header_makeline(
00405 char * line,
00406 llnode_t * node,
00407 int conservative);
00408
00409
00410
00411 #ifdef __cplusplus
00412 }
00413 #endif
00414
00415
00416 #endif
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001