## Libfm Libfm — Libfm initialization |

## Synopsis

    #define             FM_CHECK_VERSION                    (_a,
                                                             _b,
                                                             _c)
    #define             FM_VERSION_MAJOR
    #define             FM_VERSION_MICRO
    #define             FM_VERSION_MINOR
    void                fm_finalize                         ();
    gboolean            fm_init                             (FmConfig *config);
    extern GQuark       fm_qdata_id;
    const char *        fm_version                          (void);

## Description

`include`: libfm/fm.h

## Details

### FM_CHECK_VERSION()

    #define             FM_CHECK_VERSION(_a,_b,_c)

### FM_VERSION_MAJOR

    #define FM_VERSION_MAJOR 1

### FM_VERSION_MICRO

    #define FM_VERSION_MICRO 3

### FM_VERSION_MINOR

    #define FM_VERSION_MINOR 2

### fm_finalize ()

    void                fm_finalize                         ();

Frees libfm data.

This API should be called exactly that many times the `fm_init()` was called before.

Since 0.1.0

### fm_init ()

    gboolean            fm_init                             (FmConfig *config);

Initializes libfm data. This API should be always called before any other Libfm function is called. It is idempotent.

`config` : | configuration file data. [allow-none]
Returns : | `FALSE` in case of duplicate call.

Since 0.1.0

### fm_qdata_id

    extern GQuark fm_qdata_id; /* a quark value used to associate data with objects */

### fm_version ()

    const char *        fm_version                          (void);

Returns text representation of Libfm version.

Returns : | text string. [transfer none]

Since 1.2.0