Signal T_SIGNAL struct ev_loop * T_LOOP ev_watcher * T_WATCHER ev_io * T_WATCHER ev_timer * T_WATCHER ev_periodic * T_WATCHER ev_signal * T_WATCHER ev_idle * T_WATCHER ev_prepare * T_WATCHER ev_check * T_WATCHER ev_child * T_WATCHER ev_embed * T_WATCHER ev_stat * T_WATCHER ev_fork * T_WATCHER ev_cleanup * T_WATCHER ev_async * T_WATCHER char * T_PVbyte const char * T_PVbyte INPUT T_SIGNAL if (($var = s_signum_croak ($arg)) <= 0) croak (\"'%s' is not a valid signal number or name\", SvPV_nolen ($arg)); T_PVbyte $var = ($type)SvPVbyte_nolen ($arg) T_LOOP if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg)) && (SvSTASH (SvRV ($arg)) == stash_loop || sv_derived_from ($arg, \"EV::Loop\")))) croak (\"object is not of type EV::Loop\"); $var = ($type)SvIVX (SvRV ($arg)); T_WATCHER if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg)) && (SvSTASH (SvRV ($arg)) == stash_${ \($type =~ /ev_(\S+)/, '' . $1 ) } || sv_derived_from ($arg, \"EV::${ \($type =~ /ev_(\S+)/, ucfirst $1) }\")))) croak (\"object is not of type EV::${ \($type =~ /ev_(\S+)/, ucfirst $1) }\"); $var = ($type)SvPVX (SvRV ($arg)); OUTPUT T_PVbyte sv_setpv ((SV *)$arg, $var); T_WATCHER $arg = e_bless ((struct ev_watcher *)$var, stash_${ \($type =~ /ev_(\S+)/, "$1") });