gd_encoding_support(3) determine GetData library support for data encodings

SYNOPSIS

#include <getdata.h>
int gd_encoding_support(unsigned long encoding);

DESCRIPTION

The gd_encoding_support() function reports whether the Dirfile encoding specified by encoding is supported by the GetData library. The encoding argument should be one of the following symbols, indicating the encoding type:
GD_UNENCODED, GD_BZIP2_ENCODED, GD_GZIP_ENCODED, GD_LZMA_ENCODED, GD_SIE_ENCODED, GD_SLIM_ENCODED, GD_TEXT_ENCODED, GD_ZZIP_ENCODED, GD_ZZSLIM_ENCODED.

See gd_cbopen(3) and dirfile-encoding(5) for the meanings of these symbols and details on the known encoding schemes.

RETURN VALUE

The function gd_encoding_support() returns GD_RDWR if the GetData library can read from and write to the specified encoding, GD_RDONLY if the GetData library can only read from the specified encoding, or -1 if neither reading nor writing is supported, or if encoding was not one of the symbols listed above.

NOTES

GetData's encoding support framework is more finely grained than the three-way system reported by this function. It is possible for the library to have partial support for reading or writing a particular encoding. This function will only report positive support if all functions of a given class (read-only or read-write) are supported.

Furthermore, encoding types can have multiple subtypes with different degrees of support. This function reports the support of the most supported subtype. For example, the LZMA encoding framework can read both the .lzma and .xz container formats, but only write .xz files. If LZMA support is available, this function will return GD_RDWR when passed GD_LZMA_ENCODED.