#ifndef __LIBLOUIS_H_
#define __LIBLOUIS_H_
#ifdef __cplusplus
extern "C"
{
#endif
#define widechar unsigned short int
#ifdef _WIN32
#define EXPORT_CALL __stdcall
char * EXPORT_CALL lou_getProgramPath ();
#else
#define EXPORT_CALL
#endif
typedef enum
{
plain_text = 0,
italic = 1,
underline = 2,
bold = 4,
computer_braille = 8
} typeforms;
#define comp_emph_1 italic
#define comp_emph_2 underline
#define comp_emph_3 bold
typedef enum
{
noContractions = 1,
compbrlAtCursor = 2,
dotsIO = 4,
comp8Dots = 8,
pass1Only = 16,
compbrlLeftCursor = 32,
otherTrans = 64,
ucBrl = 128
} translationModes;
char * EXPORT_CALL lou_version ();
int EXPORT_CALL lou_charSize ();
int EXPORT_CALL lou_translateString
(const char *tableList,
const widechar *inbuf,
int *inlen,
widechar * outbuf,
int *outlen, char *typeform, char *spacing, int mode);
int EXPORT_CALL lou_translate (const char *tableList, const widechar
*inbuf,
int *inlen, widechar * outbuf, int *outlen,
char *typeform, char *spacing, int *outputPos, int
*inputPos, int *cursorPos, int mode);
int EXPORT_CALL lou_hyphenate (const char *tableList, const widechar
*inbuf,
int inlen, char *hyphens, int mode);
int EXPORT_CALL lou_dotsToChar (const char *tableList, widechar *inbuf,
widechar *outbuf, int length, int mode);
int EXPORT_CALL lou_charToDots (const char *tableList, const widechar
*inbuf,
widechar *outbuf, int length, int mode);
int EXPORT_CALL lou_backTranslateString (const char *tableList,
const widechar *inbuf,
int *inlen,
widechar * outbuf,
int *outlen, char *typeform, char
*spacing, int mode);
int EXPORT_CALL lou_backTranslate (const char *tableList, const widechar
*inbuf,
int *inlen, widechar * outbuf, int *outlen,
char *typeform, char *spacing, int
*outputPos, int *inputPos, int *cursorPos, int
mode);
void EXPORT_CALL lou_logPrint (char *format, ...);
void EXPORT_CALL lou_logFile (const char *filename);
int EXPORT_CALL lou_readCharFromFile (const char *fileName, int *mode);
void EXPORT_CALL lou_logEnd ();
void * EXPORT_CALL lou_getTable (const char *tableList);
int EXPORT_CALL lou_compileString (const char *tableList, const char
*inString);
char * EXPORT_CALL lou_setDataPath (char *path);
char * EXPORT_CALL lou_getDataPath ();
void EXPORT_CALL lou_free ();
#ifdef __cplusplus
}
#endif
#endif