#ifndef ZEND_MULTIBYTE_H
#define ZEND_MULTIBYTE_H
#ifdef ZEND_MULTIBYTE
typedef int (*zend_multibyte_filter)(char **str, int *str_length, const char *buf,
int length TSRMLS_DC);
typedef char* (*zend_encoding_detector)(const char *string, int length, char *list
TSRMLS_DC);
typedef int (*zend_encoding_converter)(char **to, int *to_length, const char *from,
int from_length, const char *encoding_to, const char *encoding_from
TSRMLS_DC);
typedef int (*zend_multibyte_oddlen)(const char *string, int length, const char
*encoding TSRMLS_DC);
typedef struct _zend_encoding {
zend_multibyte_filter input_filter;
zend_multibyte_filter output_filter;
const char *name;
const char *(*aliases)[];
int compatible;
} zend_encoding;
BEGIN_EXTERN_C()
ZEND_API int zend_multibyte_set_script_encoding(char *encoding_list,
int encoding_list_size TSRMLS_DC);
ZEND_API int zend_multibyte_set_internal_encoding(char *encoding_name,
int encoding_name_size TSRMLS_DC);
ZEND_API int zend_multibyte_set_functions(zend_encoding_detector
encoding_detector, zend_encoding_converter encoding_converter,
zend_multibyte_oddlen multibyte_oddlen TSRMLS_DC);
ZEND_API int zend_multibyte_set_filter(zend_encoding *onetime_encoding
TSRMLS_DC);
ZEND_API zend_encoding* zend_multibyte_fetch_encoding(char *encoding_name);
ZEND_API int zend_multibyte_encoding_filter(char **to, int *to_length, const char
*from, int from_length TSRMLS_DC);
ZEND_API void zend_yyinput_again(zend_multibyte_filter old_input_filter,
zend_encoding *old_encoding TSRMLS_DC);
ZEND_API int zend_read_file(TSRMLS_D);
int sjis_input_filter(char **buf, int *length, const char *sjis, int sjis_length
TSRMLS_DC);
int sjis_output_filter(char **sjis, int *sjis_length, const char *buf, int length
TSRMLS_DC);
END_EXTERN_C()
#endif
#endif