#ifndef ATKREC_H
#define ATKREC_H

#ifdef __cplusplus
#define LINKAGE extern "C"
#else
#define LINKAGE 
#endif

#define ATKREC_LOG_DEBUG 5
#define ATKREC_LOG_WARNING 1
#define ATKREC_LOG_ERROR 0


LINKAGE void atkrec_set_log_level(int level);

LINKAGE int atkrec_init(char *configFile);

LINKAGE void atkrec_deinit();

LINKAGE int atkrec_load_hmmset(const char *name, const char *hmmlist, 
				 const char *mmf0, const char *mmf1);

LINKAGE int atkrec_load_dict(const char *name, const char *dictFile);

LINKAGE int atkrec_load_grammar(const char *name, const char *gramFile);

LINKAGE int atkrec_load_grammar_stream(const char *name, FILE *f);

LINKAGE int atkrec_create_recognizer(const char *name, const char *hmmsName, 
				     const char *dictName, const char *gramName);

/* Returns a string in the grammar, or NULL on failure. */
LINKAGE int atkrec_recognize(const char *recognizerName, char *buf, unsigned int len);

#endif