Blame WWW/Library/Implementation/UCAux.h

Packit f574b8
/*
Packit f574b8
 * $LynxId: UCAux.h,v 1.22 2014/12/10 09:48:41 tom Exp $
Packit f574b8
 */
Packit f574b8
#ifndef UCAUX_H
Packit f574b8
#define UCAUX_H
Packit f574b8
Packit f574b8
#ifndef HTUTILS_H
Packit f574b8
#include <HTUtils.h>
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifndef UCDEFS_H
Packit f574b8
#include <UCDefs.h>
Packit f574b8
#endif /* UCDEFS_H */
Packit f574b8
Packit f574b8
#ifndef HTSTREAM_H
Packit f574b8
#include <HTStream.h>
Packit f574b8
#endif /* HTSTREAM_H */
Packit f574b8
Packit f574b8
#ifndef UCMAP_H
Packit f574b8
#include <UCMap.h>
Packit f574b8
#endif /* UCMAP_H */
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
extern "C" {
Packit f574b8
#endif
Packit f574b8
    extern BOOL UCCanUniTranslateFrom(int from);
Packit f574b8
    extern BOOL UCCanTranslateUniTo(int to);
Packit f574b8
    extern BOOL UCCanTranslateFromTo(int from, int to);
Packit f574b8
    extern BOOL UCNeedNotTranslate(int from,
Packit f574b8
				   int to);
Packit f574b8
Packit f574b8
    struct _UCTransParams {
Packit f574b8
	BOOL transp;
Packit f574b8
	BOOL do_cjk;
Packit f574b8
	BOOL decode_utf8;
Packit f574b8
	BOOL output_utf8;
Packit f574b8
	BOOL use_raw_char_in;
Packit f574b8
	BOOL strip_raw_char_in;
Packit f574b8
	BOOL pass_160_173_raw;
Packit f574b8
	BOOL do_8bitraw;
Packit f574b8
	BOOL trans_to_uni;
Packit f574b8
	BOOL trans_C0_to_uni;
Packit f574b8
	BOOL repl_translated_C0;
Packit f574b8
	BOOL trans_from_uni;
Packit f574b8
	int ucs_mode;
Packit f574b8
    };
Packit f574b8
    typedef struct _UCTransParams UCTransParams;
Packit f574b8
Packit f574b8
    typedef struct {
Packit f574b8
	char utf_count;
Packit f574b8
	UCode_t utf_char;
Packit f574b8
	char utf_buf[8];
Packit f574b8
	char *utf_buf_p;
Packit f574b8
    } UTFDecodeState;
Packit f574b8
Packit f574b8
    typedef enum {
Packit f574b8
	dUTF8_ok,
Packit f574b8
	dUTF8_err,
Packit f574b8
	dUTF8_more
Packit f574b8
    } dUTF8;
Packit f574b8
Packit f574b8
    extern dUTF8 HTDecodeUTF8(UTFDecodeState * me, int *c_in_out, UCode_t *result);
Packit f574b8
Packit f574b8
    extern void UCSetTransParams(UCTransParams * pT, int cs_in,
Packit f574b8
				 const LYUCcharset *p_in,
Packit f574b8
				 int cs_out,
Packit f574b8
				 const LYUCcharset *p_out);
Packit f574b8
Packit f574b8
    extern void UCTransParams_clear(UCTransParams * pT);
Packit f574b8
Packit f574b8
    extern void UCSetBoxChars(int cset,
Packit f574b8
			      int *pvert_out,
Packit f574b8
			      int *phori_out,
Packit f574b8
			      int vert_in,
Packit f574b8
			      int hori_in);
Packit f574b8
Packit f574b8
    typedef void putc_func_t (HTStream *me,
Packit f574b8
			      int ch);
Packit f574b8
Packit f574b8
    extern BOOL UCPutUtf8_charstring(HTStream *target,
Packit f574b8
				     putc_func_t *actions,
Packit f574b8
				     UCode_t code);
Packit f574b8
Packit f574b8
    extern BOOL UCConvertUniToUtf8(UCode_t code,
Packit f574b8
				   char *buffer);
Packit f574b8
Packit f574b8
    extern UCode_t UCGetUniFromUtf8String(const char **ppuni);
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
}
Packit f574b8
#endif
Packit f574b8
#endif				/* UCAUX_H */