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

      #include <pbs_config.h>
      #include <sys/types.h>
      #include "pbs_ifl.h"
      #include "list_link.h"
      #include "attribute.h"
      #include "job.h"
      #include "server_limits.h"

      attribute_def job_attr_def[] = {

	{
		ATTR_N,
		decode_jobname,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_owner,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_used,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR | ATR_DFLAG_NOSAVM,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_used_acct,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR | ATR_DFLAG_NOSAVM | ATR_DFLAG_HIDDEN,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_used_update,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR | ATR_DFLAG_NOSAVM | ATR_DFLAG_HIDDEN,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_state,
		decode_c,
		encode_c,
		set_c,
		comp_c,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR,
		ATR_TYPE_CHAR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_resv,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_queue,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_server,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_A,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM | ATR_DFLAG_SCGALT,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_c,
		decode_str,
		encode_str,
		set_str,
		
#ifdef PBS_MOM
		comp_str
#else
		comp_chkpnt
#endif
      ,
		free_str,
		
#ifdef PBS_MOM
		NULL_FUNC
#else
		ck_chkpnt
#endif
      ,
		READ_WRITE | ATR_DFLAG_MOM | ATR_DFLAG_ALTRUN,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_ctime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_depend,
		
#ifndef PBS_MOM
		decode_depend
#else
		decode_str
#endif
      ,
		
#ifndef PBS_MOM
		encode_depend
#else
		encode_str
#endif
      ,
		
#ifndef PBS_MOM
		set_depend
#else
      set_str
#endif
      ,
		
#ifndef PBS_MOM
		comp_depend
#else
		comp_str
#endif
      ,
		
#ifndef PBS_MOM
		free_depend
#else
		free_str
#endif
      ,
		
#ifndef PBS_MOM
		depend_on_que
#else
		NULL_FUNC
#endif
      ,
		READ_WRITE,
		ATR_TYPE_LIST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_e,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_exechost,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		
#ifdef PBS_MOM
		READ_ONLY | ATR_DFLAG_MOM
#else
		READ_ONLY
#endif
      ,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_exechost2,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_exechost_acct,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		
#ifdef PBS_MOM
		READ_ONLY | ATR_DFLAG_MOM
#else
		READ_ONLY | ATR_DFLAG_HIDDEN
#endif
      ,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_exechost_orig,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		
#ifdef PBS_MOM
		READ_ONLY | ATR_DFLAG_MOM
#else
		READ_ONLY | ATR_DFLAG_HIDDEN
#endif
      ,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_execvnode,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_execvnode_acct,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM | ATR_DFLAG_HIDDEN,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_execvnode_deallocated,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM |ATR_DFLAG_HIDDEN,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_execvnode_orig,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM | ATR_DFLAG_SvWR | ATR_DFLAG_HIDDEN,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_a,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		
#ifndef PBS_MOM
		job_set_wait
#else
		NULL_FUNC
#endif
      ,
		READ_WRITE | ATR_DFLAG_ALTRUN,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_g,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM | ATR_DFLAG_SCGALT,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_h,
		decode_hold,
		encode_hold,
		set_b,
		comp_hold,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_inter,
		decode_l,
		encode_inter,
		set_l,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_j,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_k,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifdef PBS_MOM
		NULL_FUNC
#else
		keepfiles_action
#endif
      ,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_m,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_M,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_mtime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_nodemux,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_MOM | ATR_DFLAG_SELEQ,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_o,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_p,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_qtime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_R,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifdef PBS_MOM
		NULL_FUNC
#else
		removefiles_action
#endif
      ,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_r,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_l,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		action_resc_job,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_MOM | ATR_DFLAG_SCGALT,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_l_orig,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		action_resc_job,
		ATR_DFLAG_SvWR| ATR_DFLAG_ALTRUN | ATR_DFLAG_MOM | ATR_DFLAG_HIDDEN,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_l_acct,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		action_resc_job,
		ATR_DFLAG_SvWR | ATR_DFLAG_ALTRUN | ATR_DFLAG_MOM | ATR_DFLAG_HIDDEN,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_SchedSelect,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_SchedSelect_orig,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MOM |ATR_DFLAG_HIDDEN,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_stime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_obittime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_session,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_S,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_sandbox,
		decode_sandbox,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_jobdir,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_stagein,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_MOM,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_stageout,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_MOM,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_substate,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_USRD | ATR_DFLAG_OPRD | ATR_DFLAG_MGRD | ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_u,
		decode_arst,
		encode_arst,
		
#ifndef PBS_MOM
		set_uacl
#else
		set_arst
#endif
      ,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_SCGALT,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_v,
		decode_arst_bs,
		encode_arst_bs,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_euser,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_egroup,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_hashname,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_hopcount,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_qrank,
		decode_ll,
		encode_ll,
		set_ll,
		comp_ll,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MGRD,
		ATR_TYPE_LL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_qtype,
		decode_c,
		encode_c,
		set_c,
		comp_c,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_SELEQ,
		ATR_TYPE_CHAR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_sched_hint,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MGWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_security,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SSET,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_comment,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		NO_USER_SET | ATR_DFLAG_SvWR | ATR_DFLAG_ALTRUN | ATR_DFLAG_NOSAVM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_cookie,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvRD | ATR_DFLAG_SvWR | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_altid,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_altid2,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvWR,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_etime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SSET,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_resv_ID,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_Creat | ATR_DFLAG_SvWR | READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_refresh,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SvRD | ATR_DFLAG_SvWR | ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_gridname,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_umask,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_block,
		decode_l,
		encode_inter,
		set_l,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_SELEQ,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_cred,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_SELEQ,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_runcount,
		decode_l,
		encode_l,
		set_l,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_acct_id,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_eligible_time,
		decode_time,
		encode_time,
		set_l,
		comp_l,
		free_null,
		
#ifndef PBS_MOM
		alter_eligibletime
#else
		NULL_FUNC
#endif
      ,
		NO_USER_SET | ATR_DFLAG_SSET | ATR_DFLAG_ALTRUN,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_accrue_type,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_none,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_ALTRUN | ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_sample_starttime,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_job_kill_delay,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_stageout_status,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_ONLY,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_exit_status,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_ONLY,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_submit_arguments,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_WRITE,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_executable,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_WRITE | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_Arglist,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_WRITE | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_prov_vnode,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvRD | ATR_DFLAG_SvWR,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_array,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SvWR | ATR_DFLAG_Creat | READ_ONLY | ATR_DFLAG_NOSAVM,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_array_id,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_array_index,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_MOM | READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_array_state_count,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_SvWR | READ_ONLY | ATR_DFLAG_NOSAVM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_array_indices_submitted,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
		setup_arrayjob_attrs
#else
		NULL_FUNC
#endif
      ,
		ATR_DFLAG_SvWR | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_array_indices_remaining,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		
#ifndef PBS_MOM
		fixup_arrayindicies
#else
		NULL_FUNC
#endif
      ,
		ATR_DFLAG_SvWR | ATR_DFLAG_SvRD | READ_ONLY,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_estimated,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		action_resc_job,
		MGR_ONLY_SET | ATR_DFLAG_ALTRUN,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_node_set,
		decode_arst,
		encode_arst,
		set_arst,
		comp_arst,
		free_arst,
		NULL_FUNC,
		ATR_DFLAG_SvWR|ATR_DFLAG_MGWR,
		ATR_TYPE_ARST,
		PARENT_TYPE_JOB
	},
	{
		ATTR_history_timestamp,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY|ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_project,
		decode_project,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM | ATR_DFLAG_SCGALT,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_X11_cookie,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		ATR_DFLAG_USWR | ATR_DFLAG_MGRD | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_X11_port,
		decode_l,
		encode_inter,
		set_l,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_sched_preempted,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_SvWR | ATR_DFLAG_MGWR | ATR_DFLAG_ALTRUN,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_run_version,
		decode_l,
		encode_l,
		set_l,
		comp_b,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MOM,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_GUI,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_ONLY | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_topjob_ineligible,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		ATR_DFLAG_MGRD | ATR_DFLAG_MGWR | ATR_DFLAG_ALTRUN,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_released,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		PRIV_READ | ATR_DFLAG_SvWR | ATR_DFLAG_ALTRUN,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_rel_list,
		decode_resc,
		encode_resc,
		set_resc,
		comp_resc,
		free_resc,
		action_resc_job,
		PRIV_READ,
		ATR_TYPE_RESC,
		PARENT_TYPE_JOB
	},
	{
		ATTR_relnodes_on_stageout,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_tolerate_node_failures,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SvRD | ATR_DFLAG_Creat | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_submit_host,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_MOM | ATR_DFLAG_SvRD | ATR_DFLAG_SvWR,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_cred_id,
		decode_str,
		encode_str,
		set_str,
		comp_str,
		free_str,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_MOM | ATR_DFLAG_SvRD | ATR_DFLAG_SvWR,
		ATR_TYPE_STR,
		PARENT_TYPE_JOB
	},
	{
		ATTR_cred_validity,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		NULL_FUNC,
		READ_ONLY|ATR_DFLAG_SvWR,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
	{
		ATTR_create_resv_from_job,
		decode_b,
		encode_b,
		set_b,
		comp_b,
		free_null,
		NULL_FUNC,
		READ_WRITE,
		ATR_TYPE_BOOL,
		PARENT_TYPE_JOB
	},
	{
		ATTR_max_run_subjobs,
		decode_l,
		encode_l,
		set_l,
		comp_l,
		free_null,
		
#ifdef PBS_MOM
	  NULL_FUNC
#else
	  action_max_run_subjobs
#endif
      ,
		READ_WRITE | ATR_DFLAG_ALTRUN,
		ATR_TYPE_LONG,
		PARENT_TYPE_JOB
	},
      #include "site_job_attr_def.h"
      /* THIS MUST BE THE LAST ENTRY */
	{
		"_other_",
		decode_unkn,
		encode_unkn,
		set_unkn,
		comp_unkn,
		free_unkn,
		NULL_FUNC,
		READ_WRITE | ATR_DFLAG_SELEQ,
		ATR_TYPE_LIST,
		PARENT_TYPE_JOB
	},
};