37 free ( (
void * ) *t );
57 free ( (
void * ) *t );
75 free ( (
void * ) *t );
95 free ( (
void * ) *t );
121 if ( source == NULL )
147 fprintf ( stderr,
"%s():Cannot allocate memory for atom data array\n", __func__ );
209 if ( rf->
refs != NULL && rf->
dim != 0 )
213 else if ( rf->
refs == NULL )
218 fprintf ( stderr,
"%s(): Cannot allocate memory for bufrdeco_compressed_ref array\n", __func__ );
237 if ( rf->
refs != NULL && rf->
nd != 0 )
254 if ( rf->
refs != NULL )
256 free ( (
void * ) rf->
refs );
287 snprintf ( b->
error, sizeof ( b->
error ),
"%s(): Cannot allocate space for struct bufrdeco_bitmap\n", __func__ );
296 snprintf ( b->
error, sizeof ( b->
error ),
"%s(): Too much bitmaps to allocate. The limit is %d\n", __func__,
BUFR_MAX_BITMAPS );
337 for ( i = 0; i < a->
nba ; i++ )
339 if ( a->
bmap[i] == NULL )
342 free ( (
void* ) a->
bmap[i] );
Include header file for bufrdeco library.
#define BUFR_NMAXSEQ
Maximum expected descriptors in a expanded sequence for a single subset.
uint32_t buf_t
Type to set offsets and dimension of arrays or counters used in bufrdeco.
#define bufrdeco_assert(__my_expr__)
Check a expression and exit if it fails.
#define BUFR_MAX_BITMAPS
Max number of structs bufrdeco_bitmap that can be allocated in a struct bufrdeco_bitmap_array.
int bufrdeco_init_tables(struct bufr_tables **t)
Init a struct bufr_tables allocating space.
int bufrdeco_clean_bitmaps(struct bufrdeco *b)
Clean all allocated bitmaps, but still is in memory.
int bufrdeco_init_subset_sequence_data(struct bufrdeco_subset_sequence_data *ba)
Init a struct bufrdeco_subset_sequence_data.
int bufrdeco_free_subset_sequence_data(struct bufrdeco_subset_sequence_data *ba)
Free the memory for sequence array in a struct bufrdeco_subset_sequence_data.
int bufrdeco_init_expanded_tree(struct bufrdeco_expanded_tree **t)
Init a struct bufrdeco_expanded_tree allocating space.
int bufrdeco_free_tables(struct bufr_tables **t)
Frees the allocated space for a struct bufr_tables.
int bufrdeco_allocate_bitmap(struct bufrdeco *b)
allocate bitmap
int bufrdeco_free_bitmap_array(struct bufrdeco_bitmap_array *a)
Free an allocated bitmap array.
int bufrdeco_init_compressed_data_references(struct bufrdeco_compressed_data_references *rf)
Init a struct bufrdeco_compressed_data_references.
int bufrdeco_clean_compressed_data_references(struct bufrdeco_compressed_data_references *rf)
Clean a struct bufrdeco_compressed_data_references.
int bufrdeco_substitute_tables(struct bufr_tables **replaced, struct bufr_tables *source, struct bufrdeco *b)
substitute an struct bufr_tables into a struct bufrdeco
int bufrdeco_free_expanded_tree(struct bufrdeco_expanded_tree **t)
Frees the allocated space for a struct bufrdeco_expanded_tree.
int bufrdeco_clean_subset_sequence_data(struct bufrdeco_subset_sequence_data *ba)
Cleans a struct bufrdeco_subset_sequence_data.
int bufrdeco_free_compressed_data_references(struct bufrdeco_compressed_data_references *rf)
Free the memory allocated for array of references in a struct bufrdeco_compressed_data_references.
Contains all the information for a single data related with a descriptor in a expanded squence.
Contains all tables needed to parse a bufr file.
Stores all structs bufrdeco_bitmap for a bufr bitmap.
struct bufrdeco_bitmap * bmap[BUFR_MAX_BITMAPS]
Stores all needed data for a bufr bitmap.
Manage an array of structs bufrdeco_compressed_ref.
struct bufrdeco_compressed_ref * refs
Struct to hold the needed reference bit offsets, descriptor tree and replications in a compressed BUF...
Array of structs bufr_sequence from which bufr expanded tree is made.
Contains all the information for a subset in a expanded squence This is a version to use with bufrdec...
struct bufr_atom_data * sequence
This struct contains all needed data to parse and decode a BUFR file.
struct bufrdeco_bitmap_array bitmap
struct bufr_tables * tables