Provided by: libgetdata-doc_0.9.0-2.2_all bug

NAME

       gd_entry_list,     gd_field_list,     gd_field_list_by_type    gd_mfield_list,    gd_mfield_list_by_type,
       gd_mvector_list, gd_vector_list — list field entries in a dirfile

SYNOPSIS

       #include <getdata.h>

       const char **gd_entry_list(DIRFILE *dirfile, const char *parent, unsigned int type, unsigned int flags);

       const char **gd_field_list(DIRFILE *dirfile);

       const char **gd_field_list_by_type(DIRFILE *dirfile, gd_entype_t type);

       const char **gd_mfield_list(DIRFILE *dirfile, const char *parent);

       const char **gd_mfield_list_by_type(DIRFILE *dirfile, const char *parent, gd_entype_t type);

       const char **gd_mvector_list(DIRFILE *dirfile, const char *parent);

       const char **gd_vector_list(DIRFILE *dirfile);

DESCRIPTION

       The gd_entry_list() function queries a dirfile(5) database specified by dirfile and  returns  a  list  of
       names  of  field  entries  satisfying the supplied criteria.  If parent is non-NULL, metafields under the
       field specified by parent are considered; otherwise, top-level fields are considered, and metafields  ig‐
       nored.

       The type argument should be one of the following symbols indicating an explicit entry type to list:

              GD_BIT_ENTRY, GD_CARRAY_ENTRY, GD_CONST_ENTRY, GD_DIVIDE_ENTRY, GD_INDEX_ENTRY, GD_LINCOM_ENTRY,
              GD_LINTERP_ENTRY, GD_MPLEX_ENTRY, GD_MULTIPLY_ENTRY, GD_PHASE_ENTRY, GD_POLYNOM_ENTRY,
              GD_RAW_ENTRY, GD_RECIP_ENTRY, GD_SBIT_ENTRY, GD_STRING_ENTRY, GD_WINDOW_ENTRY.

       (GD_INDEX_ENTRY  is  a special field type for the implicit INDEX field) or else one of the following spe‐
       cial symbols:

       GD_ALL_ENTRIES (= 0)
              List entries of all types.

       GD_ALIAS_ENTRIES
              List only aliases.  This is the only way to get a list including aliases which  do  not  point  to
              valid field codes.

       GD_SCALAR_ENTRIES
              List only scalar field types (CONST, CARRAY, STRING).

       GD_VECTOR_ENTRIES
              List only vector field types (all field types except the scalar field types listed above).

       The flags argument should be zero or more of the following flags, bitwise or'd together:

       GD_ENTRIES_HIDDEN
              Include hidden entries (see gd_hidden(3)) in the list: normally hidden entries are skipped;

       GD_ENTRIES_NOALIAS
              Exclude  aliases from the list: normally aliases are considered the same as their target (that is:
              if a field satisfies the criteria, both its canonical name and all its aliases will appear in  the
              list).

       The  array  returned  will be de-allocated by a call to gd_close(3) and should not be de-allocated by the
       caller.  The list returned should not be assumed to be in any particular order.  The array is  terminated
       by  a NULL pointer.  The number of elements in the array, excluding the terminating NULL, can be obtained
       from an equivalent call to gd_nentries(3).

       The caller may not modify any strings in the array, or the array itself.  Doing  so  may  cause  database
       corruption.   The  pointer  returned  is  guaranteed to be valid at least until gd_entry_list() is called
       again on the same DIRFILE object, or until the array is de-allocated by a call to gd_close(3).  (Although
       the data may have become obsolete, if metadata have been modified in the interrim.)

   Special Cases
       The call
              gd_field_list(dirfile);

       is equivalent to
              gd_entry_list(dirfile, NULL, GD_ALL_ENTRIES, 0);

       The call
              gd_field_list_by_type(dirfile, type);

       is equivalent to
              gd_entry_list(dirfile, NULL, type, 0);

       The call
              gd_mfield_list(dirfile, parent);

       is equivalent to
              gd_entry_list(dirfile, parent, GD_ALL_ENTRIES, 0);

       The call
              gd_mfield_list_by_type(dirfile, parent, type);

       is equivalent to
              gd_entry_list(dirfile, parent, type, 0);

       The call
              gd_mvector_list(dirfile, parent);

       is equivalent to
              gd_entry_list(dirfile, parent, GD_VECTOR_ENTRIES, 0);

       The call
              gd_vector_list(dirfile);

       is equivalent to
              gd_entry_list(dirfile, NULL, GD_VECTOR_ENTRIES, 0);

RETURN VALUE

       Upon successful completion, these functions returns a pointer to an array of strings containing the names
       of all the entries in the database satisfying the supplied criteria.  On error, they return zero and sets
       the dirfile error to a non-zero error value.  Possible error values are:

       GD_E_BAD_CODE
               The supplied parent field code was not found, or referred to a metafield itself.

       GD_E_BAD_DIRFILE
               The supplied dirfile was invalid.

       GD_E_BAD_ENTRY
               The type parameter supplied was not one of the symbols listed above.

       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

       dirfile(5), gd_open(3), gd_error(3), gd_error_string(3), gd_hidden(3), gd_nentries(3)

Version 0.8.0                                     28 June 2012                                  gd_entry_list(3)