Upon successful completion, gd_tell() returns a non-negative integer indicating the I/O position of the
specified field in samples. On error, it returns a negative-valued error code. Possible error codes
are:
GD_E_ALLOC
The library was unable to allocate memory.
GD_E_BAD_CODE
The field specified by field_code, or one of the fields it uses for input, was not found in the
database.
GD_E_BAD_DIRFILE
The supplied dirfile was invalid.
GD_E_DIMENSION
The specified field or one of its inputs wasn't of vector type.
GD_E_DOMAIN
The I/O position of a derived field wasn't well defined because its input fields simultaneously
read from different places in the same RAW field.
GD_E_INTERNAL_ERROR
An internal error occurred in the library while trying to perform the task. This indicates a bug
in the library. Please report the incident to the maintainer.
GD_E_IO An error occurred while trying to open or read from a file on disk containing a raw field.
GD_E_RECURSE_LEVEL
Too many levels of recursion were encountered while trying to resolve field_code. This usually
indicates a circular dependency in field specification in the dirfile.
GD_E_UNKNOWN_ENCODING
The encoding scheme of a RAW field could not be determined. This may also indicate that the bi‐
nary file associated with the RAW field could not be found.
GD_E_UNSUPPORTED
Reading from dirfiles with the encoding scheme of the specified dirfile is not supported by the
library. See dirfile-encoding(5) for details on dirfile encoding schemes.
The error code is also stored in the DIRFILE object and may be retrieved after this function returns by
calling gd_error(3). A descriptive error string for the error may be obtained by calling
gd_error_string(3).