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") });