/************************************************************************** * File: pds_tbl.h * Parogrammer: Dorian winterfeld * Anne Raugh * Institution: PDS/Small Bodies Node * University of Maryland * Date: June 11, 1994 * Last revision: Oct 10, 1994 * Abstract: Structures and function declarations for the translation table. * Description: These functions are used to build up an "internal" * table by combining the User Translation table and the * Standard Translation table indicated by the first line * of the User table. **************************************************************************/ #include "linklist.h" #ifndef TBL_HDR #define TBL_HDR /* table_element holds corresponding FITS and PDS keywords */ typedef struct te { char FITS_string[100]; /* FITS keyword */ char PDS_string[100]; /* PDS keyword */ char FITS_type[20]; /* optional FITS datatype */ struct te *next; /* pointer to next node */ }table_element; /* table struct holds translation table */ typedef struct { char FITS_form[50]; /* input FITS file type */ char PDS_form[50]; /* output PDS file type */ table_element *elements; /* element list */ }table; /* function declarations */ table *init_table(table *tbl_ptr); int read_table(table *ltable, table *ttable,char *std_path, list_type *reserved_list); int skip_lines(FILE *fptr,char *line); int split_line(char *line, char *Pstring, char *Fstring, char *Ftype, int *add); int setup_predefined(table *ltable,table *ttable, char *path); int build_ptr_array(char *array_ptr,char **ptr_array); int load_table(FILE *tbl,table *ltable, table *ttable); int link_elements(table *tbl_ptr,table_element *newone,int add); int literal_value(char* string); void print_table(FILE *out_file,table *tbl); void check_table(FILE *tbl,list_type *reserved_list); #endif