This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Allow dup'ing of PerlIO::Scalar etc.
[perl5.git] / ext / DB_File / typemap
... / ...
CommitLineData
1# typemap for Perl 5 interface to Berkeley
2#
3# written by Paul Marquess <Paul.Marquess@btinternet.com>
4# last modified 10th December 2000
5# version 1.74
6#
7#################################### DB SECTION
8#
9#
10
11u_int T_U_INT
12DB_File T_PTROBJ
13DBT T_dbtdatum
14DBTKEY T_dbtkeydatum
15
16INPUT
17T_dbtkeydatum
18 ckFilter($arg, filter_store_key, \"filter_store_key\");
19 DBT_clear($var) ;
20 if (db->type != DB_RECNO) {
21 $var.data = SvPV($arg, PL_na);
22 $var.size = (int)PL_na;
23 }
24 else {
25 Value = GetRecnoKey(aTHX_ db, SvIV($arg)) ;
26 $var.data = & Value;
27 $var.size = (int)sizeof(recno_t);
28 }
29T_dbtdatum
30 ckFilter($arg, filter_store_value, \"filter_store_value\");
31 DBT_clear($var) ;
32 if (SvOK($arg)) {
33 $var.data = SvPV($arg, PL_na);
34 $var.size = (int)PL_na;
35 }
36
37OUTPUT
38
39T_dbtkeydatum
40 OutputKey($arg, $var)
41T_dbtdatum
42 OutputValue($arg, $var)
43T_PTROBJ
44 sv_setref_pv($arg, dbtype, (void*)$var);