Blame liblouis/liblouis.h.in

Packit Service b70e42
/* liblouis Braille Translation and Back-Translation Library
Packit Service b70e42
Packit Service b70e42
   Based on the Linux screenreader BRLTTY, copyright (C) 1999-2006 by
Packit Service b70e42
   The BRLTTY Team
Packit Service b70e42
Packit Service b70e42
   Copyright (C) 2004, 2005, 2006, 2009 ViewPlus Technologies, Inc.
Packit Service b70e42
   www.viewplus.com and JJB Software, Inc. www.jjb-software.com
Packit Service b70e42
Packit Service b70e42
   liblouis is free software: you can redistribute it and/or modify it
Packit Service b70e42
   under the terms of the GNU Lesser General Public License as
Packit Service b70e42
   published by the Free Software Foundation, either version 3 of the
Packit Service b70e42
   License, or (at your option) any later version.
Packit Service b70e42
Packit Service b70e42
   liblouis is distributed in the hope that it will be useful, but
Packit Service b70e42
   WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service b70e42
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Packit Service b70e42
   Lesser General Public License for more details.
Packit Service b70e42
Packit Service b70e42
   You should have received a copy of the GNU Lesser General Public
Packit Service b70e42
   License along with this program. If not, see
Packit Service b70e42
   <http://www.gnu.org/licenses/>.
Packit Service b70e42
Packit Service b70e42
   Maintained by John J. Boyer john.boyer@abilitiessoft.com
Packit Service b70e42
   */
Packit Service b70e42
Packit Service b70e42
#ifndef __LIBLOUIS_H_
Packit Service b70e42
#define __LIBLOUIS_H_
Packit Service b70e42
#ifdef __cplusplus
Packit Service b70e42
extern "C"
Packit Service b70e42
{
Packit Service b70e42
#endif				/* __cplusplus */
Packit Service b70e42
Packit Service b70e42
#define widechar @WIDECHAR_TYPE@
Packit Service b70e42
#define formtype unsigned char
Packit Service b70e42
Packit Service b70e42
#ifdef _WIN32
Packit Service b70e42
#define EXPORT_CALL __stdcall
Packit Service b70e42
  char *EXPORT_CALL lou_getProgramPath ();
Packit Service b70e42
#else
Packit Service b70e42
#define EXPORT_CALL
Packit Service b70e42
#endif
Packit Service b70e42
Packit Service b70e42
  typedef enum
Packit Service b70e42
  {
Packit Service b70e42
    plain_text = 0,
Packit Service b70e42
    italic = 1,
Packit Service b70e42
    underline = 2,
Packit Service b70e42
    bold = 4,
Packit Service b70e42
    computer_braille = 8
Packit Service b70e42
  } typeforms;
Packit Service b70e42
#define comp_emph_1 italic
Packit Service b70e42
#define comp_emph_2 underline
Packit Service b70e42
#define comp_emph_3 bold
Packit Service b70e42
Packit Service b70e42
  typedef enum
Packit Service b70e42
  {
Packit Service b70e42
    noContractions = 1,
Packit Service b70e42
    compbrlAtCursor = 2,
Packit Service b70e42
    dotsIO = 4,
Packit Service b70e42
    comp8Dots = 8,
Packit Service b70e42
    pass1Only = 16,
Packit Service b70e42
    compbrlLeftCursor = 32,
Packit Service b70e42
    otherTrans = 64,
Packit Service b70e42
    ucBrl = 128
Packit Service b70e42
  } translationModes;
Packit Service b70e42
Packit Service b70e42
  char *EXPORT_CALL lou_version ();
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_charSize ();
Packit Service b70e42
Packit Service b70e42
/* Return the size of widechar */
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_translateString
Packit Service b70e42
    (const char *tableList,
Packit Service b70e42
     const widechar * inbuf,
Packit Service b70e42
     int *inlen,
Packit Service b70e42
     widechar * outbuf, int *outlen, formtype *typeform, char *spacing, 
Packit Service b70e42
     int 
Packit Service b70e42
mode);
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_translate (const char *tableList, const widechar
Packit Service b70e42
				 * inbuf,
Packit Service b70e42
				 int *inlen, widechar * outbuf, int *outlen,
Packit Service b70e42
				 formtype *typeform, char *spacing,
Packit Service b70e42
				 int *outputPos, int *inputPos,
Packit Service b70e42
				 int *cursorPos, int mode);
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_translatePrehyphenated (const char *tableList,
Packit Service b70e42
					      const widechar * inbuf,
Packit Service b70e42
					      int *inlen, widechar * outbuf,
Packit Service b70e42
					      int *outlen, formtype 
Packit Service b70e42
					      *typeform,
Packit Service b70e42
					      char *spacing, int *outputPos,
Packit Service b70e42
					      int *inputPos, int *cursorPos,
Packit Service b70e42
					      char *inputHyphens,
Packit Service b70e42
					      char *outputHyphens, int mode);
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_hyphenate (const char *tableList, const widechar
Packit Service b70e42
				 * inbuf, int inlen, char *hyphens, int mode);
Packit Service b70e42
  int EXPORT_CALL lou_dotsToChar (const char *tableList, widechar * inbuf,
Packit Service b70e42
				  widechar * outbuf, int length, int mode);
Packit Service b70e42
  int EXPORT_CALL lou_charToDots (const char *tableList, const widechar
Packit Service b70e42
				  * inbuf,
Packit Service b70e42
				  widechar * outbuf, int length, int mode);
Packit Service b70e42
  int EXPORT_CALL lou_backTranslateString (const char *tableList,
Packit Service b70e42
					   const widechar * inbuf,
Packit Service b70e42
					   int *inlen,
Packit Service b70e42
					   widechar * outbuf,
Packit Service b70e42
					   int *outlen, formtype 
Packit Service b70e42
					   *typeform, char
Packit Service b70e42
					   *spacing, int mode);
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_backTranslate (const char *tableList, const widechar
Packit Service b70e42
				     * inbuf,
Packit Service b70e42
				     int *inlen, widechar * outbuf,
Packit Service b70e42
				     int *outlen, formtype *typeform,
Packit Service b70e42
				     char *spacing, int *outputPos,
Packit Service b70e42
				     int *inputPos, int *cursorPos, int mode);
Packit Service b70e42
  void EXPORT_CALL lou_logPrint (const char *format, ...);
Packit Service b70e42
/* Prints error messages to a file
Packit Service b70e42
   @deprecated As of 2.6.0, applications using liblouis should implement
Packit Service b70e42
               their own logging system. */
Packit Service b70e42
Packit Service b70e42
  void EXPORT_CALL lou_logFile (const char *filename);
Packit Service b70e42
/* Specifies the name of the file to be used by lou_logPrint. If it is 
Packit Service b70e42
* not used, this file is stderr*/
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_readCharFromFile (const char *fileName, int *mode);
Packit Service b70e42
/*Read a character from a file, whether big-encian, little-endian or 
Packit Service b70e42
* ASCII8, and return it as an integer. EOF at end of file. Mode = 1 on 
Packit Service b70e42
* first call, any other value thereafter*/
Packit Service b70e42
Packit Service b70e42
  void EXPORT_CALL lou_logEnd ();
Packit Service b70e42
  /* Closes the log file so it can be read by other functions. */
Packit Service b70e42
Packit Service b70e42
  void *EXPORT_CALL lou_getTable (const char *tableList);
Packit Service b70e42
/* This function checks a table for errors. If none are found it loads 
Packit Service b70e42
* the table into memory and returns a pointer to it. if errors are found 
Packit Service b70e42
* it returns a null pointer. It is called by lou_translateString and 
Packit Service b70e42
* lou_backTranslateString and also by functions in liblouisxml
Packit Service b70e42
*/
Packit Service b70e42
Packit Service b70e42
void EXPORT_CALL lou_registerTableResolver (char ** (* resolver) (const char *table, const char *base));
Packit Service b70e42
/* Register a new table resolver. Overrides the default resolver. */
Packit Service b70e42
Packit Service b70e42
  int EXPORT_CALL lou_compileString (const char *tableList, const char
Packit Service b70e42
				     *inString);
Packit Service b70e42
  char *EXPORT_CALL lou_setDataPath (char *path);
Packit Service b70e42
  /* Set the path used for searching for tables and liblouisutdml files. 
Packit Service b70e42
   * Overrides the installation path. */
Packit Service b70e42
Packit Service b70e42
  char *EXPORT_CALL lou_getDataPath ();
Packit Service b70e42
  /* Get the path set in the previous function. */
Packit Service b70e42
Packit Service b70e42
//  char EXPORT_CALL * lou_getTablePaths ();
Packit Service b70e42
  /* Get a list of paths actually used in seraching for tables */
Packit Service b70e42
Packit Service b70e42
typedef void (*logcallback)(int level, const char *message);
Packit Service b70e42
  void EXPORT_CALL lou_registerLogCallback(logcallback callback);
Packit Service b70e42
/* Register logging callbacks
Packit Service b70e42
 * Set to NULL for default callback.
Packit Service b70e42
 */
Packit Service b70e42
Packit Service b70e42
  typedef enum
Packit Service b70e42
  {
Packit Service b70e42
    LOG_ALL = -2147483648,
Packit Service b70e42
    LOG_DEBUG = 10000,
Packit Service b70e42
    LOG_INFO = 20000,
Packit Service b70e42
    LOG_WARN = 30000,
Packit Service b70e42
    LOG_ERROR = 40000,
Packit Service b70e42
    LOG_FATAL = 50000,
Packit Service b70e42
    LOG_OFF = 2147483647
Packit Service b70e42
  } logLevels;
Packit Service b70e42
  void EXPORT_CALL lou_setLogLevel(logLevels level);
Packit Service b70e42
/* Set the level for logging callback to be called at */
Packit Service b70e42
  void EXPORT_CALL lou_free ();
Packit Service b70e42
/* This function should be called at the end of 
Packit Service b70e42
* the application to free all memory allocated by liblouis. */
Packit Service b70e42
Packit Service b70e42
#ifdef __cplusplus
Packit Service b70e42
}
Packit Service b70e42
#endif				/* __cplusplus */
Packit Service b70e42
#endif				/*LibLOUIS_H_ */