#include #include #include #include #include #include #include "owl.h" #include #include "XSUB.h" static const char fileIdent[] = "$Id$"; extern char *owl_perlwrap_codebuff; extern XS(boot_owl); static void owl_perl_xs_init(pTHX) { char *file = __FILE__; dXSUB_SYS; { newXS("owl::bootstrap", boot_owl, file); } } SV *owl_perlconfig_message2hashref(owl_message *m) /*noproto*/ { HV *h; SV *hr; char *ptr, *blessas; int i, j; if (!m) return &PL_sv_undef; h = newHV(); #define MSG2H(h,field) hv_store(h, #field, strlen(#field), \ newSVpv(owl_message_get_##field(m),0), 0) if (owl_message_is_type_zephyr(m) && owl_message_is_direction_in(m)) { /* Handle zephyr-specific fields... */ AV *av_zfields; av_zfields = newAV(); j=owl_zephyr_get_num_fields(owl_message_get_notice(m)); for (i=0; i