⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typemap

📁 关于Berkelay数据库的共享源码
💻
字号:
# typemap for Perl 5 interface to Berkeley DB version 2 & 3## SCCS: %I%, %G%     ## written by Paul Marquess <pmqs@cpan.org>##################################### DB SECTION## SVnull*         T_SV_NULLvoid *			T_PVu_int			T_U_INTu_int32_t		T_U_INTdb_timeout_t	T_U_INTconst char * 		T_PV_NULLPV_or_NULL		T_PV_NULLIO_or_NULL		T_IO_NULLAV *			T_AVBerkeleyDB		T_PTROBJBerkeleyDB::Common	T_PTROBJ_AVBerkeleyDB::Hash	T_PTROBJ_AVBerkeleyDB::Btree	T_PTROBJ_AVBerkeleyDB::Recno	T_PTROBJ_AVBerkeleyDB::Queue	T_PTROBJ_AVBerkeleyDB::Cursor	T_PTROBJ_AVBerkeleyDB::TxnMgr	T_PTROBJ_AVBerkeleyDB::Txn		T_PTROBJ_AVBerkeleyDB::Log		T_PTROBJ_AVBerkeleyDB::Lock	T_PTROBJ_AVBerkeleyDB::Env		T_PTROBJ_AVBerkeleyDB::Raw		T_RAWBerkeleyDB::Common::Raw	T_RAWBerkeleyDB::Hash::Raw	T_RAWBerkeleyDB::Btree::Raw	T_RAWBerkeleyDB::Recno::Raw	T_RAWBerkeleyDB::Queue::Raw	T_RAWBerkeleyDB::Cursor::Raw	T_RAWBerkeleyDB::TxnMgr::Raw	T_RAWBerkeleyDB::Txn::Raw	T_RAWBerkeleyDB::Log::Raw	T_RAWBerkeleyDB::Lock::Raw	T_RAWBerkeleyDB::Env::Raw	T_RAWBerkeleyDB::Env::Inner	T_INNERBerkeleyDB::Common::Inner	T_INNERBerkeleyDB::Txn::Inner	T_INNERBerkeleyDB::TxnMgr::Inner	T_INNER# BerkeleyDB__Env 	T_PTRDBT			T_dbtdatumDBT_OPT			T_dbtdatum_optDBT_B			T_dbtdatum_btreeDBTKEY			T_dbtkeydatumDBTKEY_B		T_dbtkeydatum_btreeDBTKEY_Br		T_dbtkeydatum_btree_rDBTKEY_Bpr		T_dbtkeydatum_btree_prDBTYPE			T_U_INTDualType		T_DUALBerkeleyDB_type *	T_IVBerkeleyDB_ENV_type *	T_IVBerkeleyDB_TxnMgr_type * T_IVBerkeleyDB_Txn_type *	T_IVBerkeleyDB__Cursor_type * T_IVDB *			T_IVDB_ENV *		T_IVINPUTT_AV	if (SvROK($arg) && SvTYPE(SvRV($arg)) == SVt_PVAV)        /* if (sv_isa($arg, \"${ntype}\")) */            $var = (AV*)SvRV($arg);        else            croak(\"$var is not an array reference\")T_RAW        $var = INT2PTR($type,SvIV($arg)T_U_INT        $var = SvUV($arg)T_SV_REF_NULL	if ($arg == &PL_sv_undef)	    $var = NULL ;        else if (sv_derived_from($arg, \"${ntype}\")) {            IV tmp = SvIV((SV *)GetInternalObject($arg));            $var =  INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_SV_NULL	if ($arg == NULL || $arg == &PL_sv_undef)	    $var = NULL ;	else	    $var = $arg ;T_HV_REF_NULL	if ($arg == &PL_sv_undef)	    $var = NULL ;        else if (sv_derived_from($arg, \"${ntype}\")) {            HV * hv = (HV *)GetInternalObject($arg);            SV ** svp = hv_fetch(hv, \"db\", 2, FALSE);            IV tmp = SvIV(*svp);            $var =  INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_HV_REF        if (sv_derived_from($arg, \"${ntype}\")) {            HV * hv = (HV *)GetInternalObject($arg);            SV ** svp = hv_fetch(hv, \"db\", 2, FALSE);            IV tmp = SvIV(*svp);            $var =  INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_P_REF        if (sv_derived_from($arg, \"${ntype}\")) {            IV tmp = SvIV((SV*)SvRV($arg));            $var = INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_INNER	{	    HV * hv = (HV *)SvRV($arg);            SV ** svp = hv_fetch(hv, \"db\", 2, FALSE);            IV tmp = SvIV(*svp);            $var =  INT2PTR($type, tmp);	}T_PV_NULL	if ($arg == &PL_sv_undef)	    $var = NULL ;	else {            $var = ($type)SvPV($arg,PL_na) ;	    if (PL_na == 0)		$var = NULL ;	}T_IO_NULL	if ($arg == &PL_sv_undef)	    $var = NULL ; 	else             $var = IoOFP(sv_2io($arg))T_PTROBJ_NULL	if ($arg == &PL_sv_undef)	    $var = NULL ;        else if (sv_derived_from($arg, \"${ntype}\")) {            IV tmp = SvIV((SV*)SvRV($arg));            $var = INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_PTROBJ_SELF	if ($arg == &PL_sv_undef)	    $var = NULL ;        else if (sv_derived_from($arg, \"${ntype}\")) {            IV tmp = SvIV((SV*)SvRV($arg));            $var = INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_PTROBJ_AV        if ($arg == &PL_sv_undef || $arg == NULL)            $var = NULL ;        else if (sv_derived_from($arg, \"${ntype}\")) {            IV tmp = SvIV(getInnerObject($arg)) ;            $var = INT2PTR($type, tmp);        }        else            croak(\"$var is not of type ${ntype}\")T_dbtkeydatum	{	    SV* my_sv = $arg ;	    DBM_ckFilter(my_sv, filter_store_key, \"filter_store_key\");	    DBT_clear($var) ;            SvGETMAGIC($arg) ;	    if (db->recno_or_queue) {	        Value = GetRecnoKey(db, SvIV(my_sv)) ; 	        $var.data = & Value; 	        $var.size = (int)sizeof(db_recno_t);	    }	    else {	        $var.data = SvPV(my_sv, PL_na);	        $var.size = (int)PL_na;	    }	}T_dbtkeydatum_btree	{	    SV* my_sv = $arg ;	    DBM_ckFilter(my_sv, filter_store_key, \"filter_store_key\");	    DBT_clear($var) ;            SvGETMAGIC($arg) ;	    if (db->recno_or_queue ||		    (db->type == DB_BTREE && flagSet(DB_SET_RECNO))) {	        Value = GetRecnoKey(db, SvIV(my_sv)) ; 	        $var.data = & Value; 	        $var.size = (int)sizeof(db_recno_t);	    }	    else {	        $var.data = SvPV(my_sv, PL_na);	        $var.size = (int)PL_na;	    }	}T_dbtkeydatum_btree_r	{	    SV* my_sv = $arg ;	    DBM_ckFilter(my_sv, filter_store_key, \"filter_store_key\");	    DBT_clear($var) ;            SvGETMAGIC($arg) ;	    if (db->recno_or_queue || 		    (db->type == DB_BTREE && flagSet(DB_SET_RECNO))) {	        Value = GetRecnoKey(db, SvIV(my_sv)) ; 	        $var.data = & Value; 	        $var.size = (int)sizeof(db_recno_t);	    }	    else {	        $var.data = SvPV(my_sv, PL_na);	        $var.size = (int)PL_na;	    }	}T_dbtkeydatum_btree_pr	{	    SV* my_sv = $arg ;	    DBM_ckFilter(my_sv, filter_store_key, \"filter_store_key\");	    DBT_clear($var) ;            SvGETMAGIC($arg) ;	    if (db->recno_or_queue || 		    (db->type == DB_BTREE && flagSet(DB_SET_RECNO))) {	        Value = GetRecnoKey(db, SvIV(my_sv)) ; 	        $var.data = & Value; 	        $var.size = (int)sizeof(db_recno_t);	    }	    else {	        $var.data = SvPV(my_sv, PL_na);	        $var.size = (int)PL_na;	    }	}T_dbtdatum	{	    SV* my_sv = $arg ;	    DBM_ckFilter(my_sv, filter_store_value, \"filter_store_value\");	    DBT_clear($var) ;            SvGETMAGIC($arg) ;	    $var.data = SvPV(my_sv, PL_na);	    $var.size = (int)PL_na;  	    $var.flags = db->partial ;    	    $var.dlen  = db->dlen ;	    $var.doff  = db->doff ;	}	T_dbtdatum_opt	DBT_clear($var) ;	if (flagSet(DB_GET_BOTH)|| flagSet(DB_GET_BOTH)) {	   SV* my_sv = $arg ;	   DBM_ckFilter(my_sv, filter_store_value, \"filter_store_value\");           SvGETMAGIC($arg) ;	   $var.data = SvPV(my_sv, PL_na);	   $var.size = (int)PL_na;  	   $var.flags = db->partial ;    	   $var.dlen  = db->dlen ;	   $var.doff  = db->doff ;	}	T_dbtdatum_btree	DBT_clear($var) ;	if (flagSet(DB_GET_BOTH)|| flagSet(DB_GET_BOTH)) {	    SV* my_sv = $arg ;	    DBM_ckFilter(my_sv, filter_store_value, \"filter_store_value\");            SvGETMAGIC($arg) ;	    $var.data = SvPV(my_sv, PL_na);	    $var.size = (int)PL_na;  	    $var.flags = db->partial ;    	    $var.dlen  = db->dlen ;	    $var.doff  = db->doff ;	}	OUTPUTT_SV_NULL        $arg = $var;T_RAW        sv_setiv($arg, PTR2IV($var));T_SV_REF_NULL	sv_setiv($arg, PTR2IV($var));T_HV_REF_NULL	sv_setiv($arg, PTR2IV($var));T_HV_REF	sv_setiv($arg, PTR2IV($var));T_P_REF	sv_setiv($arg, PTR2IV($var));T_DUAL	setDUALerrno($arg, $var) ;T_U_INT        sv_setuv($arg, (UV)$var);T_PV_NULL        sv_setpv((SV*)$arg, $var);T_dbtkeydatum_btree	OutputKey_B($arg, $var)T_dbtkeydatum_btree_r	OutputKey_Br($arg, $var)T_dbtkeydatum_btree_pr	OutputKey_Bpr($arg, $var)T_dbtkeydatum	OutputKey($arg, $var)T_dbtdatum	OutputValue($arg, $var)T_dbtdatum_opt	OutputValue($arg, $var)T_dbtdatum_btree	OutputValue_B($arg, $var)T_PTROBJ_NULL        sv_setref_pv($arg, \"${ntype}\", (void*)$var);T_PTROBJ_SELF        sv_setref_pv($arg, self, (void*)$var);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -