---
name: "gd_encoding_support"
section: "3"
platform: "linux"
package: "libgetdata-doc"
version: "0.11.0-15"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gd_encoding_support"
---

# gd\_encoding\_support(3)

determine GetData library support for data encodings

## NAME

gd\_encoding\_support — 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\_FLAC\_ENCODED**, **GD\_GZIP\_ENCODED**, **GD\_LZMA\_ENCODED**, **GD\_SIE\_ENCODED**, **GD\_SLIM\_ENCODED**, **GD\_TEXT\_ENCODED**, **GD\_ZZIP\_ENCODED**, **GD\_ZZSLIM\_ENCODED**.

See [**gd\_open**(3)](/gd_open/3.md) and [dirfile-encoding(5)](/dirfile-encoding/5.md) 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**.

## HISTORY

The **gd\_encoding\_support**() function appeared in GetData-0.9.0.

## SEE ALSO

[**gd\_encoding**(3)](/gd_encoding/3.md), [**gd\_open**(3)](/gd_open/3.md), [dirfile-encoding(5)](/dirfile-encoding/5.md)
