The ecCodes C header file. More...
Macros | |
| #define | CODES_KEYS_ITERATOR_ALL_KEYS 0 |
| #define | CODES_KEYS_ITERATOR_SKIP_READ_ONLY (1<<0) |
| #define | CODES_KEYS_ITERATOR_SKIP_OPTIONAL (1<<1) |
| #define | CODES_KEYS_ITERATOR_SKIP_EDITION_SPECIFIC (1<<2) |
| #define | CODES_KEYS_ITERATOR_SKIP_CODED (1<<3) |
| #define | CODES_KEYS_ITERATOR_SKIP_COMPUTED (1<<4) |
| #define | CODES_KEYS_ITERATOR_SKIP_DUPLICATES (1<<5) |
| #define | CODES_KEYS_ITERATOR_SKIP_FUNCTION (1<<6) |
| #define | CODES_KEYS_ITERATOR_DUMP_ONLY (1<<7) |
| #define | CODES_SUCCESS 0 |
| No error. More... | |
| #define | CODES_END_OF_FILE -1 |
| End of resource reached. More... | |
| #define | CODES_INTERNAL_ERROR -2 |
| Internal error. More... | |
| #define | CODES_BUFFER_TOO_SMALL -3 |
| Passed buffer is too small. More... | |
| #define | CODES_NOT_IMPLEMENTED -4 |
| Function not yet implemented. More... | |
| #define | CODES_7777_NOT_FOUND -5 |
| Missing 7777 at end of message. More... | |
| #define | CODES_ARRAY_TOO_SMALL -6 |
| Passed array is too small. More... | |
| #define | CODES_FILE_NOT_FOUND -7 |
| File not found. More... | |
| #define | CODES_CODE_NOT_FOUND_IN_TABLE -8 |
| Code not found in code table. More... | |
| #define | CODES_WRONG_ARRAY_SIZE -9 |
| Array size mismatch. More... | |
| #define | CODES_NOT_FOUND -10 |
| Key/value not found. More... | |
| #define | CODES_IO_PROBLEM -11 |
| Input output problem. More... | |
| #define | CODES_INVALID_MESSAGE -12 |
| Message invalid. More... | |
| #define | CODES_DECODING_ERROR -13 |
| Decoding invalid. More... | |
| #define | CODES_ENCODING_ERROR -14 |
| Encoding invalid. More... | |
| #define | CODES_NO_MORE_IN_SET -15 |
| Code cannot unpack because of string too small. More... | |
| #define | CODES_GEOCALCULUS_PROBLEM -16 |
| Problem with calculation of geographic attributes. More... | |
| #define | CODES_OUT_OF_MEMORY -17 |
| Memory allocation error. More... | |
| #define | CODES_READ_ONLY -18 |
| Value is read only. More... | |
| #define | CODES_INVALID_ARGUMENT -19 |
| Invalid argument. More... | |
| #define | CODES_NULL_HANDLE -20 |
| Null handle. More... | |
| #define | CODES_INVALID_SECTION_NUMBER -21 |
| Invalid section number. More... | |
| #define | CODES_VALUE_CANNOT_BE_MISSING -22 |
| Value cannot be missing. More... | |
| #define | CODES_WRONG_LENGTH -23 |
| Wrong message length. More... | |
| #define | CODES_INVALID_TYPE -24 |
| Invalid key type. More... | |
| #define | CODES_WRONG_STEP -25 |
| Unable to set step. More... | |
| #define | CODES_WRONG_STEP_UNIT -26 |
| Wrong units for step (step must be integer) More... | |
| #define | CODES_INVALID_FILE -27 |
| Invalid file id. More... | |
| #define | CODES_INVALID_GRIB -28 |
| Invalid grib id. More... | |
| #define | CODES_INVALID_INDEX -29 |
| Invalid index id. More... | |
| #define | CODES_INVALID_ITERATOR -30 |
| Invalid iterator id. More... | |
| #define | CODES_INVALID_KEYS_ITERATOR -31 |
| Invalid keys iterator id. More... | |
| #define | CODES_INVALID_NEAREST -32 |
| Invalid nearest id. More... | |
| #define | CODES_INVALID_ORDERBY -33 |
| Invalid order by. More... | |
| #define | CODES_MISSING_KEY -34 |
| Missing a key from the fieldset. More... | |
| #define | CODES_OUT_OF_AREA -35 |
| The point is out of the grid area. More... | |
| #define | CODES_CONCEPT_NO_MATCH -36 |
| Concept no match. More... | |
| #define | CODES_HASH_ARRAY_NO_MATCH -37 |
| Hash array no match. More... | |
| #define | CODES_NO_DEFINITIONS -38 |
| Definitions files not found. More... | |
| #define | CODES_WRONG_TYPE -39 |
| Wrong type while packing. More... | |
| #define | CODES_END -40 |
| End of resource. More... | |
| #define | CODES_NO_VALUES -41 |
| Unable to code a field without values. More... | |
| #define | CODES_WRONG_GRID -42 |
| Grid description is wrong or inconsistent. More... | |
| #define | CODES_END_OF_INDEX -43 |
| End of index reached. More... | |
| #define | CODES_NULL_INDEX -44 |
| Null index. More... | |
| #define | CODES_PREMATURE_END_OF_FILE -45 |
| End of resource reached when reading message. More... | |
| #define | CODES_INTERNAL_ARRAY_TOO_SMALL -46 |
| An internal array is too small. More... | |
| #define | CODES_MESSAGE_TOO_LARGE -47 |
| Message is too large for the current architecture. More... | |
| #define | CODES_CONSTANT_FIELD -48 |
| Constant field. More... | |
| #define | CODES_SWITCH_NO_MATCH -49 |
| Switch unable to find a matching case. More... | |
| #define | CODES_UNDERFLOW -50 |
| Underflow. More... | |
| #define | CODES_MESSAGE_MALFORMED -51 |
| Message malformed. More... | |
| #define | CODES_CORRUPTED_INDEX -52 |
| Index is corrupted. More... | |
| #define | CODES_INVALID_BPV -53 |
| Invalid number of bits per value. More... | |
| #define | CODES_DIFFERENT_EDITION -54 |
| Edition of two messages is different. More... | |
| #define | CODES_VALUE_DIFFERENT -55 |
| Value is different. More... | |
| #define | CODES_INVALID_KEY_VALUE -56 |
| Invalid key value. More... | |
| #define | CODES_STRING_TOO_SMALL -57 |
| String is smaller than requested. More... | |
| #define | CODES_WRONG_CONVERSION -58 |
| Wrong type conversion. More... | |
| #define | CODES_MISSING_BUFR_ENTRY -59 |
| Missing BUFR table entry for descriptor. More... | |
| #define | CODES_NULL_POINTER -60 |
| Null pointer. More... | |
| #define | CODES_ATTRIBUTE_CLASH -61 |
| Attribute is already present, cannot add. More... | |
| #define | CODES_TOO_MANY_ATTRIBUTES -62 |
| Too many attributes. More... | |
| #define | CODES_ATTRIBUTE_NOT_FOUND -63 |
| Attribute not found. More... | |
| #define | CODES_UNSUPPORTED_EDITION -64 |
| Edition not supported. More... | |
| #define | CODES_OUT_OF_RANGE -65 |
| Value out of coding range. More... | |
| #define | CODES_WRONG_BITMAP_SIZE -66 |
| Size of bitmap is incorrect. More... | |
Functions | |
| codes_index * | codes_index_new_from_file (codes_context *c, char *filename, const char *keys, int *err) |
| Create a new index form a file. More... | |
| codes_index * | codes_index_new (codes_context *c, const char *keys, int *err) |
| Create a new index based on a set of keys. More... | |
| int | codes_index_add_file (grib_index *index, const char *filename) |
| Indexes the file given in argument in the index given in argument. More... | |
| int | codes_index_get_size (codes_index *index, const char *key, size_t *size) |
| Get the number of distinct values of the key in argument contained in the index. More... | |
| int | codes_index_get_long (codes_index *index, const char *key, long *values, size_t *size) |
| Get the distinct values of the key in argument contained in the index. More... | |
| int | codes_index_get_double (codes_index *index, const char *key, double *values, size_t *size) |
| Get the distinct values of the key in argument contained in the index. More... | |
| int | codes_index_get_string (codes_index *index, const char *key, char **values, size_t *size) |
| Get the distinct values of the key in argument contained in the index. More... | |
| int | codes_index_select_long (codes_index *index, const char *key, long value) |
| Select the message subset with key==value. More... | |
| int | codes_index_select_double (codes_index *index, const char *key, double value) |
| Select the message subset with key==value. More... | |
| int | codes_index_select_string (codes_index *index, const char *key, char *value) |
| Select the message subset with key==value. More... | |
| codes_handle * | codes_handle_new_from_index (codes_index *index, int *err) |
| Create a new handle from an index after having selected the key values. More... | |
| void | codes_index_delete (codes_index *index) |
| Delete the index. More... | |
| int | codes_count_in_file (codes_context *c, FILE *f, int *n) |
| Counts the messages contained in a file resource. More... | |
| grib_handle * | codes_handle_new_from_file (grib_context *c, FILE *f, ProductKind product, int *error) |
| Create a handle from a file resource. More... | |
| grib_handle * | codes_grib_handle_new_from_file (grib_context *c, FILE *f, int *error) |
| Create a GRIB handle from a file resource. More... | |
| grib_handle * | codes_bufr_handle_new_from_file (grib_context *c, FILE *f, int *error) |
| Create a BUFR handle from a file resource. More... | |
| int | codes_write_message (codes_handle *h, const char *file, const char *mode) |
| Write a coded message to a file. More... | |
| codes_handle * | codes_handle_new_from_message (codes_context *c, const void *data, size_t data_len) |
| Create a handle from a user message in memory. More... | |
| codes_handle * | codes_grib_handle_new_from_multi_message (codes_context *c, void **data, size_t *data_len, int *error) |
| Create a handle from a user message in memory. More... | |
| codes_handle * | codes_handle_new_from_message_copy (codes_context *c, const void *data, size_t data_len) |
| Create a handle from a user message. More... | |
| codes_handle * | codes_grib_handle_new_from_samples (codes_context *c, const char *sample_name) |
| Create a handle from a GRIB message contained in a samples directory. More... | |
| codes_handle * | codes_bufr_handle_new_from_samples (codes_context *c, const char *sample_name) |
| Create a handle from a BUFR message contained in a samples directory. More... | |
| codes_handle * | codes_handle_clone (codes_handle *h) |
| Clone an existing handle using the context of the original handle, The message is copied and reparsed. More... | |
| int | codes_handle_delete (codes_handle *h) |
| Frees a handle, also frees the message if it is not a user message. More... | |
| codes_multi_handle * | codes_grib_multi_handle_new (codes_context *c) |
| Create an empty multi-field GRIB handle. More... | |
| int | codes_grib_multi_handle_append (codes_handle *h, int start_section, codes_multi_handle *mh) |
| Append the sections starting with start_section of the message pointed by h at the end of the multi-field GRIB handle mh. More... | |
| int | codes_grib_multi_handle_delete (codes_multi_handle *mh) |
| Delete multi-field GRIB handle. More... | |
| int | codes_grib_multi_handle_write (codes_multi_handle *mh, FILE *f) |
| Write a multi-field GRIB handle in a file. More... | |
| int | codes_get_message (codes_handle *h, const void **message, size_t *message_length) |
| getting the message attached to a handle More... | |
| int | codes_get_message_copy (codes_handle *h, void *message, size_t *message_length) |
| getting a copy of the message attached to a handle More... | |
| codes_iterator * | codes_grib_iterator_new (codes_handle *h, unsigned long flags, int *error) |
| Create a new iterator from a GRIB handle, using current geometry and values. More... | |
| int | codes_grib_get_data (codes_handle *h, double *lats, double *lons, double *values) |
| Get latitude/longitude and data values. More... | |
| int | codes_grib_iterator_next (codes_iterator *i, double *lat, double *lon, double *value) |
| Get the next value from an iterator. More... | |
| int | codes_grib_iterator_previous (codes_iterator *i, double *lat, double *lon, double *value) |
| Get the previous value from an iterator. More... | |
| int | codes_grib_iterator_has_next (codes_iterator *i) |
| Test procedure for values in an iterator. More... | |
| int | codes_grib_iterator_reset (codes_iterator *i) |
| Test procedure for values in an iterator. More... | |
| int | codes_grib_iterator_delete (codes_iterator *i) |
| Frees an iterator from memory. More... | |
| codes_nearest * | codes_grib_nearest_new (codes_handle *h, int *error) |
| Create a new nearest from a handle, using current geometry . More... | |
| int | codes_grib_nearest_find (codes_nearest *nearest, codes_handle *h, double inlat, double inlon, unsigned long flags, double *outlats, double *outlons, double *values, double *distances, int *indexes, size_t *len) |
| Find the 4 nearest points of a latitude longitude point. More... | |
| int | codes_grib_nearest_delete (codes_nearest *nearest) |
| Frees an nearest from memory. More... | |
| int | codes_grib_nearest_find_multiple (codes_handle *h, int is_lsm, double *inlats, double *inlons, long npoints, double *outlats, double *outlons, double *values, double *distances, int *indexes) |
| Find the nearest point of a set of points whose latitudes and longitudes are given in the inlats, inlons arrays respectively. More... | |
| int | codes_get_offset (codes_handle *h, const char *key, size_t *offset) |
| Get the number offset of a key, in a message if several keys of the same name are present, the offset of the last one is returned. More... | |
| int | codes_get_size (codes_handle *h, const char *key, size_t *size) |
| Get the number of coded value from a key, if several keys of the same name are present, the total sum is returned. More... | |
| int | codes_get_length (codes_handle *h, const char *key, size_t *length) |
| Get the length of the string representation of the key, if several keys of the same name are present, the maximum length is returned. More... | |
| int | codes_get_long (codes_handle *h, const char *key, long *value) |
| Get a long value from a key, if several keys of the same name are present, the last one is returned. More... | |
| int | codes_get_double (codes_handle *h, const char *key, double *value) |
| Get a double value from a key, if several keys of the same name are present, the last one is returned. More... | |
| int | codes_get_double_element (codes_handle *h, const char *key, int i, double *value) |
| Get as double the i-th element of the "key" array. More... | |
| int | codes_get_double_elements (codes_handle *h, const char *key, int *i, long size, double *value) |
| Get as double array the elements of the "key" array whose indexes are listed in the input array i. More... | |
| int | codes_get_string (codes_handle *h, const char *key, char *mesg, size_t *length) |
| Get a string value from a key, if several keys of the same name are present, the last one is returned. More... | |
| int | codes_get_bytes (codes_handle *h, const char *key, unsigned char *bytes, size_t *length) |
| Get raw bytes values from a key. More... | |
| int | codes_get_double_array (codes_handle *h, const char *key, double *vals, size_t *length) |
| Get double array values from a key. More... | |
| int | codes_get_long_array (codes_handle *h, const char *key, long *vals, size_t *length) |
| Get long array values from a key. More... | |
| int | codes_copy_namespace (codes_handle *dest, const char *name, codes_handle *src) |
| Copy the keys belonging to a given namespace from a source handle to a destination handle. More... | |
| int | codes_set_long (codes_handle *h, const char *key, long val) |
| Set a long value from a key. More... | |
| int | codes_set_double (codes_handle *h, const char *key, double val) |
| Set a double value from a key. More... | |
| int | codes_set_string (codes_handle *h, const char *key, const char *mesg, size_t *length) |
| Set a string value from a key. More... | |
| int | codes_set_bytes (codes_handle *h, const char *key, const unsigned char *bytes, size_t *length) |
| Set a bytes array from a key. More... | |
| int | codes_set_double_array (codes_handle *h, const char *key, const double *vals, size_t length) |
| Set a double array from a key. More... | |
| int | codes_set_force_double_array (codes_handle *h, const char *key, const double *vals, size_t length) |
| Same as codes_set_double_array but allows setting of READ-ONLY keys like codedValues. More... | |
| int | codes_set_long_array (codes_handle *h, const char *key, const long *vals, size_t length) |
| Set a long array from a key. More... | |
| int | codes_set_string_array (codes_handle *h, const char *key, const char **vals, size_t length) |
| Set a string array from a key. More... | |
| void | codes_dump_content (codes_handle *h, FILE *out, const char *mode, unsigned long option_flags, void *arg) |
| Print all keys, with the context print procedure and dump mode to a resource. More... | |
| void | codes_dump_action_tree (codes_context *c, FILE *f) |
| Print all keys from the parsed definition files available in a context. More... | |
| codes_context * | codes_context_get_default (void) |
| Get the static default context. More... | |
| void | codes_context_delete (codes_context *c) |
| Frees the cached definition files of the context. More... | |
| void | codes_gts_header_on (codes_context *c) |
| Set the GTS header mode on. More... | |
| void | codes_gts_header_off (codes_context *c) |
| Set the GTS header mode off. More... | |
| void | codes_gribex_mode_on (codes_context *c) |
| Set the GRIBEX mode on. More... | |
| int | codes_get_gribex_mode (codes_context *c) |
| Get the GRIBEX mode. More... | |
| void | codes_gribex_mode_off (codes_context *c) |
| Set the GRIBEX mode off. More... | |
| void | codes_context_set_definitions_path (grib_context *c, const char *path) |
| Sets the search path for definition files. More... | |
| void | codes_context_set_samples_path (grib_context *c, const char *path) |
| Sets the search path for sample files. More... | |
| void | codes_grib_multi_support_on (codes_context *c) |
| Turn on support for multiple fields in single GRIB messages. More... | |
| void | codes_grib_multi_support_off (codes_context *c) |
| Turn off support for multiple fields in single GRIB messages. More... | |
| void | codes_grib_multi_support_reset_file (codes_context *c, FILE *f) |
| Reset file handle in multiple GRIB field support mode. More... | |
| long | codes_get_api_version (void) |
| Get the API version. More... | |
| const char * | codes_get_git_sha1 (void) |
| Get the Git version control SHA1 identifier. More... | |
| const char * | codes_get_package_name (void) |
| Get the package name. More... | |
| void | codes_print_api_version (FILE *out) |
| Prints the API version. More... | |
| codes_keys_iterator * | codes_keys_iterator_new (codes_handle *h, unsigned long filter_flags, const char *name_space) |
| int | codes_keys_iterator_next (codes_keys_iterator *kiter) |
| const char * | codes_keys_iterator_get_name (codes_keys_iterator *kiter) |
| int | codes_keys_iterator_delete (codes_keys_iterator *kiter) |
| int | codes_keys_iterator_rewind (codes_keys_iterator *kiter) |
| const char * | codes_get_error_message (int code) |
| Convert an error code into a string. More... | |
The ecCodes C header file.
This is the only file that must be included to use the ecCodes library from C.
| void codes_dump_action_tree | ( | codes_context * | c, |
| FILE * | f | ||
| ) |
Print all keys from the parsed definition files available in a context.
| f | : the File used to print the keys on |
| c | : the context that contains the cached definition files to be printed |
| void codes_dump_content | ( | codes_handle * | h, |
| FILE * | out, | ||
| const char * | mode, | ||
| unsigned long | option_flags, | ||
| void * | arg | ||
| ) |
Print all keys, with the context print procedure and dump mode to a resource.
| h | : the handle to be printed |
| out | : output file handle |
| mode | : Examples of available dump modes: debug wmo |
| option_flags | : all the CODES_DUMP_FLAG_x flags can be used |
| arg | : used to provide a format to output data (experimental) |
| long codes_get_api_version | ( | void | ) |
Get the API version.
Get the API version.
Returns the version of the api as a string in the format "major.minor.revision".
Referenced by ecCodes::codes_index_get().
| const char* codes_get_error_message | ( | int | code | ) |
Convert an error code into a string.
| code | : the error code |
| const char* codes_get_git_sha1 | ( | void | ) |
Get the Git version control SHA1 identifier.
| const char* codes_get_package_name | ( | void | ) |
Get the package name.
| void codes_print_api_version | ( | FILE * | out | ) |
Prints the API version.
1.8.5