1 /* ---------------------------------------------------------------------------- 2 * xs_compat.h 3 * ---------------------------------------------------------------------------- 4 * Mastering programmed by YAMASHINA Hio 5 * 6 * Copyright 2008 YAMASHINA Hio 7 * ---------------------------------------------------------------------------- 8 * $Id$ 9 * ------------------------------------------------------------------------- */ 10 #ifndef UNIJP_XS_COMPAT_H 11 #define UNIJP_XS_COMPAT_H 12 13 extern uj_conv_t* _uj_conv_new_strn(const uj_alloc_t* alloc, const char* str, uj_size_t len); 14 extern uj_conv_t* _uj_conv_clone(const uj_conv_t* conv); 15 16 extern const uj_conv_t _uj_xs_conv_undef; 17 extern uj_size_t _uj_xs_PL_na; 18 extern void _uj_xs_SV_Buf_append_ch(uj_conv_t* conv, int ch); 19 extern void _uj_xs_SV_Buf_append_ch2(uj_conv_t* conv, int ch); 20 extern void _uj_xs_SV_Buf_append_ch3(uj_conv_t* conv, int ch); 21 extern void _uj_xs_SV_Buf_append_ch4(uj_conv_t* conv, int ch); 22 extern void _uj_xs_SV_Buf_append_mem(uj_conv_t* conv, const uj_uint8* s, int len); 23 extern void _uj_xs_SV_Buf_append_entityref(uj_conv_t* conv, int ch); 24 extern uj_conv_t* _uj_xs_SV_Buf_getSv(const uj_conv_t* conv); 25 26 27 #define UNICODE__JAPANESE_H__ 28 29 #ifndef EXTERN_C 30 #ifdef __cplusplus 31 #define extern "C" 32 #else 33 #define EXTERN_C 34 #endif 35 #endif 36 37 #define STRLEN uj_size_t 38 39 #define UJ_UINT32 uj_uint32 40 #define UJ_UINT16 uj_uint16 41 #define UJ_UINT8 uj_uint8 42 43 #define SV uj_conv_t 44 #define SV_Buf uj_conv_t 45 #define SV_Buf_init(p_var, len) (\ 46 (p_var)->alloc = (sv_str)->alloc, \ 47 (p_var)->buf = _uj_alloc((sv_str)->alloc,len), \ 48 (p_var)->buf_len = 0, \ 49 (p_var)->buf_bufsize = (len) \ 50 ) 51 52 #define PL_sv_undef (_uj_xs_conv_undef) 53 #define newSVpvn(str, len) _uj_conv_new_strn(_uj_default_alloc,str,len) 54 #define newSVsv(p_var) _uj_conv_clone(p_var) 55 56 #define SvPV(var,len) ((len)=(var)->buf_len,(var)->buf) 57 #define sv_len(var) ((var)->buf_len) 58 #define SvGMAGICAL(sv) (0) 59 #define mg_get(sv) ((void)0) 60 #define SvOK(sv) ((sv) != &PL_sv_undef) 61 62 #define PL_na _uj_xs_PL_na 63 #define SV_Buf_append_ch(p_var,ch) _uj_xs_SV_Buf_append_ch(p_var, ch) 64 #define SV_Buf_append_ch2(p_var,ch) _uj_xs_SV_Buf_append_ch2(p_var, ch) 65 #define SV_Buf_append_ch3(p_var,ch) _uj_xs_SV_Buf_append_ch3(p_var, ch) 66 #define SV_Buf_append_ch4(p_var,ch) _uj_xs_SV_Buf_append_ch4(p_var, ch) 67 #define SV_Buf_append_mem(p_var,ptr,len) _uj_xs_SV_Buf_append_mem(p_var, ptr, len) 68 #define SV_Buf_append_entityref(p_var,ch) _uj_xs_SV_Buf_append_entityref(p_var, ch) 69 #define SV_Buf_setLength(p_var) ((void)0) 70 #define SV_Buf_getSv(p_var) (*__out=*p_var,__out) 71 72 #endif /* !defined(UNIJP_XS_COMPAT_H) */ 73 /* ---------------------------------------------------------------------------- 74 * End of File. 75 * ------------------------------------------------------------------------- */ 76