ECC-1063: Apply consistent code style to source

This commit is contained in:
Shahram Najm 2020-01-29 10:16:32 +00:00
parent c9ab23baf7
commit 1975eae139
11 changed files with 2365 additions and 2311 deletions

View File

@ -27,168 +27,168 @@ extern "C" {
#define CODES_VERSION ECCODES_VERSION
/* sections */
#define CODES_SECTION_PRODUCT GRIB_SECTION_PRODUCT
#define CODES_SECTION_GRID GRIB_SECTION_GRID
#define CODES_SECTION_LOCAL GRIB_SECTION_LOCAL
#define CODES_SECTION_DATA GRIB_SECTION_DATA
#define CODES_SECTION_BITMAP GRIB_SECTION_BITMAP
#define CODES_SECTION_PRODUCT GRIB_SECTION_PRODUCT
#define CODES_SECTION_GRID GRIB_SECTION_GRID
#define CODES_SECTION_LOCAL GRIB_SECTION_LOCAL
#define CODES_SECTION_DATA GRIB_SECTION_DATA
#define CODES_SECTION_BITMAP GRIB_SECTION_BITMAP
/* LOG MODES
Log mode for information for processing information
*/
#define CODES_LOG_INFO GRIB_LOG_INFO
#define CODES_LOG_WARNING GRIB_LOG_WARNING
#define CODES_LOG_ERROR GRIB_LOG_ERROR
#define CODES_LOG_FATAL GRIB_LOG_FATAL
#define CODES_LOG_DEBUG GRIB_LOG_DEBUG
#define CODES_LOG_INFO GRIB_LOG_INFO
#define CODES_LOG_WARNING GRIB_LOG_WARNING
#define CODES_LOG_ERROR GRIB_LOG_ERROR
#define CODES_LOG_FATAL GRIB_LOG_FATAL
#define CODES_LOG_DEBUG GRIB_LOG_DEBUG
/* Types */
#define CODES_TYPE_UNDEFINED GRIB_TYPE_UNDEFINED
#define CODES_TYPE_LONG GRIB_TYPE_LONG
#define CODES_TYPE_DOUBLE GRIB_TYPE_DOUBLE
#define CODES_TYPE_STRING GRIB_TYPE_STRING
#define CODES_TYPE_BYTES GRIB_TYPE_BYTES
#define CODES_TYPE_SECTION GRIB_TYPE_SECTION
#define CODES_TYPE_LABEL GRIB_TYPE_LABEL
#define CODES_TYPE_MISSING GRIB_TYPE_MISSING
#define CODES_TYPE_UNDEFINED GRIB_TYPE_UNDEFINED
#define CODES_TYPE_LONG GRIB_TYPE_LONG
#define CODES_TYPE_DOUBLE GRIB_TYPE_DOUBLE
#define CODES_TYPE_STRING GRIB_TYPE_STRING
#define CODES_TYPE_BYTES GRIB_TYPE_BYTES
#define CODES_TYPE_SECTION GRIB_TYPE_SECTION
#define CODES_TYPE_LABEL GRIB_TYPE_LABEL
#define CODES_TYPE_MISSING GRIB_TYPE_MISSING
/* Missing values */
#define CODES_MISSING_LONG GRIB_MISSING_LONG
#define CODES_MISSING_LONG GRIB_MISSING_LONG
#define CODES_MISSING_DOUBLE GRIB_MISSING_DOUBLE
/*set spec flags*/
#define CODES_UTIL_SET_SPEC_FLAGS_ONLY_PACKING GRIB_UTIL_SET_SPEC_FLAGS_ONLY_PACKING
/* Dump option flags*/
#define CODES_DUMP_FLAG_READ_ONLY GRIB_DUMP_FLAG_READ_ONLY
#define CODES_DUMP_FLAG_DUMP_OK GRIB_DUMP_FLAG_DUMP_OK
#define CODES_DUMP_FLAG_VALUES GRIB_DUMP_FLAG_VALUES
#define CODES_DUMP_FLAG_CODED GRIB_DUMP_FLAG_CODED
#define CODES_DUMP_FLAG_OCTECT GRIB_DUMP_FLAG_OCTECT
#define CODES_DUMP_FLAG_ALIASES GRIB_DUMP_FLAG_ALIASES
#define CODES_DUMP_FLAG_TYPE GRIB_DUMP_FLAG_TYPE
#define CODES_DUMP_FLAG_HEXADECIMAL GRIB_DUMP_FLAG_HEXADECIMAL
#define CODES_DUMP_FLAG_NO_DATA GRIB_DUMP_FLAG_NO_DATA
#define CODES_DUMP_FLAG_ALL_DATA GRIB_DUMP_FLAG_ALL_DATA
#define CODES_DUMP_FLAG_ALL_ATTRIBUTES GRIB_DUMP_FLAG_ALL_ATTRIBUTES
#define CODES_DUMP_FLAG_READ_ONLY GRIB_DUMP_FLAG_READ_ONLY
#define CODES_DUMP_FLAG_DUMP_OK GRIB_DUMP_FLAG_DUMP_OK
#define CODES_DUMP_FLAG_VALUES GRIB_DUMP_FLAG_VALUES
#define CODES_DUMP_FLAG_CODED GRIB_DUMP_FLAG_CODED
#define CODES_DUMP_FLAG_OCTECT GRIB_DUMP_FLAG_OCTECT
#define CODES_DUMP_FLAG_ALIASES GRIB_DUMP_FLAG_ALIASES
#define CODES_DUMP_FLAG_TYPE GRIB_DUMP_FLAG_TYPE
#define CODES_DUMP_FLAG_HEXADECIMAL GRIB_DUMP_FLAG_HEXADECIMAL
#define CODES_DUMP_FLAG_NO_DATA GRIB_DUMP_FLAG_NO_DATA
#define CODES_DUMP_FLAG_ALL_DATA GRIB_DUMP_FLAG_ALL_DATA
#define CODES_DUMP_FLAG_ALL_ATTRIBUTES GRIB_DUMP_FLAG_ALL_ATTRIBUTES
/* codes_nearest flags */
#define CODES_NEAREST_SAME_GRID GRIB_NEAREST_SAME_GRID
#define CODES_NEAREST_SAME_DATA GRIB_NEAREST_SAME_DATA
#define CODES_NEAREST_SAME_POINT GRIB_NEAREST_SAME_POINT
#define CODES_NEAREST_SAME_GRID GRIB_NEAREST_SAME_GRID
#define CODES_NEAREST_SAME_DATA GRIB_NEAREST_SAME_DATA
#define CODES_NEAREST_SAME_POINT GRIB_NEAREST_SAME_POINT
/*! Iteration is carried out on all the keys available in the message
\ingroup keys_iterator
\see codes_keys_iterator_new
*/
#define CODES_KEYS_ITERATOR_ALL_KEYS GRIB_KEYS_ITERATOR_ALL_KEYS
#define CODES_KEYS_ITERATOR_ALL_KEYS GRIB_KEYS_ITERATOR_ALL_KEYS
/*! read only keys are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new
*/
#define CODES_KEYS_ITERATOR_SKIP_READ_ONLY GRIB_KEYS_ITERATOR_SKIP_READ_ONLY
#define CODES_KEYS_ITERATOR_SKIP_READ_ONLY GRIB_KEYS_ITERATOR_SKIP_READ_ONLY
/*! optional keys are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_SKIP_OPTIONAL GRIB_KEYS_ITERATOR_SKIP_OPTIONAL
#define CODES_KEYS_ITERATOR_SKIP_OPTIONAL GRIB_KEYS_ITERATOR_SKIP_OPTIONAL
/*! edition specific keys are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC GRIB_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC
#define CODES_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC GRIB_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC
/*! coded keys are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_SKIP_CODED GRIB_KEYS_ITERATOR_SKIP_CODED
#define CODES_KEYS_ITERATOR_SKIP_CODED GRIB_KEYS_ITERATOR_SKIP_CODED
/*! computed keys are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_SKIP_COMPUTED GRIB_KEYS_ITERATOR_SKIP_COMPUTED
#define CODES_KEYS_ITERATOR_SKIP_COMPUTED GRIB_KEYS_ITERATOR_SKIP_COMPUTED
/*! duplicates of a key are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_SKIP_DUPLICATES GRIB_KEYS_ITERATOR_SKIP_DUPLICATES
#define CODES_KEYS_ITERATOR_SKIP_DUPLICATES GRIB_KEYS_ITERATOR_SKIP_DUPLICATES
/*! function keys are skipped by keys iterator.
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_SKIP_FUNCTION GRIB_KEYS_ITERATOR_SKIP_FUNCTION
#define CODES_KEYS_ITERATOR_SKIP_FUNCTION GRIB_KEYS_ITERATOR_SKIP_FUNCTION
/*! only keys present in the dump
\ingroup keys_iterator
\see codes_keys_iterator_new */
#define CODES_KEYS_ITERATOR_DUMP_ONLY GRIB_KEYS_ITERATOR_DUMP_ONLY
#define CODES_KEYS_ITERATOR_DUMP_ONLY GRIB_KEYS_ITERATOR_DUMP_ONLY
typedef struct grib_values codes_values;
typedef struct grib_key_value_list codes_key_value_list;
typedef struct grib_values codes_values;
typedef struct grib_key_value_list codes_key_value_list;
/*! Codes handle, structure giving access to parsed values by keys
\ingroup codes_handle
\struct codes_handle
*/
typedef struct grib_handle codes_handle;
typedef struct grib_handle codes_handle;
/*! GRIB multi field handle, structure used to build multi fields messages.
\ingroup codes_handle
\struct codes_multi_handle
*/
typedef struct grib_multi_handle codes_multi_handle;
typedef struct grib_multi_handle codes_multi_handle;
/*! Codes context, structure containing the memory methods, the parsers and the formats.
\ingroup codes_context
\struct codes_context
*/
typedef struct grib_context codes_context;
typedef struct grib_context codes_context;
/*! GRIB geoiterator, structure supporting a geographic iteration of values in a GRIB message.
\ingroup iterators
\struct codes_iterator
*/
typedef struct grib_iterator codes_iterator;
typedef struct grib_iterator codes_iterator;
/*! Codes nearest, structure used to find the nearest points of a latitude longitude point in a GRIB message.
\ingroup iterators
\struct codes_nearest
*/
typedef struct grib_nearest codes_nearest;
typedef struct grib_box codes_box;
typedef struct grib_points codes_points;
typedef struct grib_nearest codes_nearest;
typedef struct grib_box codes_box;
typedef struct grib_points codes_points;
/*! Codes keys iterator. Iterator over keys.
\ingroup keys_iterator
\struct codes_keys_iterator
*/
typedef struct grib_keys_iterator codes_keys_iterator;
typedef struct bufr_keys_iterator codes_bufr_keys_iterator;
typedef struct grib_keys_iterator codes_keys_iterator;
typedef struct bufr_keys_iterator codes_bufr_keys_iterator;
typedef struct grib_fieldset codes_fieldset;
typedef struct grib_order_by codes_order_by;
typedef struct grib_where codes_where;
typedef struct grib_sarray codes_sarray;
typedef struct grib_oarray codes_oarray;
typedef struct grib_darray codes_darray;
typedef struct grib_iarray codes_iarray;
typedef struct grib_vdarray codes_vdarray;
typedef struct grib_vsarray codes_vsarray;
typedef struct grib_viarray codes_viarray;
typedef struct grib_string_list codes_string_list;
typedef struct grib_fieldset codes_fieldset;
typedef struct grib_order_by codes_order_by;
typedef struct grib_where codes_where;
typedef struct grib_sarray codes_sarray;
typedef struct grib_oarray codes_oarray;
typedef struct grib_darray codes_darray;
typedef struct grib_iarray codes_iarray;
typedef struct grib_vdarray codes_vdarray;
typedef struct grib_vsarray codes_vsarray;
typedef struct grib_viarray codes_viarray;
typedef struct grib_string_list codes_string_list;
typedef struct grib_util_packing_spec codes_util_packing_spec;
typedef struct grib_util_grid_spec codes_util_grid_spec;
typedef struct grib_util_grid_spec codes_util_grid_spec;
codes_fieldset *codes_fieldset_new_from_files(codes_context *c, char *filenames[], int nfiles, char **keys, int nkeys, const char *where_string, const char *order_by_string, int *err);
codes_fieldset* codes_fieldset_new_from_files(codes_context* c, char* filenames[], int nfiles, char** keys, int nkeys, const char* where_string, const char* order_by_string, int* err);
void codes_fieldset_delete(codes_fieldset* set);
void codes_fieldset_rewind(codes_fieldset* set);
int codes_fieldset_apply_order_by(codes_fieldset* set, const char* order_by_string);
int codes_fieldset_apply_order_by(codes_fieldset* set, const char* order_by_string);
codes_handle* codes_fieldset_next_handle(codes_fieldset* set, int* err);
int codes_fieldset_count(codes_fieldset *set);
int codes_values_check(codes_handle* h, codes_values* values, int count);
int codes_fieldset_count(codes_fieldset* set);
int codes_values_check(codes_handle* h, codes_values* values, int count);
/*! \defgroup codes_index The indexing feature
The codes_index is the structure giving indexed access to messages in a file.
@ -199,7 +199,7 @@ The codes_index is the structure giving indexed access to messages in a file.
* \ingroup codes_index
* \struct codes_index
*/
typedef struct grib_index codes_index;
typedef struct grib_index codes_index;
/**
* Create a new index form a file. The file is indexed with the keys in argument.
@ -214,7 +214,7 @@ typedef struct grib_index codes_index;
* @param err : 0 if OK, integer value on error
* @return the newly created index
*/
codes_index* codes_index_new_from_file(codes_context* c, char* filename, const char* keys, int *err);
codes_index* codes_index_new_from_file(codes_context* c, char* filename, const char* keys, int* err);
/**
* Create a new index based on a set of keys.
@ -228,7 +228,7 @@ codes_index* codes_index_new_from_file(codes_context* c, char* filename, const c
* @param err : 0 if OK, integer value on error
* @return the newly created index
*/
codes_index* codes_index_new(codes_context* c, const char* keys, int *err);
codes_index* codes_index_new(codes_context* c, const char* keys, int* err);
/**
* Indexes the file given in argument in the index given in argument.
@ -237,9 +237,9 @@ codes_index* codes_index_new(codes_context* c, const char* keys, int *err);
* @param filename : name of the file of messages to be indexed
* @return 0 if OK, integer value on error
*/
int codes_index_add_file(codes_index* index, const char *filename);
int codes_index_write(codes_index* index, const char *filename);
codes_index* codes_index_read(codes_context* c, const char* filename, int *err);
int codes_index_add_file(codes_index* index, const char* filename);
int codes_index_write(codes_index* index, const char* filename);
codes_index* codes_index_read(codes_context* c, const char* filename, int* err);
/**
* Get the number of distinct values of the key in argument contained in the index. The key must belong to the index.
@ -262,7 +262,7 @@ int codes_index_get_size(const codes_index* index, const char* key, size_t* size
* @param size : size of the values array
* @return 0 if OK, integer value on error
*/
int codes_index_get_long(const codes_index* index, const char* key, long* values, size_t *size);
int codes_index_get_long(const codes_index* index, const char* key, long* values, size_t* size);
/**
* Get the distinct values of the key in argument contained in the index. The key must belong to the index. This function is used when the type of the key was explicitly defined as double or when the native type of the key is double.
@ -274,7 +274,7 @@ int codes_index_get_long(const codes_index* index, const char* key, long* values
* @param size : size of the values array
* @return 0 if OK, integer value on error
*/
int codes_index_get_double(const codes_index* index, const char* key, double* values, size_t *size);
int codes_index_get_double(const codes_index* index, const char* key, double* values, size_t* size);
/**
* Get the distinct values of the key in argument contained in the index. The key must belong to the index. This function is used when the type of the key was explicitly defined as string or when the native type of the key is string.
@ -286,7 +286,7 @@ int codes_index_get_double(const codes_index* index, const char* key, double* va
* @param size : size of the values array
* @return 0 if OK, integer value on error
*/
int codes_index_get_string(const codes_index* index, const char* key, char** values, size_t *size);
int codes_index_get_string(const codes_index* index, const char* key, char** values, size_t* size);
/**
@ -331,7 +331,7 @@ int codes_index_select_string(codes_index* index, const char* key, char* value);
* @param err : 0 if OK, integer value on error. CODES_END_OF_INDEX when no more handles are contained in the index.
* @return grib handle.
*/
codes_handle* codes_handle_new_from_index(codes_index* index, int *err);
codes_handle* codes_handle_new_from_index(codes_index* index, int* err);
/**
* Delete the index.
@ -417,7 +417,7 @@ codes_handle* codes_bufr_handle_new_from_file(codes_context* c, FILE* f, int* er
*/
int codes_write_message(const codes_handle* h, const char* file, const char* mode);
codes_handle* codes_grib_util_sections_copy(codes_handle* hfrom, codes_handle* hto, int what, int *err);
codes_handle* codes_grib_util_sections_copy(codes_handle* hfrom, codes_handle* hto, int what, int* err);
codes_string_list* codes_grib_util_get_param_id(const char* mars_param);
codes_string_list* codes_grib_util_get_mars_param(const char* param_id);
@ -444,7 +444,7 @@ codes_handle* codes_handle_new_from_message(codes_context* c, const void* data,
* @return the new handle, NULL if the message is invalid or a problem is encountered
*/
codes_handle* codes_grib_handle_new_from_multi_message(codes_context* c, void** data,
size_t *data_len, int* error);
size_t* data_len, int* error);
/**
* Create a handle from a user message. The message is copied and will be freed with the handle
@ -552,7 +552,7 @@ int codes_grib_multi_handle_write(codes_multi_handle* mh, FILE* f);
* @param message_length : On exit, the message size in number of bytes
* @return 0 if OK, integer value on error
*/
int codes_get_message(const codes_handle* h, const void** message, size_t *message_length);
int codes_get_message(const codes_handle* h, const void** message, size_t* message_length);
/**
@ -564,7 +564,7 @@ int codes_get_message(const codes_handle* h, const void** message, size_t *messa
* On exit, the actual message length in number of bytes
* @return 0 if OK, integer value on error
*/
int codes_get_message_copy(const codes_handle* h, void* message, size_t *message_length);
int codes_get_message_copy(const codes_handle* h, void* message, size_t* message_length);
/*! @} */
/*! \defgroup iterators Iterating on latitude/longitude/values */
@ -591,7 +591,7 @@ codes_iterator* codes_grib_iterator_new(const codes_handle* h, unsigned long fla
* @param values : returned array of data values
* @return 0 if OK, integer value on error
*/
int codes_grib_get_data(const codes_handle *h, double *lats, double *lons, double *values);
int codes_grib_get_data(const codes_handle* h, double* lats, double* lons, double* values);
/**
* Get the next value from a geoiterator.
@ -602,7 +602,7 @@ int codes_grib_get_data(const codes_handle *h, double *lats, double *lons, doubl
* @param value : on output value of the point
* @return positive value if successful, 0 if no more data are available
*/
int codes_grib_iterator_next(codes_iterator *i, double* lat, double* lon, double* value);
int codes_grib_iterator_next(codes_iterator* i, double* lat, double* lon, double* value);
/**
* Get the previous value from a geoiterator.
@ -613,7 +613,7 @@ int codes_grib_iterator_next(codes_iterator *i, double* lat, double* lon, double
* @param value : on output value of the point*
* @return positive value if successful, 0 if no more data are available
*/
int codes_grib_iterator_previous(codes_iterator *i, double* lat, double* lon, double* value);
int codes_grib_iterator_previous(codes_iterator* i, double* lat, double* lon, double* value);
/**
* Test procedure for values in a geoiterator.
@ -621,7 +621,7 @@ int codes_grib_iterator_previous(codes_iterator *i, double* lat, double* lon, do
* @param i : the geoiterator
* @return boolean, 1 if the iterator still nave next values, 0 otherwise
*/
int codes_grib_iterator_has_next(codes_iterator *i);
int codes_grib_iterator_has_next(codes_iterator* i);
/**
* Test procedure for values in a geoiterator.
@ -629,7 +629,7 @@ int codes_grib_iterator_has_next(codes_iterator *i);
* @param i : the geoiterator
* @return 0 if OK, integer value on error
*/
int codes_grib_iterator_reset(codes_iterator *i);
int codes_grib_iterator_reset(codes_iterator* i);
/**
* Frees the geoiterator from memory.
@ -637,7 +637,7 @@ int codes_grib_iterator_reset(codes_iterator *i);
* @param i : the geoiterator
* @return 0 if OK, integer value on error
*/
int codes_grib_iterator_delete(codes_iterator *i);
int codes_grib_iterator_delete(codes_iterator* i);
/*!
* \brief Create a new nearest neighbour object from a handle, using current geometry.
@ -669,9 +669,9 @@ codes_nearest* codes_grib_nearest_new(const codes_handle* h, int* error);
* @param len : size of the arrays
* @return 0 if OK, integer value on error
*/
int codes_grib_nearest_find(codes_nearest *nearest, const codes_handle* h, double inlat, double inlon,
unsigned long flags, double* outlats, double* outlons,
double* values, double* distances, int* indexes, size_t *len);
int codes_grib_nearest_find(codes_nearest* nearest, const codes_handle* h, double inlat, double inlon,
unsigned long flags, double* outlats, double* outlons,
double* values, double* distances, int* indexes, size_t* len);
/**
* Frees an nearest from memory
@ -679,7 +679,7 @@ int codes_grib_nearest_find(codes_nearest *nearest, const codes_handle* h, doubl
* @param nearest : the nearest
* @return 0 if OK, integer value on error
*/
int codes_grib_nearest_delete(codes_nearest *nearest);
int codes_grib_nearest_delete(codes_nearest* nearest);
/**
* Find the nearest point of a set of points whose latitudes and longitudes
@ -706,9 +706,9 @@ int codes_grib_nearest_delete(codes_nearest *nearest);
* @return 0 if OK, integer value on error
*/
int codes_grib_nearest_find_multiple(const codes_handle* h, int is_lsm,
const double* inlats, const double* inlons, long npoints,
double* outlats, double* outlons,
double* values, double* distances, int* indexes);
const double* inlats, const double* inlons, long npoints,
double* outlats, double* outlons,
double* values, double* distances, int* indexes);
/* @} */
@ -733,7 +733,7 @@ int codes_get_offset(const codes_handle* h, const char* key, size_t* offset);
* @param size : the address of a size_t where the size will be set
* @return 0 if OK, integer value on error
*/
int codes_get_size(const codes_handle* h, const char* key, size_t *size);
int codes_get_size(const codes_handle* h, const char* key, size_t* size);
/**
* Get the length of the string representation of the key, if several keys of the same name are present, the maximum length is returned
@ -743,7 +743,7 @@ int codes_get_size(const codes_handle* h, const char* key, size_t *size);
* @param length : the address of a size_t where the length will be set
* @return 0 if OK, integer value on error
*/
int codes_get_length(const codes_handle* h, const char* key, size_t *length);
int codes_get_length(const codes_handle* h, const char* key, size_t* length);
/**
* Get a long value from a key, if several keys of the same name are present, the last one is returned
@ -800,7 +800,7 @@ int codes_get_double_elements(const codes_handle* h, const char* key, int* i, lo
* @param length : the address of a size_t that contains allocated length of the string on input, and that contains the actual length of the string on output
* @return 0 if OK, integer value on error
*/
int codes_get_string(const codes_handle* h, const char* key, char* mesg, size_t *length);
int codes_get_string(const codes_handle* h, const char* key, char* mesg, size_t* length);
/**
* Get string array values from a key. If several keys of the same name are present, the last one is returned
@ -812,7 +812,7 @@ int codes_get_string(const codes_handle* h, const char* key, char* mesg, size_t
* @param length : the address of a size_t that contains allocated length of the array on input, and that contains the actual length of the array on output
* @return 0 if OK, integer value on error
*/
int codes_get_string_array(const codes_handle* h, const char* key, char** vals, size_t *length);
int codes_get_string_array(const codes_handle* h, const char* key, char** vals, size_t* length);
/**
* Get raw bytes values from a key. If several keys of the same name are present, the last one is returned
@ -824,7 +824,7 @@ int codes_get_string_array(const codes_handle* h, const char* key, char** vals,
* @param length : the address of a size_t that contains allocated length of the byte array on input, and that contains the actual length of the byte array on output
* @return 0 if OK, integer value on error
*/
int codes_get_bytes(const codes_handle* h, const char* key, unsigned char* bytes, size_t *length);
int codes_get_bytes(const codes_handle* h, const char* key, unsigned char* bytes, size_t* length);
/**
* Get double array values from a key. If several keys of the same name are present, the last one is returned
@ -836,7 +836,7 @@ int codes_get_bytes(const codes_handle* h, const char* key, unsigned char* bytes
* @param length : the address of a size_t that contains allocated length of the double array on input, and that contains the actual length of the double array on output
* @return 0 if OK, integer value on error
*/
int codes_get_double_array(const codes_handle* h, const char* key, double* vals, size_t *length);
int codes_get_double_array(const codes_handle* h, const char* key, double* vals, size_t* length);
/**
* Get long array values from a key. If several keys of the same name are present, the last one is returned
@ -848,7 +848,7 @@ int codes_get_double_array(const codes_handle* h, const char* key, double* vals,
* @param length : the address of a size_t that contains allocated length of the long array on input, and that contains the actual length of the long array on output
* @return 0 if OK, integer value on error
*/
int codes_get_long_array(const codes_handle* h, const char* key, long* vals, size_t *length);
int codes_get_long_array(const codes_handle* h, const char* key, long* vals, size_t* length);
/* setting data */
@ -895,7 +895,7 @@ int codes_set_double(codes_handle* h, const char* key, double val);
* @param length : the address of a size_t that contains the length of the string on input, and that contains the actual packed length of the string on output
* @return 0 if OK, integer value on error
*/
int codes_set_string(codes_handle* h, const char* key , const char* mesg, size_t *length);
int codes_set_string(codes_handle* h, const char* key, const char* mesg, size_t* length);
/**
* Set a bytes array from a key. If several keys of the same name are present, the last one is set
@ -907,7 +907,7 @@ int codes_set_string(codes_handle* h, const char* key , const char* mesg, size_
* @param length : the address of a size_t that contains the length of the byte array on input, and that contains the actual packed length of the byte array on output
* @return 0 if OK, integer value on error
*/
int codes_set_bytes(codes_handle* h, const char* key, const unsigned char* bytes, size_t *length);
int codes_set_bytes(codes_handle* h, const char* key, const unsigned char* bytes, size_t* length);
/**
* Set a double array from a key. If several keys of the same name are present, the last one is set
@ -950,7 +950,7 @@ int codes_set_long_array(codes_handle* h, const char* key, const long* vals, siz
* @param length : a size_t that contains the length of the array on input
* @return 0 if OK, integer value on error
*/
int codes_set_string_array(codes_handle *h, const char *key, const char **vals, size_t length);
int codes_set_string_array(codes_handle* h, const char* key, const char** vals, size_t length);
/*! @} */
@ -1088,8 +1088,8 @@ void codes_grib_multi_support_off(codes_context* c);
*/
void codes_grib_multi_support_reset_file(codes_context* c, FILE* f);
char* codes_samples_path(const codes_context *c);
char* codes_definition_path(const codes_context *c);
char* codes_samples_path(const codes_context* c);
char* codes_definition_path(const codes_context* c);
/*! @} */
/**
@ -1140,7 +1140,7 @@ codes_keys_iterator* codes_keys_iterator_new(codes_handle* h, unsigned long filt
* structure as the aim is to copy what is possible to be copied.
* This will allow the user to add something to a message by creating a new message with additions or changes to the
* unexpandedDescriptors and copying what is possible to copy from the original message. */
char **codes_bufr_copy_data_return_copied_keys(codes_handle *hin, codes_handle *hout, size_t *nkeys, int *err);
char** codes_bufr_copy_data_return_copied_keys(codes_handle* hin, codes_handle* hout, size_t* nkeys, int* err);
int codes_bufr_copy_data(codes_handle* hin, codes_handle* hout);
@ -1148,14 +1148,14 @@ int codes_bufr_copy_data(codes_handle* hin, codes_handle* hout);
* @param kiter : valid codes_keys_iterator
* @return 1 if next iterator exists, 0 if no more elements to iterate on
*/
int codes_keys_iterator_next(codes_keys_iterator *kiter);
int codes_keys_iterator_next(codes_keys_iterator* kiter);
/*! get the key name from the keys iterator
* @param kiter : valid codes_keys_iterator
* @return key name
*/
const char* codes_keys_iterator_get_name(const codes_keys_iterator *kiter);
const char* codes_keys_iterator_get_name(const codes_keys_iterator* kiter);
/*! Delete the keys iterator.
* @param kiter : valid codes_keys_iterator
@ -1170,11 +1170,11 @@ int codes_keys_iterator_delete(codes_keys_iterator* kiter);
int codes_keys_iterator_rewind(codes_keys_iterator* kiter);
int codes_keys_iterator_set_flags(codes_keys_iterator *kiter, unsigned long flags);
int codes_keys_iterator_get_long(const codes_keys_iterator *kiter, long *v, size_t *len);
int codes_keys_iterator_get_double(const codes_keys_iterator *kiter, double *v, size_t *len);
int codes_keys_iterator_get_string(const codes_keys_iterator *kiter, char *v, size_t *len);
int codes_keys_iterator_get_bytes(const codes_keys_iterator *kiter, unsigned char *v, size_t *len);
int codes_keys_iterator_set_flags(codes_keys_iterator* kiter, unsigned long flags);
int codes_keys_iterator_get_long(const codes_keys_iterator* kiter, long* v, size_t* len);
int codes_keys_iterator_get_double(const codes_keys_iterator* kiter, double* v, size_t* len);
int codes_keys_iterator_get_string(const codes_keys_iterator* kiter, char* v, size_t* len);
int codes_keys_iterator_get_bytes(const codes_keys_iterator* kiter, unsigned char* v, size_t* len);
/* @} */
@ -1192,7 +1192,7 @@ const char* codes_get_type_name(int type);
int codes_get_native_type(const codes_handle* h, const char* name, int* type);
void codes_check(const char* call, const char* file, int line, int e, const char* msg);
#define CODES_CHECK(a, msg) GRIB_CHECK(a, msg)
#define CODES_CHECK(a, msg) GRIB_CHECK(a, msg)
#define CODES_CHECK_NOLINE(a, msg) GRIB_CHECK_NOLINE(a, msg)
@ -1205,13 +1205,13 @@ int codes_set_missing(codes_handle* h, const char* key);
/* The truncation is the Gaussian number (or order) */
int codes_get_gaussian_latitudes(long truncation, double* latitudes);
int codes_julian_to_datetime(double jd, long *year, long *month, long *day, long *hour, long *minute, long *second);
int codes_datetime_to_julian(long year, long month, long day, long hour, long minute, long second, double *jd);
int codes_julian_to_datetime(double jd, long* year, long* month, long* day, long* hour, long* minute, long* second);
int codes_datetime_to_julian(long year, long month, long day, long hour, long minute, long second, double* jd);
long codes_julian_to_date(long jdate);
long codes_date_to_julian(long ddate);
void codes_get_reduced_row(long pl, double lon_first, double lon_last, long* npoints, long* ilon_first, long* ilon_last);
void codes_get_reduced_row_p(long pl, double lon_first, double lon_last, long *npoints, double *olon_first, double *olon_last);
void codes_get_reduced_row_p(long pl, double lon_first, double lon_last, long* npoints, double* olon_first, double* olon_last);
/* read products */
@ -1222,45 +1222,45 @@ int codes_check_message_header(const void* bytes, size_t length, ProductKind pro
int codes_check_message_footer(const void* bytes, size_t length, ProductKind product);
codes_box* codes_box_new(codes_handle* h, int* error);
codes_points* codes_box_get_points(codes_box *box, double north, double west, double south, double east, int *err);
codes_points* codes_box_get_points(codes_box* box, double north, double west, double south, double east, int* err);
int codes_points_get_values(codes_handle* h, codes_points* points, double* val);
/* --------------------------------------- */
#define CODES_UTIL_GRID_SPEC_REGULAR_LL GRIB_UTIL_GRID_SPEC_REGULAR_LL
#define CODES_UTIL_GRID_SPEC_ROTATED_LL GRIB_UTIL_GRID_SPEC_ROTATED_LL
#define CODES_UTIL_GRID_SPEC_REGULAR_GG GRIB_UTIL_GRID_SPEC_REGULAR_GG
#define CODES_UTIL_GRID_SPEC_ROTATED_GG GRIB_UTIL_GRID_SPEC_ROTATED_GG
#define CODES_UTIL_GRID_SPEC_REDUCED_GG GRIB_UTIL_GRID_SPEC_REDUCED_GG
#define CODES_UTIL_GRID_SPEC_SH GRIB_UTIL_GRID_SPEC_SH
#define CODES_UTIL_GRID_SPEC_REDUCED_LL GRIB_UTIL_GRID_SPEC_REDUCED_LL
#define CODES_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC GRIB_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC
#define CODES_UTIL_GRID_SPEC_LAMBERT_AZIMUTHAL_EQUAL_AREA GRIB_UTIL_GRID_SPEC_LAMBERT_AZIMUTHAL_EQUAL_AREA
#define CODES_UTIL_GRID_SPEC_LAMBERT_CONFORMAL GRIB_UTIL_GRID_SPEC_LAMBERT_CONFORMAL
#define CODES_UTIL_GRID_SPEC_UNSTRUCTURED GRIB_UTIL_GRID_SPEC_UNSTRUCTURED
#define CODES_UTIL_GRID_SPEC_REGULAR_LL GRIB_UTIL_GRID_SPEC_REGULAR_LL
#define CODES_UTIL_GRID_SPEC_ROTATED_LL GRIB_UTIL_GRID_SPEC_ROTATED_LL
#define CODES_UTIL_GRID_SPEC_REGULAR_GG GRIB_UTIL_GRID_SPEC_REGULAR_GG
#define CODES_UTIL_GRID_SPEC_ROTATED_GG GRIB_UTIL_GRID_SPEC_ROTATED_GG
#define CODES_UTIL_GRID_SPEC_REDUCED_GG GRIB_UTIL_GRID_SPEC_REDUCED_GG
#define CODES_UTIL_GRID_SPEC_SH GRIB_UTIL_GRID_SPEC_SH
#define CODES_UTIL_GRID_SPEC_REDUCED_LL GRIB_UTIL_GRID_SPEC_REDUCED_LL
#define CODES_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC GRIB_UTIL_GRID_SPEC_POLAR_STEREOGRAPHIC
#define CODES_UTIL_GRID_SPEC_LAMBERT_AZIMUTHAL_EQUAL_AREA GRIB_UTIL_GRID_SPEC_LAMBERT_AZIMUTHAL_EQUAL_AREA
#define CODES_UTIL_GRID_SPEC_LAMBERT_CONFORMAL GRIB_UTIL_GRID_SPEC_LAMBERT_CONFORMAL
#define CODES_UTIL_GRID_SPEC_UNSTRUCTURED GRIB_UTIL_GRID_SPEC_UNSTRUCTURED
#define CODES_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX GRIB_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX
#define CODES_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE GRIB_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE
#define CODES_UTIL_PACKING_TYPE_JPEG GRIB_UTIL_PACKING_TYPE_JPEG
#define CODES_UTIL_PACKING_TYPE_GRID_COMPLEX GRIB_UTIL_PACKING_TYPE_GRID_COMPLEX
#define CODES_UTIL_PACKING_TYPE_GRID_SIMPLE GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE
#define CODES_UTIL_PACKING_TYPE_GRID_SIMPLE_MATRIX GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE_MATRIX
#define CODES_UTIL_PACKING_TYPE_GRID_SECOND_ORDER GRIB_UTIL_PACKING_TYPE_GRID_SECOND_ORDER
#define CODES_UTIL_PACKING_SAME_AS_INPUT GRIB_UTIL_PACKING_SAME_AS_INPUT
#define CODES_UTIL_PACKING_USE_PROVIDED GRIB_UTIL_PACKING_USE_PROVIDED
#define CODES_UTIL_ACCURACY_SAME_BITS_PER_VALUES_AS_INPUT GRIB_UTIL_ACCURACY_SAME_BITS_PER_VALUES_AS_INPUT
#define CODES_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES GRIB_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES
#define CODES_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX GRIB_UTIL_PACKING_TYPE_SPECTRAL_COMPLEX
#define CODES_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE GRIB_UTIL_PACKING_TYPE_SPECTRAL_SIMPLE
#define CODES_UTIL_PACKING_TYPE_JPEG GRIB_UTIL_PACKING_TYPE_JPEG
#define CODES_UTIL_PACKING_TYPE_GRID_COMPLEX GRIB_UTIL_PACKING_TYPE_GRID_COMPLEX
#define CODES_UTIL_PACKING_TYPE_GRID_SIMPLE GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE
#define CODES_UTIL_PACKING_TYPE_GRID_SIMPLE_MATRIX GRIB_UTIL_PACKING_TYPE_GRID_SIMPLE_MATRIX
#define CODES_UTIL_PACKING_TYPE_GRID_SECOND_ORDER GRIB_UTIL_PACKING_TYPE_GRID_SECOND_ORDER
#define CODES_UTIL_PACKING_SAME_AS_INPUT GRIB_UTIL_PACKING_SAME_AS_INPUT
#define CODES_UTIL_PACKING_USE_PROVIDED GRIB_UTIL_PACKING_USE_PROVIDED
#define CODES_UTIL_ACCURACY_SAME_BITS_PER_VALUES_AS_INPUT GRIB_UTIL_ACCURACY_SAME_BITS_PER_VALUES_AS_INPUT
#define CODES_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES GRIB_UTIL_ACCURACY_USE_PROVIDED_BITS_PER_VALUES
#define CODES_UTIL_ACCURACY_SAME_DECIMAL_SCALE_FACTOR_AS_INPUT GRIB_UTIL_ACCURACY_SAME_DECIMAL_SCALE_FACTOR_AS_INPUT
#define CODES_UTIL_ACCURACY_USE_PROVIDED_DECIMAL_SCALE_FACTOR GRIB_UTIL_ACCURACY_USE_PROVIDED_DECIMAL_SCALE_FACTOR
#define CODES_UTIL_ACCURACY_USE_PROVIDED_DECIMAL_SCALE_FACTOR GRIB_UTIL_ACCURACY_USE_PROVIDED_DECIMAL_SCALE_FACTOR
codes_handle *codes_grib_util_set_spec(codes_handle *h,
const codes_util_grid_spec *grid_spec,
const codes_util_packing_spec *packing_spec, /* NULL for defaults (same as input) */
int flags,
const double *data_values,
size_t data_values_count,
int *err);
codes_handle* codes_grib_util_set_spec(codes_handle* h,
const codes_util_grid_spec* grid_spec,
const codes_util_packing_spec* packing_spec, /* NULL for defaults (same as input) */
int flags,
const double* data_values,
size_t data_values_count,
int* err);
/* EXPERIMENTAL FEATURE
* Build an array of headers from input BUFR file.
@ -1271,7 +1271,7 @@ codes_handle *codes_grib_util_set_spec(codes_handle *h,
* returns 0 if OK, integer value on error.
*/
int codes_bufr_extract_headers_malloc(codes_context* c, const char* filename, codes_bufr_header** result, int* num_messages, int strict_mode);
int codes_bufr_header_get_string(codes_bufr_header* bh, const char* key, char *val, size_t *len);
int codes_bufr_header_get_string(codes_bufr_header* bh, const char* key, char* val, size_t* len);
/* --------------------------------------- */
#ifdef __cplusplus
@ -1286,140 +1286,140 @@ Error codes returned by the eccodes functions.
*/
/*! @{*/
/** No error */
#define CODES_SUCCESS GRIB_SUCCESS
#define CODES_SUCCESS GRIB_SUCCESS
/** End of resource reached */
#define CODES_END_OF_FILE GRIB_END_OF_FILE
#define CODES_END_OF_FILE GRIB_END_OF_FILE
/** Internal error */
#define CODES_INTERNAL_ERROR GRIB_INTERNAL_ERROR
#define CODES_INTERNAL_ERROR GRIB_INTERNAL_ERROR
/** Passed buffer is too small */
#define CODES_BUFFER_TOO_SMALL GRIB_BUFFER_TOO_SMALL
#define CODES_BUFFER_TOO_SMALL GRIB_BUFFER_TOO_SMALL
/** Function not yet implemented */
#define CODES_NOT_IMPLEMENTED GRIB_NOT_IMPLEMENTED
#define CODES_NOT_IMPLEMENTED GRIB_NOT_IMPLEMENTED
/** Missing 7777 at end of message */
#define CODES_7777_NOT_FOUND GRIB_7777_NOT_FOUND
#define CODES_7777_NOT_FOUND GRIB_7777_NOT_FOUND
/** Passed array is too small */
#define CODES_ARRAY_TOO_SMALL GRIB_ARRAY_TOO_SMALL
#define CODES_ARRAY_TOO_SMALL GRIB_ARRAY_TOO_SMALL
/** File not found */
#define CODES_FILE_NOT_FOUND GRIB_FILE_NOT_FOUND
#define CODES_FILE_NOT_FOUND GRIB_FILE_NOT_FOUND
/** Code not found in code table */
#define CODES_CODE_NOT_FOUND_IN_TABLE GRIB_CODE_NOT_FOUND_IN_TABLE
#define CODES_CODE_NOT_FOUND_IN_TABLE GRIB_CODE_NOT_FOUND_IN_TABLE
/** Array size mismatch */
#define CODES_WRONG_ARRAY_SIZE GRIB_WRONG_ARRAY_SIZE
#define CODES_WRONG_ARRAY_SIZE GRIB_WRONG_ARRAY_SIZE
/** Key/value not found */
#define CODES_NOT_FOUND GRIB_NOT_FOUND
#define CODES_NOT_FOUND GRIB_NOT_FOUND
/** Input output problem */
#define CODES_IO_PROBLEM GRIB_IO_PROBLEM
#define CODES_IO_PROBLEM GRIB_IO_PROBLEM
/** Message invalid */
#define CODES_INVALID_MESSAGE GRIB_INVALID_MESSAGE
#define CODES_INVALID_MESSAGE GRIB_INVALID_MESSAGE
/** Decoding invalid */
#define CODES_DECODING_ERROR GRIB_DECODING_ERROR
#define CODES_DECODING_ERROR GRIB_DECODING_ERROR
/** Encoding invalid */
#define CODES_ENCODING_ERROR GRIB_ENCODING_ERROR
#define CODES_ENCODING_ERROR GRIB_ENCODING_ERROR
/** Code cannot unpack because of string too small */
#define CODES_NO_MORE_IN_SET GRIB_NO_MORE_IN_SET
#define CODES_NO_MORE_IN_SET GRIB_NO_MORE_IN_SET
/** Problem with calculation of geographic attributes */
#define CODES_GEOCALCULUS_PROBLEM GRIB_GEOCALCULUS_PROBLEM
#define CODES_GEOCALCULUS_PROBLEM GRIB_GEOCALCULUS_PROBLEM
/** Memory allocation error */
#define CODES_OUT_OF_MEMORY GRIB_OUT_OF_MEMORY
#define CODES_OUT_OF_MEMORY GRIB_OUT_OF_MEMORY
/** Value is read only */
#define CODES_READ_ONLY GRIB_READ_ONLY
#define CODES_READ_ONLY GRIB_READ_ONLY
/** Invalid argument */
#define CODES_INVALID_ARGUMENT GRIB_INVALID_ARGUMENT
#define CODES_INVALID_ARGUMENT GRIB_INVALID_ARGUMENT
/** Null handle */
#define CODES_NULL_HANDLE GRIB_NULL_HANDLE
#define CODES_NULL_HANDLE GRIB_NULL_HANDLE
/** Invalid section number */
#define CODES_INVALID_SECTION_NUMBER GRIB_INVALID_SECTION_NUMBER
#define CODES_INVALID_SECTION_NUMBER GRIB_INVALID_SECTION_NUMBER
/** Value cannot be missing */
#define CODES_VALUE_CANNOT_BE_MISSING GRIB_VALUE_CANNOT_BE_MISSING
#define CODES_VALUE_CANNOT_BE_MISSING GRIB_VALUE_CANNOT_BE_MISSING
/** Wrong message length */
#define CODES_WRONG_LENGTH GRIB_WRONG_LENGTH
#define CODES_WRONG_LENGTH GRIB_WRONG_LENGTH
/** Invalid key type */
#define CODES_INVALID_TYPE GRIB_INVALID_TYPE
#define CODES_INVALID_TYPE GRIB_INVALID_TYPE
/** Unable to set step */
#define CODES_WRONG_STEP GRIB_WRONG_STEP
#define CODES_WRONG_STEP GRIB_WRONG_STEP
/** Wrong units for step (step must be integer) */
#define CODES_WRONG_STEP_UNIT GRIB_WRONG_STEP_UNIT
#define CODES_WRONG_STEP_UNIT GRIB_WRONG_STEP_UNIT
/** Invalid file id */
#define CODES_INVALID_FILE GRIB_INVALID_FILE
#define CODES_INVALID_FILE GRIB_INVALID_FILE
/** Invalid grib id */
#define CODES_INVALID_GRIB GRIB_INVALID_GRIB
#define CODES_INVALID_GRIB GRIB_INVALID_GRIB
/** Invalid index id */
#define CODES_INVALID_INDEX GRIB_INVALID_INDEX
#define CODES_INVALID_INDEX GRIB_INVALID_INDEX
/** Invalid iterator id */
#define CODES_INVALID_ITERATOR GRIB_INVALID_ITERATOR
#define CODES_INVALID_ITERATOR GRIB_INVALID_ITERATOR
/** Invalid keys iterator id */
#define CODES_INVALID_KEYS_ITERATOR GRIB_INVALID_KEYS_ITERATOR
#define CODES_INVALID_KEYS_ITERATOR GRIB_INVALID_KEYS_ITERATOR
/** Invalid nearest id */
#define CODES_INVALID_NEAREST GRIB_INVALID_NEAREST
#define CODES_INVALID_NEAREST GRIB_INVALID_NEAREST
/** Invalid order by */
#define CODES_INVALID_ORDERBY GRIB_INVALID_ORDERBY
#define CODES_INVALID_ORDERBY GRIB_INVALID_ORDERBY
/** Missing a key from the fieldset */
#define CODES_MISSING_KEY GRIB_MISSING_KEY
#define CODES_MISSING_KEY GRIB_MISSING_KEY
/** The point is out of the grid area */
#define CODES_OUT_OF_AREA GRIB_OUT_OF_AREA
#define CODES_OUT_OF_AREA GRIB_OUT_OF_AREA
/** Concept no match */
#define CODES_CONCEPT_NO_MATCH GRIB_CONCEPT_NO_MATCH
#define CODES_CONCEPT_NO_MATCH GRIB_CONCEPT_NO_MATCH
/** Hash array no match */
#define CODES_HASH_ARRAY_NO_MATCH GRIB_HASH_ARRAY_NO_MATCH
#define CODES_HASH_ARRAY_NO_MATCH GRIB_HASH_ARRAY_NO_MATCH
/** Definitions files not found */
#define CODES_NO_DEFINITIONS GRIB_NO_DEFINITIONS
#define CODES_NO_DEFINITIONS GRIB_NO_DEFINITIONS
/** Wrong type while packing */
#define CODES_WRONG_TYPE GRIB_WRONG_TYPE
#define CODES_WRONG_TYPE GRIB_WRONG_TYPE
/** End of resource */
#define CODES_END GRIB_END
#define CODES_END GRIB_END
/** Unable to code a field without values */
#define CODES_NO_VALUES GRIB_NO_VALUES
#define CODES_NO_VALUES GRIB_NO_VALUES
/** Grid description is wrong or inconsistent */
#define CODES_WRONG_GRID GRIB_WRONG_GRID
#define CODES_WRONG_GRID GRIB_WRONG_GRID
/** End of index reached */
#define CODES_END_OF_INDEX GRIB_END_OF_INDEX
#define CODES_END_OF_INDEX GRIB_END_OF_INDEX
/** Null index */
#define CODES_NULL_INDEX GRIB_NULL_INDEX
#define CODES_NULL_INDEX GRIB_NULL_INDEX
/** End of resource reached when reading message */
#define CODES_PREMATURE_END_OF_FILE GRIB_PREMATURE_END_OF_FILE
#define CODES_PREMATURE_END_OF_FILE GRIB_PREMATURE_END_OF_FILE
/** An internal array is too small */
#define CODES_INTERNAL_ARRAY_TOO_SMALL GRIB_INTERNAL_ARRAY_TOO_SMALL
#define CODES_INTERNAL_ARRAY_TOO_SMALL GRIB_INTERNAL_ARRAY_TOO_SMALL
/** Message is too large for the current architecture */
#define CODES_MESSAGE_TOO_LARGE GRIB_MESSAGE_TOO_LARGE
#define CODES_MESSAGE_TOO_LARGE GRIB_MESSAGE_TOO_LARGE
/** Constant field */
#define CODES_CONSTANT_FIELD GRIB_CONSTANT_FIELD
#define CODES_CONSTANT_FIELD GRIB_CONSTANT_FIELD
/** Switch unable to find a matching case */
#define CODES_SWITCH_NO_MATCH GRIB_SWITCH_NO_MATCH
#define CODES_SWITCH_NO_MATCH GRIB_SWITCH_NO_MATCH
/** Underflow */
#define CODES_UNDERFLOW GRIB_UNDERFLOW
#define CODES_UNDERFLOW GRIB_UNDERFLOW
/** Message malformed */
#define CODES_MESSAGE_MALFORMED GRIB_MESSAGE_MALFORMED
#define CODES_MESSAGE_MALFORMED GRIB_MESSAGE_MALFORMED
/** Index is corrupted */
#define CODES_CORRUPTED_INDEX GRIB_CORRUPTED_INDEX
#define CODES_CORRUPTED_INDEX GRIB_CORRUPTED_INDEX
/** Invalid number of bits per value */
#define CODES_INVALID_BPV GRIB_INVALID_BPV
#define CODES_INVALID_BPV GRIB_INVALID_BPV
/** Edition of two messages is different */
#define CODES_DIFFERENT_EDITION GRIB_DIFFERENT_EDITION
#define CODES_DIFFERENT_EDITION GRIB_DIFFERENT_EDITION
/** Value is different */
#define CODES_VALUE_DIFFERENT GRIB_VALUE_DIFFERENT
#define CODES_VALUE_DIFFERENT GRIB_VALUE_DIFFERENT
/** Invalid key value */
#define CODES_INVALID_KEY_VALUE GRIB_INVALID_KEY_VALUE
#define CODES_INVALID_KEY_VALUE GRIB_INVALID_KEY_VALUE
/** String is smaller than requested */
#define CODES_STRING_TOO_SMALL GRIB_STRING_TOO_SMALL
#define CODES_STRING_TOO_SMALL GRIB_STRING_TOO_SMALL
/** Wrong type conversion */
#define CODES_WRONG_CONVERSION GRIB_WRONG_CONVERSION
#define CODES_WRONG_CONVERSION GRIB_WRONG_CONVERSION
/** Missing BUFR table entry for descriptor */
#define CODES_MISSING_BUFR_ENTRY GRIB_MISSING_BUFR_ENTRY
#define CODES_MISSING_BUFR_ENTRY GRIB_MISSING_BUFR_ENTRY
/** Null pointer */
#define CODES_NULL_POINTER GRIB_NULL_POINTER
#define CODES_NULL_POINTER GRIB_NULL_POINTER
/** Attribute is already present, cannot add */
#define CODES_ATTRIBUTE_CLASH GRIB_ATTRIBUTE_CLASH
#define CODES_ATTRIBUTE_CLASH GRIB_ATTRIBUTE_CLASH
/** Too many attributes. Increase MAX_ACCESSOR_ATTRIBUTES */
#define CODES_TOO_MANY_ATTRIBUTES GRIB_TOO_MANY_ATTRIBUTES
#define CODES_TOO_MANY_ATTRIBUTES GRIB_TOO_MANY_ATTRIBUTES
/** Attribute not found. */
#define CODES_ATTRIBUTE_NOT_FOUND GRIB_ATTRIBUTE_NOT_FOUND
#define CODES_ATTRIBUTE_NOT_FOUND GRIB_ATTRIBUTE_NOT_FOUND
/** Edition not supported. */
#define CODES_UNSUPPORTED_EDITION GRIB_UNSUPPORTED_EDITION
#define CODES_UNSUPPORTED_EDITION GRIB_UNSUPPORTED_EDITION
/** Value out of coding range */
#define CODES_OUT_OF_RANGE GRIB_OUT_OF_RANGE
#define CODES_OUT_OF_RANGE GRIB_OUT_OF_RANGE
/** Size of bitmap is incorrect */
#define CODES_WRONG_BITMAP_SIZE GRIB_WRONG_BITMAP_SIZE
#define CODES_WRONG_BITMAP_SIZE GRIB_WRONG_BITMAP_SIZE
/** Functionality not enabled */
#define CODES_FUNCTIONALITY_NOT_ENABLED GRIB_FUNCTIONALITY_NOT_ENABLED
#define CODES_FUNCTIONALITY_NOT_ENABLED GRIB_FUNCTIONALITY_NOT_ENABLED
/*! @}*/
#endif

View File

@ -13,10 +13,10 @@
/* Microsoft Windows Visual Studio support */
#if defined(_WIN32) && defined(_MSC_VER)
#define ECCODES_ON_WINDOWS
#ifndef YY_NO_UNISTD_H
#define YY_NO_UNISTD_H
#endif
#define ECCODES_ON_WINDOWS
#ifndef YY_NO_UNISTD_H
#define YY_NO_UNISTD_H
#endif
#endif
#endif

View File

@ -1416,7 +1416,7 @@ static int encode_new_replication(grib_context* c, grib_accessor_bufr_data_array
if (self->compressedData) {
grib_buffer_set_ulength_bits(c, buff, buff->ulength_bits + 6);
grib_encode_unsigned_longb(buff->data, 0, pos, 6);
};
}
return err;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,6 @@
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
int igglat_(long* KLAT, float *PGAUSS, long* KPR, long* KERR);
void gribex_(long* KSEC0, long* KSEC1, long* KSEC2, double *PSEC2,long* KSEC3, double *PSEC3, long* KSEC4,
double *PSEC4, long* KLENP, void* KGRIB, long* KLENG,long* KWORD, char* HOPER, long* KRET);
int igglat_(long* KLAT, float* PGAUSS, long* KPR, long* KERR);
void gribex_(long* KSEC0, long* KSEC1, long* KSEC2, double* PSEC2, long* KSEC3, double* PSEC3, long* KSEC4,
double* PSEC4, long* KLENP, void* KGRIB, long* KLENG, long* KWORD, char* HOPER, long* KRET);

View File

@ -22,48 +22,42 @@ extern "C" {
* Method: gribGetNextHandle
* Signature: (J)Ljgribapi/GribHandle;
*/
JNIEXPORT jobject JNICALL Java_jgribapi_GribFile_gribGetNextHandle
(JNIEnv *, jobject, jlong);
JNIEXPORT jobject JNICALL Java_jgribapi_GribFile_gribGetNextHandle(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribFile
* Method: gribEOFReached
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribFile_gribEOFReached
(JNIEnv *, jobject, jlong);
JNIEXPORT jlong JNICALL Java_jgribapi_GribFile_gribEOFReached(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribFile
* Method: gribGetGribFile
* Signature: (Ljava/lang/String;)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribFile_gribGetGribFile
(JNIEnv *, jobject, jstring);
JNIEXPORT jlong JNICALL Java_jgribapi_GribFile_gribGetGribFile(JNIEnv*, jobject, jstring);
/*
* Class: jgribapi_GribFile
* Method: gribCloseFile
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_jgribapi_GribFile_gribCloseFile
(JNIEnv *, jobject, jlong);
JNIEXPORT void JNICALL Java_jgribapi_GribFile_gribCloseFile(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribFile
* Method: gribNewFile
* Signature: (Ljava/lang/String;)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribFile_gribNewFile
(JNIEnv *, jobject, jstring);
JNIEXPORT jlong JNICALL Java_jgribapi_GribFile_gribNewFile(JNIEnv*, jobject, jstring);
/*
* Class: jgribapi_GribFile
* Method: gribWriteHandle
* Signature: (JJ)V
*/
JNIEXPORT void JNICALL Java_jgribapi_GribFile_gribWriteHandle
(JNIEnv *, jobject, jlong, jlong);
JNIEXPORT void JNICALL Java_jgribapi_GribFile_gribWriteHandle(JNIEnv*, jobject, jlong, jlong);
#ifdef __cplusplus
}

View File

@ -22,152 +22,133 @@ extern "C" {
* Method: getIteratorID
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribHandle_getIteratorID
(JNIEnv *, jobject, jlong);
JNIEXPORT jlong JNICALL Java_jgribapi_GribHandle_getIteratorID(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribHandle
* Method: gribGetString
* Signature: (JLjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetString
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetString(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribGetLong
* Signature: (JLjava/lang/String;)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribHandle_gribGetLong
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jlong JNICALL Java_jgribapi_GribHandle_gribGetLong(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribGetDouble
* Signature: (JLjava/lang/String;)D
*/
JNIEXPORT jdouble JNICALL Java_jgribapi_GribHandle_gribGetDouble
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jdouble JNICALL Java_jgribapi_GribHandle_gribGetDouble(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribGetLongArray
* Signature: (JLjava/lang/String;)[J
*/
JNIEXPORT jlongArray JNICALL Java_jgribapi_GribHandle_gribGetLongArray
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jlongArray JNICALL Java_jgribapi_GribHandle_gribGetLongArray(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribGetDoubleArray
* Signature: (JLjava/lang/String;)[D
*/
JNIEXPORT jdoubleArray JNICALL Java_jgribapi_GribHandle_gribGetDoubleArray
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jdoubleArray JNICALL Java_jgribapi_GribHandle_gribGetDoubleArray(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribSetString
* Signature: (JLjava/lang/String;Ljava/lang/String;)I
*/
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetString
(JNIEnv *, jobject, jlong, jstring, jstring);
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetString(JNIEnv*, jobject, jlong, jstring, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribCreateNext
* Signature: (J)Ljgribapi/GribKey;
*/
JNIEXPORT jobject JNICALL Java_jgribapi_GribHandle_gribCreateNext
(JNIEnv *, jobject, jlong);
JNIEXPORT jobject JNICALL Java_jgribapi_GribHandle_gribCreateNext(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribHandle
* Method: gribSetSearch
* Signature: (JLjava/lang/String;)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribHandle_gribSetSearch
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jlong JNICALL Java_jgribapi_GribHandle_gribSetSearch(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribSetLong
* Signature: (JLjava/lang/String;J)I
*/
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetLong
(JNIEnv *, jobject, jlong, jstring, jlong);
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetLong(JNIEnv*, jobject, jlong, jstring, jlong);
/*
* Class: jgribapi_GribHandle
* Method: gribSetDouble
* Signature: (JLjava/lang/String;D)I
*/
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetDouble
(JNIEnv *, jobject, jlong, jstring, jdouble);
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetDouble(JNIEnv*, jobject, jlong, jstring, jdouble);
/*
* Class: jgribapi_GribHandle
* Method: gribSetLongArray
* Signature: (JLjava/lang/String;[J)I
*/
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetLongArray
(JNIEnv *, jobject, jlong, jstring, jlongArray);
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetLongArray(JNIEnv*, jobject, jlong, jstring, jlongArray);
/*
* Class: jgribapi_GribHandle
* Method: gribSetDoubleArray
* Signature: (JLjava/lang/String;[D)I
*/
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetDoubleArray
(JNIEnv *, jobject, jlong, jstring, jdoubleArray);
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribSetDoubleArray(JNIEnv*, jobject, jlong, jstring, jdoubleArray);
/*
* Class: jgribapi_GribHandle
* Method: gribGetXml
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetXml__J
(JNIEnv *, jobject, jlong);
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetXml__J(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribHandle
* Method: gribGetXml
* Signature: (JLjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetXml__JLjava_lang_String_2
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetXml__JLjava_lang_String_2(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribGetAscii
* Signature: (JLjava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetAscii
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jstring JNICALL Java_jgribapi_GribHandle_gribGetAscii(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribGetBytes
* Signature: (JLjava/lang/String;)[B
*/
JNIEXPORT jbyteArray JNICALL Java_jgribapi_GribHandle_gribGetBytes
(JNIEnv *, jobject, jlong, jstring);
JNIEXPORT jbyteArray JNICALL Java_jgribapi_GribHandle_gribGetBytes(JNIEnv*, jobject, jlong, jstring);
/*
* Class: jgribapi_GribHandle
* Method: gribDeleteHandle
* Signature: (J)I
*/
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribDeleteHandle
(JNIEnv *, jobject, jlong);
JNIEXPORT jint JNICALL Java_jgribapi_GribHandle_gribDeleteHandle(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribHandle
* Method: gribResetHandle
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_jgribapi_GribHandle_gribResetHandle
(JNIEnv *, jobject, jlong);
JNIEXPORT void JNICALL Java_jgribapi_GribHandle_gribResetHandle(JNIEnv*, jobject, jlong);
#ifdef __cplusplus
}

View File

@ -22,16 +22,14 @@ extern "C" {
* Method: gribIteratorGetNext
* Signature: (J)Ljgribapi/GribPoint;
*/
JNIEXPORT jobject JNICALL Java_jgribapi_GribIterator_gribIteratorGetNext
(JNIEnv *, jobject, jlong);
JNIEXPORT jobject JNICALL Java_jgribapi_GribIterator_gribIteratorGetNext(JNIEnv*, jobject, jlong);
/*
* Class: jgribapi_GribIterator
* Method: gribIteratorHasNext
* Signature: (J)J
*/
JNIEXPORT jlong JNICALL Java_jgribapi_GribIterator_gribIteratorHasNext
(JNIEnv *, jobject, jlong);
JNIEXPORT jlong JNICALL Java_jgribapi_GribIterator_gribIteratorHasNext(JNIEnv*, jobject, jlong);
#ifdef __cplusplus
}

View File

@ -14,7 +14,8 @@
#include <stdlib.h>
#include <stdint.h>
typedef struct grib_md5_state {
typedef struct grib_md5_state
{
uint64_t size;
unsigned long words[64];
@ -31,6 +32,6 @@ typedef struct grib_md5_state {
void grib_md5_init(grib_md5_state* s);
void grib_md5_add(grib_md5_state* s, const void* data, size_t len);
void grib_md5_end(grib_md5_state* s, char *digest);
void grib_md5_end(grib_md5_state* s, char* digest);
#endif