1 /* vim:set ts=8 sts=4 sw=4 tw=0: */
2 /*
3  * migemo.h -
4  *
5  * Written By:  MURAOKA Taro <koron.kaoriya@gmail.com>
6  */
7 
8 #ifndef MIGEMO_H
9 #define MIGEMO_H
10 
11 #if defined(_WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN32__)
12 # define MIGEMO_CALLTYPE __stdcall
13 #else
14 # define MIGEMO_CALLTYPE
15 #endif
16 
17 #define MIGEMO_VERSION "1.3"
18 
19 /* for migemo_load() */
20 #define MIGEMO_DICTID_INVALID		0
21 #define MIGEMO_DICTID_MIGEMO		1
22 #define MIGEMO_DICTID_ROMA2HIRA		2
23 #define MIGEMO_DICTID_HIRA2KATA		3
24 #define MIGEMO_DICTID_HAN2ZEN		4
25 #define MIGEMO_DICTID_ZEN2HAN		5
26 
27 /* for migemo_set_operator()/migemo_get_operator().  see: rxgen.h */
28 #define MIGEMO_OPINDEX_OR		0
29 #define MIGEMO_OPINDEX_NEST_IN		1
30 #define MIGEMO_OPINDEX_NEST_OUT		2
31 #define MIGEMO_OPINDEX_SELECT_IN	3
32 #define MIGEMO_OPINDEX_SELECT_OUT	4
33 #define MIGEMO_OPINDEX_NEWLINE		5
34 
35 /* see: rxgen.h */
36 typedef int (*MIGEMO_PROC_CHAR2INT)(const unsigned char*, unsigned int*);
37 typedef int (*MIGEMO_PROC_INT2CHAR)(unsigned int, unsigned char*);
38 
39 /**
40  * Migemo�I�u�W�F�N�g�Bmigemo_open()�ō쐬����Amigemo_close�Ŕj�������B
41  */
42 typedef struct _migemo migemo;
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 migemo* MIGEMO_CALLTYPE	migemo_open(const char* dict);
49 void MIGEMO_CALLTYPE	migemo_close(migemo* object);
50 unsigned char* MIGEMO_CALLTYPE migemo_query(migemo* object,
51 	const unsigned char* query);
52 void MIGEMO_CALLTYPE	migemo_release(migemo* object,
53 	unsigned char* string);
54 
55 int MIGEMO_CALLTYPE	migemo_set_operator(migemo* object, int index,
56 	const unsigned char* op);
57 const unsigned char* MIGEMO_CALLTYPE migemo_get_operator(migemo* object,
58 	int index);
59 void MIGEMO_CALLTYPE	migemo_setproc_char2int(migemo* object,
60 	MIGEMO_PROC_CHAR2INT proc);
61 void MIGEMO_CALLTYPE	migemo_setproc_int2char(migemo* object,
62 	MIGEMO_PROC_INT2CHAR proc);
63 
64 int MIGEMO_CALLTYPE	migemo_load(migemo* obj, int dict_id,
65 	const char* dict_file);
66 int MIGEMO_CALLTYPE	migemo_is_enable(migemo* obj);
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 #endif /* MIGEMO_H */
73