NAME¶
gd_bof — report the start of data in a field
SYNOPSIS¶
#include <getdata.h>
off_t gd_bof(DIRFILE *dirfile, const char
*field_code);
DESCRIPTION¶
The
gd_bof() function queries a
dirfile(5) database specified by
dirfile and returns the sample number of the beginning-of-field marker
for the vector field given by
field_code.
The caller should not assume that the beginning-of-field marker falls on a frame
boundary. The beginning-of-field marker is never negative.
For a
RAW field, the beginning-of-field corresponds to the frame offset
of that field (see
gd_frameoffset(3)). The beginning-of-field for all
other vector field type is the same as the beginning-of-field of whichever of
its input fields that starts latest. The beginning-of-field marker for the
special field
INDEX is always zero.
The beginning-of-field marker for a field containing no data is in the same
location as, or after, its end-of-field marker (see
gd_eof(3)). For a
RAW field, the difference between the locations of the beginning- and
end-of-field markers indicates the number of samples of data actually stored
on disk.
The
dirfile argument must point to a valid DIRFILE object previously
created by a call to
gd_open(3).
RETURN VALUE¶
Upon successful completion,
gd_bof() returns the sample number of the
end-of-field marker for the indicated field. On error, it returns -1 and sets
the dirfile error to a non-zero error value. Possible error values are:
- GD_E_BAD_CODE
- The field specified by field_code or one of the fields it uses as
input was not found in the database.
- GD_E_BAD_DIRFILE
- The supplied dirfile was invalid.
- GD_E_BAD_REPR
- The representation suffix specified in field_code, or in one of its
inputs was not recognised.
- GD_E_DIMENSION
- A scalar field was found where a vector field was expected in the
definition of field_code or one of its inputs, or else
field_code itself specified a scalar 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.
The dirfile error may be retrieved by calling
gd_error(3). A descriptive
error string for the last error encountered can be obtained from a call to
gd_error_string(3).
SEE ALSO¶
dirfile(5),
dirfile-encoding(5),
gd_open(3),
gd_eof(3),
gd_error(3),
gd_error_string(3),
gd_nframes(3)