TwiceAsNice  2019-02-18
Classes | Macros | Typedefs | Enumerations | Functions | Variables
fitscat.h File Reference
#include <stdio.h>
Include dependency graph for fitscat.h:
This graph shows which files directly or indirectly include this file:

Classes

union  ULONGLONG
 
union  SLONGLONG
 
struct  structkey
 
struct  structcat
 
struct  structtab
 

Macros

#define MAXCHARS   256 /* max. number of characters */
 
#define WARNING_NMAX   1000 /* max. number of recorded warnings */
 
#define RETURN_OK   0
 
#define RETURN_ERROR   (-1)
 
#define RETURN_FATAL_ERROR   (-2)
 
#define BP_BYTE   8
 
#define BP_SHORT   16
 
#define BP_LONG   32
 
#define BP_LONGLONG   64
 
#define BP_FLOAT   (-32)
 
#define BP_DOUBLE   (-64)
 
#define FITS_SUFFIX   ".fits"
 
#define FBSIZE   2880L
 
#define PADTOTAL(x)   (((x-1)/FBSIZE+1)*FBSIZE)
 
#define PADEXTRA(x)   ((FBSIZE - (x%FBSIZE))% FBSIZE)
 
#define OFF_T   long
 

Typedefs

typedef float PIXTYPE
 
typedef unsigned int FLAGTYPE
 
typedef size_t KINGSIZE_T
 
typedef struct structkey keystruct
 
typedef struct structcat catstruct
 
typedef struct structtab tabstruct
 

Enumerations

enum  h_type {
  H_INT, H_FLOAT, H_EXPO, H_BOOL,
  H_STRING, H_STRINGS, H_COMMENT, H_HCOMMENT,
  H_KEY, H_INT, H_FLOAT, H_EXPO,
  H_BOOL, H_STRING, H_STRINGS, H_COMMENT,
  H_HCOMMENT, H_KEY
}
 
enum  t_type {
  T_BYTE, T_SHORT, T_LONG, T_LONGLONG,
  T_FLOAT, T_DOUBLE, T_STRING, T_BYTE,
  T_SHORT, T_LONG, T_LONGLONG, T_FLOAT,
  T_DOUBLE, T_STRING
}
 
enum  access_type_t { WRITE_ONLY, READ_ONLY, WRITE_ONLY, READ_ONLY }
 
enum  output_type { SHOW_ASCII, SHOW_SKYCAT, SHOW_ASCII, SHOW_SKYCAT }
 

Functions

catstructnew_cat (int ncat)
 
catstructread_cat (char *filename)
 
catstructread_cats (char **filenames, int ncat)
 
tabstructasc2bin_tab (catstruct *catin, char *tabinname, catstruct *catout, char *taboutname)
 
tabstructinit_readobj (tabstruct *tab, char **pbuf)
 
tabstructname_to_tab (catstruct *cat, char *tabname, int seg)
 
tabstructnew_tab (char *tabname)
 
tabstructpos_to_tab (catstruct *cat, int pos, int seg)
 
keystructname_to_key (tabstruct *tab, char *keyname)
 
keystructnew_key (char *keyname)
 
keystructpos_to_key (tabstruct *tab, int pos)
 
keystructread_key (tabstruct *tab, char *keyname)
 
void add_cleanupfilename (char *filename)
 
void cleanup_files (void)
 
void copy_tab_fromptr (tabstruct *tabin, catstruct *catout, int pos)
 
void encode_checksum (unsigned int sum, char *str)
 
void end_readobj (tabstruct *keytab, tabstruct *tab, char *buf)
 
void end_writeobj (catstruct *cat, tabstruct *tab, char *buf)
 
void error (int, char *, char *)
 
void error_installfunc (void(*func)(char *msg1, char *msg2))
 
void fixexponent (char *s)
 
void free_body (tabstruct *tab)
 
void free_cat (catstruct **cat, int ncat)
 
void free_key (keystruct *key)
 
void free_tab (tabstruct *tab)
 
void init_writeobj (catstruct *cat, tabstruct *tab, char **pbuf)
 
void install_cleanup (void(*func)(void))
 
void print_obj (FILE *stream, tabstruct *tab)
 
void read_keys (tabstruct *tab, char **keynames, keystruct **keys, int nkeys, unsigned char *mask)
 
void read_basic (tabstruct *tab)
 
void read_body (tabstruct *tab, PIXTYPE *ptr, size_t size)
 
void read_ibody (tabstruct *tab, FLAGTYPE *ptr, size_t size)
 
void readbasic_head (tabstruct *tab)
 
void remove_cleanupfilename (char *filename)
 
void save_cat (catstruct *cat, char *filename)
 
void save_tab (catstruct *cat, tabstruct *tab)
 
void show_keys (tabstruct *tab, char **keynames, keystruct **keys, int nkeys, unsigned char *mask, FILE *stream, int strflag, int banflag, int leadflag, output_type o_type)
 
void swapbytes (void *, int, int)
 
void ttypeconv (void *ptrin, void *ptrout, t_type ttypein, t_type ttypeout)
 
void voprint_obj (FILE *stream, tabstruct *tab)
 
void warning (char *, char *)
 
void write_body (tabstruct *tab, PIXTYPE *ptr, size_t size)
 
void write_ibody (tabstruct *tab, FLAGTYPE *ptr, size_t size)
 
void write_checksum (tabstruct *tab)
 
char * tdisptoprintf (char *tdisp, char *str)
 
char * printftotdisp (char *cprintf, char *str)
 
char * fitsnfind (char *fitsbuf, char *str, int nblock)
 
char ** tabs_list (catstruct *cat, int *n)
 
char ** keys_list (tabstruct *tab, int *n)
 
char * warning_history (void)
 
unsigned int compute_blocksum (char *buf, unsigned int sum)
 
unsigned int compute_bodysum (tabstruct *tab, unsigned int sum)
 
unsigned int decode_checksum (char *str)
 
int about_cat (catstruct *cat, FILE *stream)
 
int about_tab (catstruct *cat, char *tabname, FILE *stream)
 
int addhistoryto_cat (catstruct *cat, char *str)
 
int add_key (keystruct *key, tabstruct *tab, int pos)
 
int addkeyto_head (tabstruct *tab, keystruct *key)
 
int addkeywordto_head (tabstruct *tab, char *keyword, char *comment)
 
int add_tab (tabstruct *tab, catstruct *cat, int pos)
 
int blank_keys (tabstruct *tab)
 
int close_cat (catstruct *cat)
 
int copy_key (tabstruct *tabin, char *keyname, tabstruct *tabout, int pos)
 
int copy_tab (catstruct *catin, char *tabname, int seg, catstruct *catout, int pos)
 
int copy_tabs (catstruct *catin, catstruct *catout)
 
int copy_tabs_blind (catstruct *catin, catstruct *catout)
 
int ext_head (tabstruct *tab)
 
int findkey (char *, char *, int)
 
int findnkey (char *, char *, int, int)
 
int fitsadd (char *fitsbuf, char *keyword, char *comment)
 
int fitsfind (char *fitsbuf, char *keyword)
 
int fitspick (char *fitsbuf, char *keyword, void *ptr, h_type *htype, t_type *ttype, char *comment)
 
int fitsread (char *fitsbuf, char *keyword, void *ptr, h_type htype, t_type ttype)
 
int fitsremove (char *fitsbuf, char *keyword)
 
int fitswrite (char *fitsbuf, char *keyword, void *ptr, h_type htype, t_type ttype)
 
int get_head (tabstruct *tab)
 
int inherit_cat (catstruct *catin, catstruct *catout)
 
int init_cat (catstruct *cat)
 
int map_cat (catstruct *cat)
 
int open_cat (catstruct *cat, access_type_t at)
 
int pad_tab (catstruct *cat, KINGSIZE_T size)
 
int prim_head (tabstruct *tab)
 
int readbintabparam_head (tabstruct *tab)
 
int read_field (tabstruct *tab, char **keynames, keystruct **keys, int nkeys, int field, tabstruct *ftab)
 
int read_obj (tabstruct *keytab, tabstruct *tab, char *buf)
 
int read_obj_at (tabstruct *keytab, tabstruct *tab, char *buf, long pos)
 
int remove_key (tabstruct *tab, char *keyname)
 
int remove_keys (tabstruct *tab)
 
int removekeywordfrom_head (tabstruct *tab, char *keyword)
 
int remove_tab (catstruct *cat, char *tabname, int seg)
 
int remove_tabs (catstruct *cat)
 
int save_head (catstruct *cat, tabstruct *tab)
 
int set_maxram (size_t maxram)
 
int set_maxvram (size_t maxvram)
 
int set_swapdir (char *dirname)
 
int tab_row_len (char *, char *)
 
int tformof (char *str, t_type ttype, int n)
 
int tsizeof (char *str)
 
int update_head (tabstruct *tab)
 
int update_tab (tabstruct *tab)
 
int verify_checksum (tabstruct *tab)
 
int write_obj (tabstruct *tab, char *buf)
 
int wstrncmp (char *, char *, int)
 
PIXTYPEalloc_body (tabstruct *tab, void(*func)(PIXTYPE *ptr, int npix))
 
FLAGTYPEalloc_ibody (tabstruct *tab, void(*func)(FLAGTYPE *ptr, int npix))
 
t_type ttypeof (char *str)
 

Variables

const int t_size []
 
int bswapflag
 

Macro Definition Documentation

◆ BP_BYTE

#define BP_BYTE   8

◆ BP_DOUBLE

#define BP_DOUBLE   (-64)

◆ BP_FLOAT

#define BP_FLOAT   (-32)

◆ BP_LONG

#define BP_LONG   32

◆ BP_LONGLONG

#define BP_LONGLONG   64

◆ BP_SHORT

#define BP_SHORT   16

◆ FBSIZE

#define FBSIZE   2880L

◆ FITS_SUFFIX

#define FITS_SUFFIX   ".fits"

◆ MAXCHARS

#define MAXCHARS   256 /* max. number of characters */

◆ OFF_T

#define OFF_T   long

◆ PADEXTRA

#define PADEXTRA (   x)    ((FBSIZE - (x%FBSIZE))% FBSIZE)

◆ PADTOTAL

#define PADTOTAL (   x)    (((x-1)/FBSIZE+1)*FBSIZE)

◆ RETURN_ERROR

#define RETURN_ERROR   (-1)

◆ RETURN_FATAL_ERROR

#define RETURN_FATAL_ERROR   (-2)

◆ RETURN_OK

#define RETURN_OK   0

◆ WARNING_NMAX

#define WARNING_NMAX   1000 /* max. number of recorded warnings */

Typedef Documentation

◆ catstruct

typedef struct structcat catstruct

◆ FLAGTYPE

typedef unsigned int FLAGTYPE

◆ keystruct

typedef struct structkey keystruct

◆ KINGSIZE_T

typedef size_t KINGSIZE_T

◆ PIXTYPE

typedef float PIXTYPE

◆ tabstruct

typedef struct structtab tabstruct

Enumeration Type Documentation

◆ access_type_t

Enumerator
WRITE_ONLY 
READ_ONLY 
WRITE_ONLY 
READ_ONLY 

◆ h_type

enum h_type
Enumerator
H_INT 
H_FLOAT 
H_EXPO 
H_BOOL 
H_STRING 
H_STRINGS 
H_COMMENT 
H_HCOMMENT 
H_KEY 
H_INT 
H_FLOAT 
H_EXPO 
H_BOOL 
H_STRING 
H_STRINGS 
H_COMMENT 
H_HCOMMENT 
H_KEY 

◆ output_type

Enumerator
SHOW_ASCII 
SHOW_SKYCAT 
SHOW_ASCII 
SHOW_SKYCAT 

◆ t_type

enum t_type
Enumerator
T_BYTE 
T_SHORT 
T_LONG 
T_LONGLONG 
T_FLOAT 
T_DOUBLE 
T_STRING 
T_BYTE 
T_SHORT 
T_LONG 
T_LONGLONG 
T_FLOAT 
T_DOUBLE 
T_STRING 

Function Documentation

◆ about_cat()

int about_cat ( catstruct cat,
FILE *  stream 
)

◆ about_tab()

int about_tab ( catstruct cat,
char *  tabname,
FILE *  stream 
)

◆ add_cleanupfilename()

void add_cleanupfilename ( char *  filename)

◆ add_key()

int add_key ( keystruct key,
tabstruct tab,
int  pos 
)

◆ add_tab()

int add_tab ( tabstruct tab,
catstruct cat,
int  pos 
)

◆ addhistoryto_cat()

int addhistoryto_cat ( catstruct cat,
char *  str 
)

◆ addkeyto_head()

int addkeyto_head ( tabstruct tab,
keystruct key 
)

◆ addkeywordto_head()

int addkeywordto_head ( tabstruct tab,
char *  keyword,
char *  comment 
)

◆ alloc_body()

PIXTYPE* alloc_body ( tabstruct tab,
void(*)(PIXTYPE *ptr, int npix)  func 
)

◆ alloc_ibody()

FLAGTYPE* alloc_ibody ( tabstruct tab,
void(*)(FLAGTYPE *ptr, int npix)  func 
)

◆ asc2bin_tab()

tabstruct* asc2bin_tab ( catstruct catin,
char *  tabinname,
catstruct catout,
char *  taboutname 
)

◆ blank_keys()

int blank_keys ( tabstruct tab)

◆ cleanup_files()

void cleanup_files ( void  )

◆ close_cat()

int close_cat ( catstruct cat)

◆ compute_blocksum()

unsigned int compute_blocksum ( char *  buf,
unsigned int  sum 
)

◆ compute_bodysum()

unsigned int compute_bodysum ( tabstruct tab,
unsigned int  sum 
)

◆ copy_key()

int copy_key ( tabstruct tabin,
char *  keyname,
tabstruct tabout,
int  pos 
)

◆ copy_tab()

int copy_tab ( catstruct catin,
char *  tabname,
int  seg,
catstruct catout,
int  pos 
)

◆ copy_tab_fromptr()

void copy_tab_fromptr ( tabstruct tabin,
catstruct catout,
int  pos 
)

◆ copy_tabs()

int copy_tabs ( catstruct catin,
catstruct catout 
)

◆ copy_tabs_blind()

int copy_tabs_blind ( catstruct catin,
catstruct catout 
)

◆ decode_checksum()

unsigned int decode_checksum ( char *  str)

◆ encode_checksum()

void encode_checksum ( unsigned int  sum,
char *  str 
)

◆ end_readobj()

void end_readobj ( tabstruct keytab,
tabstruct tab,
char *  buf 
)

◆ end_writeobj()

void end_writeobj ( catstruct cat,
tabstruct tab,
char *  buf 
)

◆ error()

void error ( int  ,
char *  ,
char *   
)

◆ error_installfunc()

void error_installfunc ( void(*)(char *msg1, char *msg2)  func)

◆ ext_head()

int ext_head ( tabstruct tab)

◆ findkey()

int findkey ( char *  ,
char *  ,
int   
)

◆ findnkey()

int findnkey ( char *  ,
char *  ,
int  ,
int   
)

◆ fitsadd()

int fitsadd ( char *  fitsbuf,
char *  keyword,
char *  comment 
)

◆ fitsfind()

int fitsfind ( char *  fitsbuf,
char *  keyword 
)

◆ fitsnfind()

char * fitsnfind ( char *  fitsbuf,
char *  str,
int  nblock 
)

◆ fitspick()

int fitspick ( char *  fitsbuf,
char *  keyword,
void *  ptr,
h_type htype,
t_type ttype,
char *  comment 
)

◆ fitsread()

int fitsread ( char *  fitsbuf,
char *  keyword,
void *  ptr,
h_type  htype,
t_type  ttype 
)

◆ fitsremove()

int fitsremove ( char *  fitsbuf,
char *  keyword 
)

◆ fitswrite()

int fitswrite ( char *  fitsbuf,
char *  keyword,
void *  ptr,
h_type  htype,
t_type  ttype 
)

◆ fixexponent()

void fixexponent ( char *  s)

◆ free_body()

void free_body ( tabstruct tab)

◆ free_cat()

void free_cat ( catstruct **  cat,
int  ncat 
)

◆ free_key()

void free_key ( keystruct key)

◆ free_tab()

void free_tab ( tabstruct tab)

◆ get_head()

int get_head ( tabstruct tab)

◆ inherit_cat()

int inherit_cat ( catstruct catin,
catstruct catout 
)

◆ init_cat()

int init_cat ( catstruct cat)

◆ init_readobj()

tabstruct * init_readobj ( tabstruct tab,
char **  pbuf 
)

◆ init_writeobj()

void init_writeobj ( catstruct cat,
tabstruct tab,
char **  pbuf 
)

◆ install_cleanup()

void install_cleanup ( void(*)(void)  func)

◆ keys_list()

char ** keys_list ( tabstruct tab,
int *  n 
)

◆ map_cat()

int map_cat ( catstruct cat)

◆ name_to_key()

keystruct* name_to_key ( tabstruct tab,
char *  keyname 
)

◆ name_to_tab()

tabstruct * name_to_tab ( catstruct cat,
char *  tabname,
int  seg 
)

◆ new_cat()

catstruct* new_cat ( int  ncat)

◆ new_key()

keystruct * new_key ( char *  keyname)

◆ new_tab()

tabstruct * new_tab ( char *  tabname)

◆ open_cat()

int open_cat ( catstruct cat,
access_type_t  at 
)

◆ pad_tab()

int pad_tab ( catstruct cat,
KINGSIZE_T  size 
)

◆ pos_to_key()

keystruct * pos_to_key ( tabstruct tab,
int  pos 
)

◆ pos_to_tab()

tabstruct * pos_to_tab ( catstruct cat,
int  pos,
int  seg 
)

◆ prim_head()

int prim_head ( tabstruct tab)

◆ print_obj()

void print_obj ( FILE *  stream,
tabstruct tab 
)

◆ printftotdisp()

char * printftotdisp ( char *  cprintf,
char *  str 
)

◆ read_basic()

void read_basic ( tabstruct tab)

◆ read_body()

void read_body ( tabstruct tab,
PIXTYPE ptr,
size_t  size 
)

◆ read_cat()

catstruct * read_cat ( char *  filename)

◆ read_cats()

catstruct * read_cats ( char **  filenames,
int  ncat 
)

◆ read_field()

int read_field ( tabstruct tab,
char **  keynames,
keystruct **  keys,
int  nkeys,
int  field,
tabstruct ftab 
)

◆ read_ibody()

void read_ibody ( tabstruct tab,
FLAGTYPE ptr,
size_t  size 
)

◆ read_key()

keystruct * read_key ( tabstruct tab,
char *  keyname 
)

! It is not necessarily the original table

! It is not necessarily the original table

◆ read_keys()

void read_keys ( tabstruct tab,
char **  keynames,
keystruct **  keys,
int  nkeys,
unsigned char *  mask 
)

◆ read_obj()

int read_obj ( tabstruct keytab,
tabstruct tab,
char *  buf 
)

◆ read_obj_at()

int read_obj_at ( tabstruct keytab,
tabstruct tab,
char *  buf,
long  pos 
)

◆ readbasic_head()

void readbasic_head ( tabstruct tab)

◆ readbintabparam_head()

int readbintabparam_head ( tabstruct tab)

◆ remove_cleanupfilename()

void remove_cleanupfilename ( char *  filename)

◆ remove_key()

int remove_key ( tabstruct tab,
char *  keyname 
)

◆ remove_keys()

int remove_keys ( tabstruct tab)

◆ remove_tab()

int remove_tab ( catstruct cat,
char *  tabname,
int  seg 
)

◆ remove_tabs()

int remove_tabs ( catstruct cat)

◆ removekeywordfrom_head()

int removekeywordfrom_head ( tabstruct tab,
char *  keyword 
)

◆ save_cat()

void save_cat ( catstruct cat,
char *  filename 
)

◆ save_head()

int save_head ( catstruct cat,
tabstruct tab 
)

◆ save_tab()

void save_tab ( catstruct cat,
tabstruct tab 
)

◆ set_maxram()

int set_maxram ( size_t  maxram)

◆ set_maxvram()

int set_maxvram ( size_t  maxvram)

◆ set_swapdir()

int set_swapdir ( char *  dirname)

◆ show_keys()

void show_keys ( tabstruct tab,
char **  keynames,
keystruct **  keys,
int  nkeys,
unsigned char *  mask,
FILE *  stream,
int  strflag,
int  banflag,
int  leadflag,
output_type  o_type 
)

◆ swapbytes()

void swapbytes ( void *  ptr,
int  nb,
int  n 
)

◆ tab_row_len()

int tab_row_len ( char *  ,
char *   
)

◆ tabs_list()

char ** tabs_list ( catstruct cat,
int *  n 
)

◆ tdisptoprintf()

char* tdisptoprintf ( char *  tdisp,
char *  str 
)

◆ tformof()

int tformof ( char *  str,
t_type  ttype,
int  n 
)

◆ tsizeof()

int tsizeof ( char *  str)

◆ ttypeconv()

void ttypeconv ( void *  ptrin,
void *  ptrout,
t_type  ttypein,
t_type  ttypeout 
)

◆ ttypeof()

t_type ttypeof ( char *  str)

◆ update_head()

int update_head ( tabstruct tab)

◆ update_tab()

int update_tab ( tabstruct tab)

◆ verify_checksum()

int verify_checksum ( tabstruct tab)

◆ voprint_obj()

void voprint_obj ( FILE *  stream,
tabstruct tab 
)

◆ warning()

void warning ( char *  ,
char *   
)

◆ warning_history()

char * warning_history ( void  )

◆ write_body()

void write_body ( tabstruct tab,
PIXTYPE ptr,
size_t  size 
)

◆ write_checksum()

void write_checksum ( tabstruct tab)

◆ write_ibody()

void write_ibody ( tabstruct tab,
FLAGTYPE ptr,
size_t  size 
)

◆ write_obj()

int write_obj ( tabstruct tab,
char *  buf 
)

◆ wstrncmp()

int wstrncmp ( char *  ,
char *  ,
int   
)

Variable Documentation

◆ bswapflag

int bswapflag

◆ t_size

const int t_size[]