dirfile_reference (3) - Linux Manuals

dirfile_reference: retrieve or set the reference field for a dirfile

NAME

dirfile_reference, get_reference --- retrieve or set the reference field for a dirfile

SYNOPSIS

#include <getdata.h>
const char *dirfile_reference(DIRFILE *dirfile, const char *field_code);
const char *get_reference(DIRFILE *dirfile);

DESCRIPTION

The dirfile_reference() function sets or retrieves the reference field (see dirfile(5)) associated with the dirfile specified by dirfile. If the field_code argument is non-NULL, the reference field for the dirfile will be set to the field specified. If field_code is NULL, the reference field is not modified. The field code should refer to a RAW field, and may not contain a representation suffix.

get_reference() is equivalent to calling dirfile_reference() with field_code set to NULL.

RETURN VALUE

On success, dirfile_reference() and get_reference() return the field code of the dirfile's reference field, which will be field_code, if field_code is non-NULL. If no RAW fields are defined in the dirfile, these functions will return NULL, without raising an error. On error, NULL is returned and the dirfile error is set to a non-zero error value. Possible error values are:
GD_E_ACCMODE
The specified dirfile was opened read-only.
GD_E_ALLOC
The library was unable to allocate memory.
GD_E_BAD_CODE
The field specified by field_code was not found.
GD_E_BAD_DIRFILE
The supplied dirfile was invalid.
GD_E_BAD_FIELD_TYPE
The field specified by field_code was not a RAW field.
GD_E_PROTECTED
The metadata of the primary format file fragment (the file named format in the root dirfile directory) was protected from change. The dirfile error may be retrieved by calling get_error(3). A descriptive error string for the last error encountered can be obtained from a call to get_error_string(3).