SysTutorials

Linux Manual Pages › Section 3

get_mvector_list(3)

NAME

get_mvector_list — retrieve a list of vector fields in a dirfile

SYNOPSIS

#include <getdata.h>

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

DESCRIPTION

The get_mvector_list() function queries a dirfile(5) database specified by dirfile and returns a read-only list of names of the all vector type metafields for the specified parent field defined in the database (i.e. fields of types BIT,~LINCOM,~LINTERP,~MULTIPLY,~PHASE,~POLYNOM,~RAW, SBIT).

The dirfile argument must point to a valid DIRFILE object previously created by a call to dirfile_open(3).

The array returned will be de-allocated by a call to dirfile_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 strings in the array can be obtained from a call to get_nmvectors(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 until get_mvector_list() is called again with the same arguments, or until the array is deallocated by a call to dirfile_close(3).

RETURN VALUE

Upon successful completion, get_mvector_list() returns a pointer to an array of strings containing the names of all the vector metafields for the given parent field. On error it returns NULL and sets the dirfile error to a non-zero error value. Possible error values are:

GD_E_ALLOC

The library was unable to allocate memory.

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. The dirfile error may be retrieved by calling get_error(3). A descriptive error string for the last error encountered can be obtained from a call to get_error_string(3).

SEE ALSO

dirfile(5), dirfile_open(3), get_error(3), get_error_string(3), get_mfield_list(3), get_nmetavectors(3), get_vector_list(3)

Index