gd_tell - Man Page

report the position of a Dirfile field I/O pointer

Synopsis

#include <getdata.h>

off_t gd_tell(DIRFILE *dirfile, const char *field_code);

Description

The gd_tell() function reports the current position of the I/O pointer of the field field_code in the dirfile(5) database specified by dirfile.

Only RAW fields (and the implicit INDEX field) have field pointers associated with them.  Calling gd_tell() on a derived field will report the position of the I/O pointer of the derived field only if all of it's inputs are positioned the same.  Otherwise, an error results.

Return Value

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 binary 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).

History

The gd_tell() function appeared in GetData-0.8.0.

In GetData-0.10.0, the error return from this function changed from -1 to a negative-valued error code.

See Also

gd_getdata(3), gd_open(3), gd_putdata(3), gd_seek(3).

Referenced By

gd_getdata(3), gd_seek(3), gd_tell64(3).

25 December 2016 Version 0.10.0 GETDATA