TYPEMAP
off_t				T_UV
string				T_STRING
Configuration *			T_CONFIG
Configuration_Item *		T_CONFIG_ITEM
Configuration_Item const *	T_CONFIG_ITEM
pkgSystem *			T_PKG_SYSTEM
pkgVersioningSystem *		T_PKG_VER_SYSTEM
pkgCacheFile *			T_PKG_CACHE_FILE
pkgCache_PkgIterator_p *	T_PKG_CACHE_PKG_ITERATOR
pkgCache_VerIterator_p *	T_PKG_CACHE_VER_ITERATOR
pkgCache_DepIterator_p *	T_PKG_CACHE_DEP_ITERATOR
pkgCache_PrvIterator_p *	T_PKG_CACHE_PRV_ITERATOR
pkgCache_DescIterator_p *	T_PKG_CACHE_DESC_ITERATOR
pkgCache_PkgFileIterator_p *	T_PKG_CACHE_PKG_FILE_ITERATOR
pkgCache_VerFileIterator_p *	T_PKG_CACHE_VER_FILE_ITERATOR
pkgCache_DescFileIterator_p *	T_PKG_CACHE_DESC_FILE_ITERATOR
pkgRecords_p *			T_PKG_RECORDS
pkgPolicy_p *			T_PKG_POLICY
pkgSourceList *			T_PKG_SOURCE_LIST
pkgSrcRecords *			T_PKG_SRC_RECORDS

OUTPUT
T_STRING
	if ($var.length())
	    sv_setpv($arg, $var.c_str());
	else
	    $arg = &PL_sv_undef;

T_CONFIG
	sv_setref_pv($arg, "AptPkg::_config", (void *) $var);

T_CONFIG_ITEM
	if ($var)
	    sv_setref_pv($arg, "AptPkg::Config::_item", (void *) $var);
	else
	    $arg = &PL_sv_undef;

T_PKG_SYSTEM
	sv_setref_pv($arg, "AptPkg::System", (void *) $var);

T_PKG_VER_SYSTEM
	sv_setref_pv($arg, "AptPkg::Version", (void *) $var);

T_PKG_CACHE_FILE
	sv_setref_pv($arg, "AptPkg::_cache", (void *) $var);

T_PKG_CACHE_PKG_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_package", (void *) $var);

T_PKG_CACHE_DEP_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_depends", (void *) $var);

T_PKG_CACHE_VER_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_version", (void *) $var);

T_PKG_CACHE_PRV_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_provides", (void *) $var);

T_PKG_CACHE_DESC_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_description", (void *) $var);

T_PKG_CACHE_PKG_FILE_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_pkg_file", (void *) $var);

T_PKG_CACHE_VER_FILE_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_ver_file", (void *) $var);

T_PKG_CACHE_DESC_FILE_ITERATOR
	sv_setref_pv($arg, "AptPkg::Cache::_desc_file", (void *) $var);

T_PKG_RECORDS
	sv_setref_pv($arg, "AptPkg::_pkg_records", (void *) $var);

T_PKG_POLICY
	sv_setref_pv($arg, "AptPkg::_policy", (void *) $var);

T_PKG_SOURCE_LIST
	sv_setref_pv($arg, "AptPkg::_source_list", (void *) $var);

T_PKG_SRC_RECORDS
	sv_setref_pv($arg, "AptPkg::_src_records", (void *) $var);

INPUT
T_STRING
	$var = (char *) SvPV_nolen($arg);

T_CONFIG
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::_config\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::_config\");

T_CONFIG_ITEM
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Config::_item\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Config::_item\");

T_PKG_SYSTEM
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::System\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::System\");

T_PKG_VER_SYSTEM
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Version\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Version\");

T_PKG_CACHE_FILE
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::_cache\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::_cache\");

T_PKG_CACHE_PKG_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_package\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_package\");

T_PKG_CACHE_DEP_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_depends\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_depends\");

T_PKG_CACHE_VER_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_version\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_version\");

T_PKG_CACHE_PRV_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_provides\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_provides\");

T_PKG_CACHE_DESC_ITERATOR
	if (SvROK($arg) &&
	    sv_derived_from($arg, \"AptPkg::Cache::_description\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_description\");

T_PKG_CACHE_PKG_FILE_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_pkg_file\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_pkg_file\");

T_PKG_CACHE_VER_FILE_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_ver_file\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_ver_file\");

T_PKG_CACHE_DESC_FILE_ITERATOR
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::Cache::_desc_file\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::Cache::_desc_file\");

T_PKG_RECORDS
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::_pkg_records\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::_pkg_records\");

T_PKG_POLICY
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::_policy\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::_policy\");

T_PKG_SOURCE_LIST
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::_source_list\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::_src_list\");

T_PKG_SRC_RECORDS
	if (SvROK($arg) && sv_derived_from($arg, \"AptPkg::_src_records\"))
	    $var = ($type) SvIV((SV *) SvRV($arg));
	else
	    croak(\"$var is not of type AptPkg::_src_records\");
