---
name: "genders_index_attrvals"
section: "3"
platform: "linux"
package: "libgenders0-dev"
version: "1.27-3-3.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/genders_index_attrvals"
---

# genders\_index\_attrvals(3)

internally index attribute values in genders

## NAME

genders\_index\_attrvals - internally index attribute values in genders

## SYNOPSIS

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

**int genders\_index\_attrvals(genders\_t handle, const char \*attr);**

## DESCRIPTION

**genders\_index\_attrvals()** internally indexes attribute values in a genders handle so that genders searches can be done more quickly in the [**genders\_getnodes**(3)](/genders_getnodes/3.md) and [**genders\_isattrval**(3)](/genders_isattrval/3.md) functions.

Only one attribute can be indexed at a time through this function. Subsequent calls to this function with a different attribute will overwrite earlier indexes.\

## RETURN VALUES

On success, 0 is returned.  On error, -1 is returned, and an error code is returned in *handle*.  The error code can be retrieved via [**genders\_errnum**(3)](/genders_errnum/3.md) , and a description of the error code can be retrieved via  [**genders\_strerror**(3)](/genders_strerror/3.md). Error codes are defined in genders.h.\

## ERRORS

- **GENDERS\_ERR\_NULLHANDLE**

  The *handle* parameter is NULL.  The genders handle must be created with [**genders\_handle\_create**(3)](/genders_handle_create/3.md).

- **GENDERS\_ERR\_NOTLOADED**

  [**genders\_load\_data**(3)](/genders_load_data/3.md) has not been called to load genders data.

- **GENDERS\_ERR\_PARAMETERS**

  An incorrect parameter has been passed in.

- **GENDERS\_ERR\_NOTFOUND**

  The attribute pointed to by *attr* cannot be found in the genders file.

- **GENDERS\_ERR\_OUTMEM**

  [**malloc**(3)](/malloc/3.md) has failed internally, system is out of memory.

- **GENDERS\_ERR\_MAGIC**

  *handle* has an incorrect magic number.  *handle* does not point to a genders handle or *handle* has been destroyed by [**genders\_handle\_destroy**(3)](/genders_handle_destroy/3.md).

- **GENDERS\_ERR\_INTERNAL**

  An internal system error has occurred.  \

## FILES

/usr/include/genders.h

## SEE ALSO

[libgenders(3)](/libgenders/3.md), [genders\_handle\_create(3)](/genders_handle_create/3.md), [genders\_load\_data(3)](/genders_load_data/3.md), [genders\_getnodes(3)](/genders_getnodes/3.md), [genders\_isattrval(3)](/genders_isattrval/3.md), [genders\_errnum(3)](/genders_errnum/3.md), [genders\_strerror(3)](/genders_strerror/3.md)
