# this file contains a hash reference $class_map, which maps $ntype of C type 
# to class name of Perl objects. This will be eval()-ed by xsubpp.
#
# XXX: DO NOT use $class or other variables used in xsubpp, or there will be
# trouble with xsubpp v1.9508 as in RHEL5.3

$class_map = {
	"slurm_t" 			=> "Slurm",
	"bitstr_tPtr"		 	=> "Slurm::Bitstr",
	"hostlist_t" 			=> "Slurm::Hostlist",
	"slurm_step_ctx_tPtr" 		=> "Slurm::Stepctx",
	"List" 				=> "Slurm::List",
	"ListIterator"			=> "Slurm::ListIterator",

	"dynamic_plugin_data_tPtr"	=> "Slurm::dynamic_plugin_data_t",
	"job_resources_tPtr"		=> "Slurm::job_resources_t",
	"slurm_cred_tPtr"               => "Slurm::slurm_cred_t",
	"switch_jobinfo_tPtr"           => "Slurm::switch_jobinfo_t",
	"select_jobinfo_tPtr"           => "Slurm::select_jobinfo_t",
	"select_nodeinfo_tPtr"          => "Slurm::select_nodeinfo_t",
	"jobacctinfo_tPtr"              => "Slurm::jobacctinfo_t",
	"allocation_msg_thread_tPtr"       => "Slurm::allocation_msg_thread_t",
	"node_info_msg_tPtr"		=> "Slurm::node_info_msg_t",
	"job_info_msg_tPtr"		=> "Slurm::job_info_msg_t",
};
