#include #include #include #define U8 U8 #include "encode.h" #include "CNS11643_t.h" #include "Unisys_t.h" #include "GB18030_t.h" #include "EUC_TW_t.h" #include "CCCII_t.h" #include "Big5_t.h" static void Encode_XSEncoding(pTHX_ encode_t *enc) { dSP; HV *stash = gv_stashpv("Encode::XS", TRUE); SV *sv = sv_bless(newRV_noinc(newSViv(PTR2IV(enc))),stash); int i = 0; PUSHMARK(sp); XPUSHs(sv); while (enc->name[i]) { const char *name = enc->name[i++]; XPUSHs(sv_2mortal(newSVpvn(name,strlen(name)))); } PUTBACK; call_pv("Encode::define_encoding",G_DISCARD); SvREFCNT_dec(sv); } MODULE = Encode::HanExtra PACKAGE = Encode::HanExtra PROTOTYPES: DISABLE BOOT: { #include "CNS11643_t.exh" #include "Unisys_t.exh" #include "GB18030_t.exh" #include "EUC_TW_t.exh" #include "CCCII_t.exh" #include "Big5_t.exh" }