Provided by: libgetdata-dev_0.7.3-6ubuntu1_amd64 bug

NAME

       gd_eof — report the number of samples in a dirfile field

SYNOPSIS

       #include <getdata.h>

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

DESCRIPTION

       The  gd_eof()  function queries a dirfile(5) database specified by dirfile and returns the
       sample number of the end-of-field marker for the vector field given by  field_code.   This
       is  effectively  the  total number of samples available for the field, including any frame
       offset.

       The caller should not assume that this is equivalent (when accounting for the samples-per-
       frame  of  the  indicated  field)  to  the  number  of  frames in the database returned by
       gd_nframes(3), nor even that the end-of-field marker falls on a frame boundary.

       For a RAW field, the end-of-field marker occurs immediately after the last  datum  in  the
       data  file  associated  with the field.  For other field types, the end-of-field marker is
       equivalent to the end-of-field marker closest to the start of the dirfile of  any  of  the
       field inputs.  The special field INDEX has no end-of-field marker.

       The  end-of-field  marker  for  a  field containing no data is in the same location as, or
       before, its beginning-of-field marker (see gd_bof(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_eof() 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_FIELD_TYPE
               The location of the non-existent end-of-field marker for the special  field  INDEX
               was  requested,  possibly  as  a result of the field specified by field_code using
               INDEX as one of its inputs.

       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_RAW_IO
               An  attempt  to  stat(2)  the  file associated with the field, or one of its input
               fields, failed.

       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 size of the decoded data file associated with the specified field  or  one  of
               its  inputs  could  not  be  determined,  because  its  encoding  scheme  was  not
               understood.

       GD_E_UNSUPPORTED
               The size of the decoded data file associated with the specified field  or  one  of
               its inputs could not be determined, because its encoding scheme was not supported.

       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_bof(3),  gd_error(3),  gd_error_string(3),
       gd_nframes(3)