---
name: "mdatabase_define"
section: "3m17n"
platform: "linux"
package: "m17n-docs"
version: "1.8.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mdatabase_define"
---

# mdatabase\_define(3m17n)

## NAME

mdatabase\_define -

## SYNOPSIS

**MDatabase**\* **mdatabase\_define** (MSymbol *tag0*, MSymbol *tag1*, MSymbol *tag2*, MSymbol *tag3*, void \*(\*)(MSymbol \*, void \*) *loader*, void \* *extra\_info*)

## DESCRIPTION

Define a data of the m17n database. The **mdatabase\_define()** function defines a data that has tags **tag0** through **tag3** and additional information **extra\_info**.

**loader** is a pointer to a function that loads the data from the database. This function is called from the **mdatabase\_load()** function with the two arguments **tags** and **extra\_info**. Here, **tags** is the array of **tag0** through **tag3**.

If **loader** is `NULL`, the default loader of the m17n library is used. In this case, **extra\_info** must be a string specifying a filename that contains the data.

## RETURN VALUE

If the operation was successful, **mdatabase\_define()** returns a pointer to the defined data, which can be used as an argument to **mdatabase\_load()**. Otherwise, it returns `NULL`. \

## SEE ALSO

**mdatabase\_load()**, **mdatabase\_define()**\

## COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)\
 Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)\
 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License  \<http://www.gnu.org/licenses/fdl.html\>.
