|
Packit Service |
a721b1 |
/* symbol.h -- header file for the symbol module.
|
|
Packit Service |
a721b1 |
Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
|
Packit Service |
a721b1 |
National Institute of Advanced Industrial Science and Technology (AIST)
|
|
Packit Service |
a721b1 |
Registration Number H15PRO112
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
This file is part of the m17n library.
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
The m17n library is free software; you can redistribute it and/or
|
|
Packit Service |
a721b1 |
modify it under the terms of the GNU Lesser General Public License
|
|
Packit Service |
a721b1 |
as published by the Free Software Foundation; either version 2.1 of
|
|
Packit Service |
a721b1 |
the License, or (at your option) any later version.
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
The m17n library is distributed in the hope that it will be useful,
|
|
Packit Service |
a721b1 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
a721b1 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
a721b1 |
Lesser General Public License for more details.
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
a721b1 |
License along with the m17n library; if not, write to the Free
|
|
Packit Service |
a721b1 |
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Packit Service |
a721b1 |
Boston, MA 02110-1301 USA. */
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
#ifndef _M17N_SYMBOL_H_
|
|
Packit Service |
a721b1 |
#define _M17N_SYMBOL_H_
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
#include "plist.h"
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
struct MSymbolStruct
|
|
Packit Service |
a721b1 |
{
|
|
Packit Service |
a721b1 |
/** 1 iff a value of property (including text-property) whose key is
|
|
Packit Service |
a721b1 |
the symbol is a managed object. */
|
|
Packit Service |
a721b1 |
unsigned managing_key : 1;
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
/* Name of the symbol. */
|
|
Packit Service |
a721b1 |
char *name;
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
/* Byte length of <name>. */
|
|
Packit Service |
a721b1 |
int length;
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
/* Plist of the symbol. */
|
|
Packit Service |
a721b1 |
MPlist plist;
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
struct MSymbolStruct *next;
|
|
Packit Service |
a721b1 |
};
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
#define MSYMBOL_NAME(sym) ((sym)->name)
|
|
Packit Service |
a721b1 |
#define MSYMBOL_NAMELEN(sym) ((sym)->length - 1)
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
extern void msymbol__free_table ();
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
extern MSymbol msymbol__with_len (const char *name, int len);
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
extern MPlist *msymbol__list (MSymbol prop);
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
extern MSymbol msymbol__canonicalize (MSymbol sym);
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
extern MTextPropSerializeFunc msymbol__serializer;
|
|
Packit Service |
a721b1 |
extern MTextPropDeserializeFunc msymbol__deserializer;
|
|
Packit Service |
a721b1 |
|
|
Packit Service |
a721b1 |
#endif /* _M17N_SYMBOL_H_ */
|