---
name: "rulexdb_retrieve_item"
section: "3"
platform: "linux"
package: "librulexdb-dev"
version: "3.8.6-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rulexdb_retrieve_item"
---

# rulexdb\_retrieve\_item(3)

retrieve an item from the rulex database

## NAME

rulexdb\_retrieve\_item - retrieve an item from the rulex database

## SYNOPSIS

```
#include <rulexdb.h>

int rulexdb_retrieve_item(RULEXDB *rulexdb, const char *key, char *value, int item_type);
```

## DESCRIPTION

The **rulexdb\_retrieve\_item**() function retrieves an item from one of the dictionary datasets in the database referenced by *rulexdb* argument.

The argument *key* points to a text string containing the word to be fetched.

The argument *value* points to the memory area where corresponding pronunciation string will be placed.

The argument *item\_type* specifies target dataset. It may accept one of the following values:

- **RULEXDB\_LEXBASE**

  The item should be fetched from the **Implicit** dictionary and, therefore, it represents a lexical base.

- **RULEXDB\_EXCEPTION**

  The item representing an exception should be fetched from the **Explicit** dictionary.

- **RULEXDB\_DEFAULT**

  Target dictionary should be guessed according to the key specified: if it represents any lexical base, then **Implicit** dictionary will be chosen, otherwise the **Explicit** dictionary will be used.

## RETURN VALUE

The **rulexdb\_retrieve\_item**() function returns **RULEXDB\_SUCCESS** which is zero when specified item was successfully retrieved, positive value **RULEXDB\_SPECIAL** when specified key does not exist in the dictionary, or negative error code otherwise.

## ERRORS

- **RULEXDB\_FAILURE**

  Referenced database has not been opened, internal data structures are corrupted or some other general failure has occurred.

- **RULEXDB\_EINVKEY**

  Invalid key specified.

- **RULEXDB\_EPARM**

  The argument *rulexdb* or *item\_type* has an invalid value.

## SEE ALSO

[**rulexdb\_classify**(3)](/rulexdb_classify/3.md), [**rulexdb\_close**(3)](/rulexdb_close/3.md), [**rulexdb\_dataset\_name**(3)](/rulexdb_dataset_name/3.md), [**rulexdb\_discard\_dictionary**(3)](/rulexdb_discard_dictionary/3.md), [**rulexdb\_discard\_ruleset**(3)](/rulexdb_discard_ruleset/3.md), [**rulexdb\_fetch\_rule**(3)](/rulexdb_fetch_rule/3.md), [**rulexdb\_lexbase**(3)](/rulexdb_lexbase/3.md), [**rulexdb\_load\_ruleset**(3)](/rulexdb_load_ruleset/3.md), [**rulexdb\_open**(3)](/rulexdb_open/3.md), [**rulexdb\_remove\_item**(3)](/rulexdb_remove_item/3.md), [**rulexdb\_remove\_rule**(3)](/rulexdb_remove_rule/3.md), [**rulexdb\_remove\_this\_item**(3)](/rulexdb_remove_this_item/3.md), [**rulexdb\_search**(3)](/rulexdb_search/3.md), [**rulexdb\_seq**(3)](/rulexdb_seq/3.md), [**rulexdb\_subscribe\_item**(3)](/rulexdb_subscribe_item/3.md), [**rulexdb\_subscribe\_rule**(3)](/rulexdb_subscribe_rule/3.md)

## AUTHOR

Igor B. Poretsky \<poretsky@mlbox.ru\>.
