---
name: "gd_mvector_list"
section: "3"
platform: "linux"
package: "libgetdata-dev"
version: "0.7.3-6+b2"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/gd_mvector_list"
---

# gd\_mvector\_list(3)

retrieve a list of vector fields in a dirfile

## NAME

gd\_mvector\_list — retrieve a list of vector fields in a dirfile

## SYNOPSIS

**#include \<getdata.h\>**

**const char \*\*gd\_mvector\_list(DIRFILE \****dirfile***,** **const char \****parent***);**

## DESCRIPTION

The **gd\_mvector\_list**() function queries a [dirfile(5)](/dirfile/5.md) 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 [**gd\_open**(3)](/gd_open/3.md).

The array returned will be de-allocated by a call to [**gd\_close**(3)](/gd_close/3.md) 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 [**gd\_nmvectors**(3)](/gd_nmvectors/3.md).

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 **gd\_mvector\_list**() is called again with the same arguments, or until the array is de-allocated by a call to [**gd\_close**(3)](/gd_close/3.md).

## RETURN VALUE

Upon successful completion, **gd\_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 [**gd\_error**(3)](/gd_error/3.md). A descriptive error string for the last error encountered can be obtained from a call to [**gd\_error\_string**(3)](/gd_error_string/3.md).

## SEE ALSO

[**dirfile**(5)](/dirfile/5.md), [**gd\_open**(3)](/gd_open/3.md), [**gd\_error**(3)](/gd_error/3.md), [**gd\_error\_string**(3)](/gd_error_string/3.md), [**gd\_mfield\_list**(3)](/gd_mfield_list/3.md), **gd\_nmetavectors**(3), [**gd\_vector\_list**(3)](/gd_vector_list/3.md)
