/*Disclaimer: This is a machine generated file.*/
/*For modifying any attribute change corresponding XML file */

   #include <pbs_config.h>
	#include <sys/types.h>
	#include <stdlib.h>
	#include <ctype.h>
	#include "server_limits.h"
	#include "pbs_ifl.h"
	#include <string.h>
	#include "list_link.h"
	#include "attribute.h"
	#include "resource.h"
	#include "pbs_error.h"
	#include "pbs_nodes.h"

	attribute_def node_attr_def[] = {

	{
		ATTR_NODE_Mom,
		
#ifndef PBS_MOM
      decode_Mom_list
#else
      decode_null
#endif
      ,
		encode_arst,
		set_arst_uniq,
		comp_arst,
		free_arst,
		
#ifndef PBS_MOM
      set_node_host_name
#else
      NULL_FUNC
#endif
      ,
		MGR_ONLY_SET,
		ATR_TYPE_ARST,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_Port,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		
#ifndef PBS_MOM
      set_node_mom_port
#else
      NULL_FUNC
#endif
      ,
		ATR_DFLAG_OPRD | ATR_DFLAG_MGRD | ATR_DFLAG_OPWR | ATR_DFLAG_MGWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_version,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_OPRD | ATR_DFLAG_MGRD | ATR_DFLAG_SvWR,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_ntype,
		decode_ntype,
		encode_ntype,
		set_node_ntype,
		comp_null,
		free_null,
		node_ntype,
		READ_ONLY | ATR_DFLAG_NOSAVM,
		ATR_TYPE_SHORT,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_state,
		decode_state,
		encode_state,
		set_node_state,
		comp_null,
		free_null,
		
#ifndef PBS_MOM
#ifndef PBS_PYTHON
      node_state
#else
      NULL_FUNC
#endif
#else
      NULL_FUNC
#endif
      ,
		NO_USER_SET | ATR_DFLAG_NOSAVM,
		ATR_TYPE_SHORT,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_pcpus,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		
#ifndef PBS_MOM
      node_pcpu_action
#else
      NULL_FUNC
#endif
      ,
		READ_ONLY | ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_p,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		NO_USER_SET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_jobs,
		decode_null,
		encode_jobs,
		set_null,
		comp_null,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_RDACC | ATR_DFLAG_NOSAVM,
		ATR_TYPE_JINFOP,
		PARENT_TYPE_NODE
	},
	{
		ATTR_maxrun,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		NO_USER_SET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_maxuserrun,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		NO_USER_SET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_maxgrprun,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		NO_USER_SET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_No_Tasks,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		NO_USER_SET,
		ATR_TYPE_BOOL,
		PARENT_TYPE_NODE
	},
	{
		ATTR_PNames,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		MGR_ONLY_SET,
		ATR_TYPE_ARST,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_resvs,
		decode_null,
		encode_resvs,
		set_null,
		comp_null,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_RDACC | ATR_DFLAG_NOSAVM,
		ATR_TYPE_JINFOP,
		PARENT_TYPE_NODE
	},
	{
		ATTR_rescavail,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		
#ifndef PBS_MOM
      node_np_action
#else
      NULL_FUNC
#endif
      ,
		NO_USER_SET,
		ATR_TYPE_RESC,
		PARENT_TYPE_NODE
	},
	{
		ATTR_rescassn,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_NOSAVM,
		ATR_TYPE_RESC,
		PARENT_TYPE_NODE
	},
	{
		ATTR_queue,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
      node_queue_action
#else
      NULL_FUNC
#endif
      ,
		MGR_ONLY_SET,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_comment,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
      node_comment
#else
      NULL_FUNC
#endif
      ,
		NO_USER_SET | ATR_DFLAG_NOSAVM,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_resv_enable,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		MGR_ONLY_SET | ATR_DFLAG_SSET,
		ATR_TYPE_BOOL,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_NoMultiNode,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		MGR_ONLY_SET,
		ATR_TYPE_BOOL,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_Sharing,
		decode_sharing,
		encode_sharing,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_ProvisionEnable,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		
#ifndef PBS_MOM
      node_prov_enable_action
#else
      NULL_FUNC
#endif
      ,
		MGR_ONLY_SET | ATR_DFLAG_SSET,
		ATR_TYPE_BOOL,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_current_aoe,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
      node_current_aoe_action
#else
      NULL_FUNC
#endif
      ,
		MGR_ONLY_SET | ATR_DFLAG_SSET,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_in_multivnode_host,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MGWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_MaintJobs,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		ATR_DFLAG_SvWR | ATR_DFLAG_MGRD,
		ATR_TYPE_ARST,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_License,
		decode_c,
		encode_c,
		set_c,
		comp_c,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_CHAR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_LicenseInfo,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_TopologyInfo,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
      set_node_topology
#else
      NULL_FUNC
#endif
      ,
		ATR_DFLAG_SSET | ATR_DFLAG_NOSAVM,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_VnodePool,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		
#ifndef PBS_MOM
      chk_vnode_pool
#else
      NULL_FUNC
#endif
      ,
		MGR_ONLY_SET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_power_provisioning,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		
#ifndef PBS_MOM
      node_prov_enable_action
#else
      NULL_FUNC
#endif
      ,
		MGR_ONLY_SET | ATR_DFLAG_SSET,
		ATR_TYPE_BOOL,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_current_eoe,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		MGR_ONLY_SET | ATR_DFLAG_SSET,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_partition,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
      action_node_partition
#else
      NULL_FUNC
#endif
      ,
		ATR_DFLAG_OPRD | ATR_DFLAG_MGRD | ATR_DFLAG_OPWR | ATR_DFLAG_MGWR,
		ATR_TYPE_STR,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_poweroff_eligible,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		MGR_ONLY_SET | ATR_DFLAG_SSET,
		ATR_TYPE_BOOL,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_last_state_change_time,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
	{
		ATTR_NODE_last_used_time,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_NODE
	},
};