TYPEMAP
const char *                T_PV
pid_t                       T_IV
hwloc_obj_type_t            T_IV
hwloc_topology_t            O_TOPOLOGY
hwloc_obj_t                 O_OBJ

INPUT
O_TOPOLOGY
  if(sv_isobject($arg) && sv_derived_from($arg, \"Sys::Hwloc::Topology\"))
    $var = INT2PTR($type, SvIV((SV*)SvRV($arg)));
  else
    croak(\"${Package}::$func_name() -- $var is not a \\\"Sys::Hwloc::Topology\\\" object\");

O_OBJ
  if(sv_isobject($arg) && sv_derived_from($arg, \"Sys::Hwloc::Obj\"))
    $var = INT2PTR($type, SvIV((SV*)SvRV($arg)));
  else
    croak(\"${Package}::$func_name() -- $var is not a \\\"Sys::Hwloc::Obj\\\" object\");


OUTPUT
O_TOPOLOGY
  sv_setref_pv($arg, "Sys::Hwloc::Topology", (void *)$var);

O_OBJ
  sv_setref_pv($arg, "Sys::Hwloc::Obj", (void *)$var);

