Database: liblangtag Documentation

## Database Database — convenient function sets to deal with the language tags database |

## Functions

void | lt_db_set_datadir ()
const char * | lt_db_get_datadir ()
void | lt_db_initialize ()
void | lt_db_finalize ()
lt_lang_db_t * | lt_db_get_lang ()
lt_extlang_db_t * | lt_db_get_extlang ()
lt_script_db_t * | lt_db_get_script ()
lt_region_db_t * | lt_db_get_region ()
lt_variant_db_t * | lt_db_get_variant ()
lt_grandfathered_db_t * | lt_db_get_grandfathered ()
lt_redundant_db_t * | lt_db_get_redundant ()

## Description

This section describes convenient functions to obtain the database instance.

## Functions

### lt_db_set_datadir ()

    void
    lt_db_set_datadir (const char *path);

Set `path` as the default location of the database files. This has to be called before `lt_db_initialize()` or any initialization for each databases.

#### Parameters

path | the directory where database files are installed. |

### lt_db_get_datadir ()

    const char *
    lt_db_get_datadir (void);

Obtain the directory where database files are installed.

#### Returns

the directory name.

### lt_db_initialize ()

    void
    lt_db_initialize (void);

Initialize all of the language tags database instance.

### lt_db_finalize ()

    void
    lt_db_finalize (void);

Decreases the reference count of the language tags database, which was increased with `lt_db_initialize()`.

### lt_db_get_lang ()

    lt_lang_db_t *
    lt_db_get_lang (void);

Obtains the instance of lt_lang_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_lang_db_t.

### lt_db_get_extlang ()

    lt_extlang_db_t *
    lt_db_get_extlang (void);

Obtains the instance of lt_extlang_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_extlang_db_t.

### lt_db_get_script ()

    lt_script_db_t *
    lt_db_get_script (void);

Obtains the instance of lt_script_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_script_db_t.

### lt_db_get_region ()

    lt_region_db_t *
    lt_db_get_region (void);

Obtains the instance of lt_region_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_region_db_t.

### lt_db_get_variant ()

    lt_variant_db_t *
    lt_db_get_variant (void);

Obtains the instance of lt_variant_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_variant_db_t.

### lt_db_get_grandfathered ()

    lt_grandfathered_db_t *
    lt_db_get_grandfathered (void);

Obtains the instance of lt_grandfathered_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_grandfathered_db_t.

### lt_db_get_redundant ()

    lt_redundant_db_t *
    lt_db_get_redundant (void);

Obtains the instance of lt_redundant_db_t. This still allows to use without `lt_db_initialize()`. but it will takes some time to load the database on the memory every time.

#### Returns

The instance of lt_redundant_db_t.

## Types and Values