#ifndef __HHDICT_H__
#define __HHDICT_H__

#ifndef Bool
typedef enum {
  True=1, False=0
} Boolean;
#define Bool Boolean
#endif

#include "tree.h"

typedef struct _Dictionary Dictionary;

struct _Dictionary {
  int   n_trees;
  Tree *p_trees;
};

Bool
construct_binary_tree_from_file
(char *dic_path, Tree **trees_return, int *n_trees_return );

Bool
dictionary_search_hanja_candidates_in_utf16
(UTFCHAR *u16_hangul, int *n_return, UTFCHAR ***u16_hanja_return );

typedef struct _DictionaryHeader DictionaryHeader;

struct _DictionaryHeader {
  char  dict_name[50];
  int   dict_version_major;
  int   dict_version_minor;
  int   table_size;
};

#endif /* __HHDICT_H__ */
