Man page - gd_add_spec(3)

Packages contains this manual

Manual

gd_add_spec

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
HISTORY
SEE ALSO

NAME

gd_add_spec, gd_madd_spec โ€” add a field to a Dirfile

SYNOPSIS

#include <getdata.h>

int gd_add_spec(DIRFILE * dirfile , const char * line , int fragment_index );

int gd_madd_spec(DIRFILE * dirfile , const char * line , const char * parent );

DESCRIPTION

The gd_add_spec () function adds the field described by the field specification line in line to the dirfile specified by dirfile . The gd_madd_spec () function behaves similarly, but adds the field as a metafield under the field indicated by the field parent . Field specification lines are described in detail in dirfile-format(5). Since Standards Version 7 (see dirfile(5)) permits specifying metafield without the use of the /META directive, gd_add_spec () may also be used to add metafields, by specifying the metafieldโ€™s full field code. See dirfile-format(5) for full details.

When using gd_madd_spec (), line should only contain a field specification, and not a /META directive.

Passing these functions a directive line instead of a field specification line will result in a syntax error. These functions never call the registered parser callback function, even if line contains a syntax error.

RETURN VALUE

On success, gd_add_spec () and gd_madd_spec () 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

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 argument was out of range.

GD_E_FORMAT

A syntax error was encountered in line .

GD_E_IO

An I/O error occurred while creating an empty binary file to be associated with a newly added RAW field.

GD_E_LINE_TOO_LONG

The supplied line was longer than the parser was able to deal with. Line lengths are limited by the storage size of size_t .

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.

GD_E_UNKNOWN_ENCODING

The encoding scheme of the indicated format specification fragment is not known to the library. As a result, the library was unable to create an empty binary file to be associated with a newly added RAW field.

GD_E_UNSUPPORTED

The encoding scheme of the indicated format specification fragment does not support creating an empty binary file to be associated with a newly added RAW field.

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 dirfile_add_spec () and dirfile_madd_spec () appeared in GetData-0.4.0.

In GetData-0.7.0, these functions were renamed to gd_add_spec () and gd_madd_spec ().

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), all the gd_add_ <entry-type> functions (e.g., gd_add_bit (3)), gd_error (3), gd_error_string (3), gd_madd (3), all the gd_madd_ <entry-type> functions (e.g., gd_madd_bit (3)), gd_metaflush (3), gd_open (3), dirfile-format(5)