| Typedefs | |
| typedef MSymbolStruct * | MSymbol | 
| Type of symbols. | |
| Functions | |
| MSymbol | msymbol (const char *name) | 
| Get a symbol. | |
| MSymbol | msymbol_as_managing_key (const char *name) | 
| Create a managing key. | |
| MSymbol | msymbol_exist (const char *name) | 
| Search for a symbol that has a specified name. | |
| char * | msymbol_name (MSymbol symbol) | 
| Get symbol name. | |
| int | msymbol_put (MSymbol symbol, MSymbol key, void *val) | 
| Set the value of a symbol property. | |
| void * | msymbol_get (MSymbol symbol, MSymbol key) | 
| Get the value of a symbol property. | |
| Variables | |
| MSymbol | Mnil | 
| Symbol whose name is "nil". | |
| MSymbol | Mt | 
| Symbol whose name is "t". | |
| MSymbol | Mstring | 
| Symbol whose name is "string". | |
| MSymbol | Msymbol | 
| Symbol whose name is "symbol". | |
(void *). "The symbol property that belongs to the symbol S and whose key is K" may be shortened to "K property of S".Symbols are used mainly in the following three ways.
| 
 | 
| The type MSymbol is for a symbol object. Its internal structure is concealed from application programs. | 
| 
 | 
| The msymbol() function returns the canonical symbol whose name is name. If there is none, one is created. The created one is not a managing key. Symbols whose name starts by two spaces are reserved by the m17n library, and are used by the library only internally. 
 
 
 | 
| 
 | 
| The msymbol_as_managing_key() function returns a newly created managing key whose name is name. It there already exists a symbol of name name, it returns Mnil. Symbols whose name starts by two spaces are reserved by the m17n library, and are used by the library only internally. 
 
 
 
 | 
| 
 | 
| The msymbol_exist() function searches for the symbol whose name is name. 
 
 
 
 | 
| 
 | 
| The msymbol_name() function returns a pointer to a string containing the name of symbol. 
 
 
 | 
| 
 | ||||||||||||||||
| The msymbol_put() function assigns val to the value of the symbol property that belongs to symbol and whose key is key. If the symbol property already has a value, val overwrites the old one. Both symbol and key must not be Mnil. 
If key is a managing key, val must be a managed object. In this case, the reference count of the old value, if not  
 
 
 
 | 
| 
 | ||||||||||||
| 
The msymbol_get() function searches for the value of the symbol property that belongs to symbol and whose key is key. If symbol has such a symbol property, its value is returned. Otherwise  
 
 
 
 | 
| 
 | 
| 
The symbol Mnil has the name  | 
| 
 | 
| 
The symbol Mt has the name  | 
| 
 | 
| 
The symbol Mstring has the name  | 
| 
 | 
| 
The symbol Msymbol has the name  | 
 mule-aist@m17n.org
mule-aist@m17n.org