# groonga - An open-source fulltext search engine and column store.

- 日本語

### Navigation

- index
- next |
- previous |
- Groonga v5.0.4-139-g6629adb documentation »
- 7. Reference manual »
- 7.20. API »

# 7.20.1. Overview

## 7.20.1.1. Summary

You can use Groonga as a library. You need to use the following APIs to initialize and finalize Groonga.

`grn_init()` initializes Groonga. In contrast, `grn_fin()` finalizes Groonga.

You must call `grn_init()` only once before you use APIs which are provided by Groonga. You must call `grn_fin()` only once after you finish to use APIs which are provided by Groonga.

## 7.20.1.2. Example

Here is an example that uses Groonga as a full-text search library.

    grn_rc rc;
    /* It initializes resources used by Groonga. */
    rc = grn_init();
    if (rc != GRN_SUCCESS) {
      return EXIT_FAILURE;
    }
    /* Some Groonga API calling codes... */
    /* It releases resources used by Groonga. */
    grn_fin();
    return EXIT_SUCCESS;

## 7.20.1.3. Reference

grn_rc `grn_init`(void)

  `grn_init()` initializes resources that are used by Groonga. You must call it just once before you call other Groonga APIs.

  Returns: | `GRN_SUCCESS` on success, not `GRN_SUCCESS` on error.

grn_rc `grn_fin`(void)

  `grn_fin()` releases resources that are used by Groonga. You can't call other Groonga APIs after you call `grn_fin()`.

  Returns: | `GRN_SUCCESS` on success, not `GRN_SUCCESS` on error.

### Navigation

- index
- next |
- previous |
- Groonga v5.0.4-139-g6629adb documentation »
- 7. Reference manual »
- 7.20. API »