1! Copyright 2005-2018 ECMWF.
2!
3! This software is licensed under the terms of the Apache Licence Version 2.0
4! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5!
6! In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
7! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
8
9  !> Reads a message in the buffer array from the file opened with grib_open_file.
10  !>
11  !> In case of error, if the status parameter (optional) is not given, the program will
12  !> exit with an error message.\n Otherwise the error message can be
13  !> gathered with @ref grib_get_error_string.
14  !>
15  !>
16  !> @param ifile       id of the opened file to be used in all the file functions.
17  !> @param buffer      buffer to be read
18  !> @param nbytes      number of bytes to be read
19  !> @param status      GRIB_SUCCESS if OK, integer value on error
20  interface grib_read_from_file
21      module procedure grib_read_from_file_int4
22      module procedure grib_read_from_file_int4_size_t
23      module procedure grib_read_from_file_char
24      module procedure grib_read_from_file_char_size_t
25  end interface grib_read_from_file
26
27  !> Reads nbytes bytes into the buffer from a file opened with grib_open_file.
28  !>
29  !> In case of error, if the status parameter (optional) is not given, the program will
30  !> exit with an error message.\n Otherwise the error message can be
31  !> gathered with @ref grib_get_error_string.
32  !>
33  !>
34  !> @param ifile       id of the opened file to be used in all the file functions.
35  !> @param buffer      buffer to be read
36  !> @param nbytes      number of bytes to be read
37  !> @param status      GRIB_SUCCESS if OK, integer value on error
38  interface grib_read_bytes
39      module procedure grib_read_bytes_int4
40      module procedure grib_read_bytes_int4_size_t
41      module procedure grib_read_bytes_char
42      module procedure grib_read_bytes_char_size_t
43      module procedure grib_read_bytes_real8
44      module procedure grib_read_bytes_real8_size_t
45      module procedure grib_read_bytes_real4
46      module procedure grib_read_bytes_real4_size_t
47  end interface grib_read_bytes
48
49  !> Write nbytes bytes from the buffer in a file opened with grib_open_file.
50  !>
51  !> In case of error, if the status parameter (optional) is not given, the program will
52  !> exit with an error message.\n Otherwise the error message can be
53  !> gathered with @ref grib_get_error_string.
54  !>
55  !>
56  !> @param ifile       id of the opened file to be used in all the file functions.
57  !> @param buffer      buffer to be written
58  !> @param nbytes      number of bytes to be written
59  !> @param status      GRIB_SUCCESS if OK, integer value on error
60  interface grib_write_bytes
61      module procedure grib_write_bytes_int4
62      module procedure grib_write_bytes_int4_size_t
63      module procedure grib_write_bytes_char
64      module procedure grib_write_bytes_char_size_t
65      module procedure grib_write_bytes_real8
66      module procedure grib_write_bytes_real8_size_t
67      module procedure grib_write_bytes_real4
68      module procedure grib_write_bytes_real4_size_t
69  end interface grib_write_bytes
70
71  !> Get the size of a coded message.
72  !>
73  !> In case of error, if the status parameter (optional) is not given, the program will
74  !> exit with an error message.\n Otherwise the error message can be
75  !> gathered with @ref grib_get_error_string.
76  !>
77  !> @param gribid      id of the grib loaded in memory
78  !> @param nbytes      size in bytes of the message
79  !> @param status      GRIB_SUCCESS if OK, integer value on error
80  interface grib_get_message_size
81    module procedure grib_get_message_size_int
82    module procedure grib_get_message_size_size_t
83  end interface grib_get_message_size
84