Gd_spf returns the samples per frame for a field in a dirfile
#include <getdata.h> gd_spf_t gd_spf(DIRFILE *dirfile, const char *field_code);
The gd_spf() function queries a dirfile(5) database specified by dirfile and returns the number of samples per frame for the field field_code. If field_code contains a valid representation suffix, it will be ignored. The gd_spf_t type is an unsigned 16-bit integer type.
The dirfile argument must point to a valid DIRFILE object previously created by a call to gd_open(3).
Upon successful completion, gd_spf() returns the number of samples per frame for the field specified. On error, it returns zero 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 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 was not recognised.
GD_E_DIMENSION
A scalar field was found where a vector field was expected.
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_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).