Provided by: libgetdata-dev_0.7.3-6ubuntu1_amd64 bug

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 de‐
       tail in dirfile-format(5).  Since Standards Version 7 (see dirfile(5)) permits specifying metafield with‐
       out 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  syn‐
       tax error.

RETURN VALUE

       On  success, gd_add_spec() and gd_madd_spec() return zero.   On error, -1 is returned and the dirfile er‐
       ror 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 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_LINE_TOO_LONG
               The supplied line was longer than the parser was able to deal with.  Lines  are  limited  by  the
               storage size of ssize_t.  On 32-bit systems, this limits line to 2**31 bytes.  The limit is larg‐
               er on 64-bit systems.

       GD_E_PROTECTED
               The  metadata of the fragment was protected from change.  Or, the creation of a RAW field was at‐
               tempted and the data of the fragment was protected.

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

       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 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).

SEE ALSO

       gd_add(3),   gd_add_bit(3),   gd_add_carray(3),   gd_add_const(3),   gd_add_divide(3),  gd_add_lincom(3),
       gd_add_linterp(3),  gd_add_multiply(3),  gd_add_phase(3),  gd_add_recip(3),  gd_add_raw(3),  gd_error(3),
       gd_error_string(3),  gd_madd(3),  gd_madd_bit(3), gd_madd_carray(3), gd_madd_const(3), gd_madd_divide(3),
       gd_madd_lincom(3),   gd_madd_linterp(3),   gd_madd_multiply(3),   gd_madd_phase(3),   gd_madd_polynom(3),
       gd_madd_recip(3), gd_madd_string(3), gd_metaflush(3), gd_open(3), dirfile-format(5)

Version 0.7.0                                    4 November 2010                                  gd_add_spec(3)