1 /* ³Ø½¬¤ÎÍúÎò¤Ê¤É¤òÊݸ¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹ */
2 #ifndef _record_h_included_
3 #define _record_h_included_
5 * ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï̾Á°¤ò¤â¤ÄÊ£¿ô¤Îsection¤«¤é¹½À®¤µ¤ì³Æ¥»¥¯¥·¥ç¥ó¤Ï
6 * ʸ»úÎó¤ò¥¡¼¤È¤·¤Æ¹â®¤Ë¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤¤ërow¤«¤é¤Ê¤ë¡£
8 * ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¥«¥ì¥ó¥Èsection¤ä¥«¥ì¥ó¥Èrow¤Ê¤É¤Î¾õÂÖ¤ò»ý¤Á
9 * Áàºî¤Ï¤½¤ì¤ËÂФ·¤Æ¹Ô¤ï¤ì¤ë¡£
10 * sectionÃæ¤Îrow¤Ï½ç½ø´Ø·¸¤ò¤â¤Ã¤Æ¤¤¤ë
11 * ¤½¤Î½ç½ø´Ø·¸¤È¤ÏÊ̤ËLRU¤Î½ç½ø¤ò¤â¤Ã¤Æ¤¤¤ë
17 * ¥«¥ì¥ó¥Èsection¤òÀßÄꤹ¤ë
19 * create_if_not_exist: ¤½¤Îsection¤¬¤Ê¤±¤ì¤Ðºî¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°
20 * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
21 * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èsection¤Ï̵¸ú¤Ë¤Ê¤ë
22 * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
24 int anthy_select_section(const char *name, int create_if_not_exist);
27 * ¥«¥ì¥ó¥ÈsectionÃ椫¤éname¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
29 * create_if_not_exist: ¤½¤Îrow¤¬¤Ê¤±¤ì¤Ðºî¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°
30 * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
31 * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
33 int anthy_select_row(xstr *name, int create_if_not_exist);
36 * ¥«¥ì¥ó¥ÈsectionÃ椫¤éname¤ËºÇ¤âŤ¤Ê¸»ú¿ô¤Ç¥Þ¥Ã¥Á¤¹¤ë
37 * ̾Á°¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
39 * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
40 * ¼ºÇԤλþ¤Ë¤Ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
42 int anthy_select_longest_row(xstr *name);
45 * ¥«¥ì¥ó¥ÈsectionÃæ¤ÎºÇ½é¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
46 * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
47 * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
49 int anthy_select_first_row(void);
52 * ¥«¥ì¥ó¥Èrow¤Î¼¡¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
53 * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
54 * ¥«¥ì¥ó¥Èrow¤ËÂФ¹¤ëÊѹ¹¤¬¤¢¤Ã¤Æ¤â¡¢¥Õ¥¡¥¤¥ë¤Ë¤ÏÊݸ¤µ¤ì¤Ê¤¤
55 * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
57 int anthy_select_next_row(void);
60 * ¥«¥ì¥ó¥Èsection¤ò²òÊü¤¹¤ë
61 * ¾ï¤Ë¥«¥ì¥ó¥Èsection,row¤Ï̵¸ú¤Ë¤Ê¤ë
63 void anthy_release_section(void);
66 * ¥«¥ì¥ó¥Èsection¤ÎLRU¥ê¥¹¥È¤ÎÀèƬ¤«¤écount¸Ä°Ê¹ß¤ò²òÊü¤¹¤ë
67 * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
69 void anthy_truncate_section(int count);
72 /* ¸½ºß¤Îrow¤ËÂФ¹¤ëÁàºî */
73 xstr *anthy_get_index_xstr(void);
74 int anthy_get_nr_values(void);
75 int anthy_get_nth_value(int );
76 xstr *anthy_get_nth_xstr(int );/* intern¤µ¤ì¤Æ¤¤¤ëxstr¤¬ÊÖ¤µ¤ì¤ë */
78 void anthy_set_nth_value(int nth, int val);
79 void anthy_set_nth_xstr(int nth, xstr *xs);/* ÆâÉô¤Ç¥³¥Ô¡¼¤µ¤ì¤ë */
81 void anthy_truncate_row(int nth);/* To Be Implemented */
84 * ¥«¥ì¥ó¥Èrow¤ò²òÊü¤¹¤ë¡£½ªÎ»¸å¤Î¥«¥ì¥ó¥Èrow¤ÏÉÔÄê
85 * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
87 void anthy_release_row(void);
90 * ¥«¥ì¥ó¥Èrow¤òLRU¤ÎÀèƬ¤ÎÊý¤Ø¤â¤Ã¤Æ¤¯¤ë
91 * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
93 int anthy_mark_row_used(void);
96 void anthy_reload_record(void);