--- TokyoDystopia.xs 2008/08/17 23:57:02 11 +++ TokyoDystopia.xs 2008/08/18 17:45:56 17 @@ -99,3 +99,45 @@ OUTPUT: RETVAL + +int +tcidbput(idb, id, val) + void * idb + int id + SV * val +PREINIT: + STRLEN vsiz; + const char *vbuf; +CODE: + vbuf = SvPV(val, vsiz); + RETVAL = tcidbput(idb, id, vbuf); +OUTPUT: + RETVAL + + +int +tcidbout(idb, id) + void * idb + int id +CODE: + RETVAL = tcidbout(idb, id); +OUTPUT: + RETVAL + + +void +tcidbget(idb, id) + void * idb + int id +PREINIT: + char *vbuf; +PPCODE: + vbuf = tcidbget(idb, id); + if(vbuf){ + XPUSHs(sv_2mortal(newSVpvn(vbuf, strlen(vbuf)))); + tcfree(vbuf); + } else { + XPUSHs((SV *)&PL_sv_undef); + } + XSRETURN(1); +