Generic deserialisation and decompression function.
Uncompresses given input and returns the result in string output
.
The string must be allocated and large enough to hold the
uncompressed data. The actual length may be smaller than the output
length and is returned in output_len
.
The following compression types are supported:
Z_TYPE_NONE
– No compression (output equals input).Z_TYPE_ZLIB
– Deflate compression.Z_TYPE_ZSTD
– Zstandard compression.The function returns the following error codes:
E_INVALID
if compression type is invalid.E_ZLIB
if zlib library call failed.E_ZSTD
if zstd library call failed.Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed data. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
character(len=*), | intent(inout) | :: | output |
Uncompressed data. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
integer(kind=i8), | intent(out), | optional | :: | output_len |
Actual output length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed beat namelist input
and returns
deserialised type in beat
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised beat. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
type(beat_type), | intent(out) | :: | beat |
Uncompressed and deserialised beat. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed log namelist input
and returns
deserialised type in log
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised log. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
type(log_type), | intent(out) | :: | log |
Uncompressed and deserialised log. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed node namelist input
and returns
deserialised type in node
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised node. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
type(node_type), | intent(out) | :: | node |
Uncompressed and deserialised node. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed observation namelist input
and returns
deserialised z in observ
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised observation. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
type(observ_type), | intent(out) | :: | observ |
Uncompressed and deserialised observation. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed sensor namelist input
and returns
deserialised type in sensor
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised sensor. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
type(sensor_type), | intent(out) | :: | sensor |
Uncompressed and deserialised sensor. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |
Uncompressed compressed target namelist input
and returns
deserialised type in target
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(inout) | :: | input |
Compressed and Namelist-serialised target. |
||
integer, | intent(in) | :: | z |
Input compression enumerator ( |
||
type(target_type), | intent(out) | :: | target |
Uncompressed and deserialised target. |
||
integer(kind=i8), | intent(in), | optional | :: | input_len |
Actual input length. |
|
type(zstd_context_type), | intent(inout), | optional | :: | context |
Zstandard decompression context to use with type |