diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /src/perl/PMDA/typemap | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'src/perl/PMDA/typemap')
-rw-r--r-- | src/perl/PMDA/typemap | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/perl/PMDA/typemap b/src/perl/PMDA/typemap new file mode 100644 index 0000000..5846f97 --- /dev/null +++ b/src/perl/PMDA/typemap @@ -0,0 +1,27 @@ +###################################################################### +# INPUT/OUTPUT maps +# O_OBJECT -> links an opaque C object to a blessed Perl object. +# +TYPEMAP +pmdaInterface * O_OBJECT +pmdaInstid * T_PTROBJ + +###################################################################### +OUTPUT + +O_OBJECT + sv_setref_pv( $arg, CLASS, (void*)$var ); + + +###################################################################### +INPUT + +O_OBJECT + if (sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG)) + $var = ($type)SvIV((SV *)SvRV($arg)); + else { + warn(\"${Package}::$func_name() -- $var is not a blessed SV reference\"); + XSRETURN_UNDEF; + } + +###################################################################### |