gd_bof(3) GETDATA gd_bof(3)NAMEgd_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 which‐
ever 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 actu‐
ally 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_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
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_INTERNAL_ERROR
An internal error occurred in the library while trying to per‐
form the task. This indicates a bug in the library. Please
report the incident to the GetData developers.
GD_E_RECURSE_LEVEL
Too many levels of recursion were encountered while trying to
resolve field_code. This usually indicates a circular depen‐
dency in field specification in the dirfile.
The dirfile error may be retrieved by calling gd_error(3). A descrip‐
tive error string for the last error encountered can be obtained from a
call to gd_error_string(3).
SEE ALSOdirfile(5), dirfile-encoding(5), gd_open(3), gd_eof(3), gd_error(3),
gd_error_string(3), gd_nframes(3)Version 0.8.0 17 August 2011 gd_bof(3)