1# typemap for Perl 5 interface to Berkeley 
2#
3# written by Paul Marquess <Paul.Marquess@btinternet.com>
4# last modified 20th June 2004
5# version 1.809
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    {
19	SV * my_sv = $arg;
20	DBM_ckFilter(my_sv, filter_store_key, \"filter_store_key\");
21	DBT_clear($var) ;
22	SvGETMAGIC(my_sv) ;
23        if (db->type == DB_RECNO) {
24	    if (SvOK(my_sv))
25	        Value = GetRecnoKey(aTHX_ db, SvIV(my_sv)) ; 
26            else
27	        Value = 1 ;
28	    $var.data = & Value; 
29	    $var.size = (int)sizeof(recno_t);
30        }
31        else if (SvOK(my_sv)) {
32	    STRLEN len;
33	    $var.data = SvPVbyte(my_sv, len);
34	    $var.size = (int)len;
35	}
36    }
37T_dbtdatum
38    {
39	SV * my_sv = $arg;
40	DBM_ckFilter(my_sv, filter_store_value, \"filter_store_value\");
41	DBT_clear($var) ;
42	SvGETMAGIC(my_sv) ;
43	if (SvOK(my_sv)) {
44	    STRLEN len;
45	    $var.data = SvPVbyte(my_sv, len);
46	    $var.size = (int)len;
47	}
48    }
49
50OUTPUT
51
52T_dbtkeydatum
53	OutputKey($arg, $var)
54T_dbtdatum
55	OutputValue($arg, $var)
56T_PTROBJ
57        sv_setref_pv($arg, dbtype, (void*)$var);
58