gd_add_alias man page

gd_add_alias, gd_madd_alias — add a field to a Dirfile

Synopsis

#include <getdata.h>

int gd_add_alias(DIRFILE *dirfile, const char *alias_name, const char *target_code, int fragment_index);

int gd_madd_alias(DIRFILE *dirfile, const char *parent, const char *alias_name, const char *target_code);

Description

The gd_add_alias() function adds the alias named alias_name pointing to target_code to the fragment indexed by fragment_index in the dirfile specified by dirfile. The gd_madd_alias() function behaves similarly, but adds the field as a meta-entry under the field indicated by the field code parent.

Return Value

On success, gd_add_alias() and gd_madd_alias() return zero.   On error, a negative-valued error code is returned.  Possible error codes 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

Either the alias_name was invalid: containing an invalid character or lacking the containing fragment's namespace or affixes, or else the parent field code was not found, or was already a metafield.

GD_E_BAD_DIRFILE

The supplied dirfile was invalid.

GD_E_BAD_INDEX

The fragment_index specified was out of range.

GD_E_DUPLICATE

The alias_name parameter duplicated that of an already existing entry.

GD_E_PROTECTED

The metadata of the fragment was protected from change.  Or, the creation of a RAW field was attempted and the data of the fragment was protected.

The error code is also stored in the DIRFILE object and may be retrieved after this function returns by calling gd_error(3). A descriptive error string for the error may be obtained by calling gd_error_string(3).

History

The functions gd_add_alias() and gd_madd_alias() appeared in GetData-0.8.0.

In GetData-0.10.0, the error return from these functions changed from -1 to a negative-valued error code.

See Also

gd_add(3), gd_alias_target(3), gd_entry(3), gd_madd(3), gd_metaflush(3), gd_open(3), dirfile-format(5)

Info

25 December 2016 Version 0.10.0 GETDATA