Scroll to navigation

gd_add_alias(3) GETDATA gd_add_alias(3)

NAME

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)

25 December 2016 Version 0.10.0