<?xml version="1.0" encoding="UTF-8"?>
<data>
   <!--
/*
 * Copyright (C) 1994-2021 Altair Engineering, Inc.
 * For more information, contact Altair at www.altair.com.
 *
 * This file is part of both the OpenPBS software ("OpenPBS")
 * and the PBS Professional ("PBS Pro") software.
 *
 * Open Source License Information:
 *
 * OpenPBS is free software. You can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License as published by the
 * Free Software Foundation, either version 3 of the License, or (at your
 * option) any later version.
 *
 * OpenPBS is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
 * License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Commercial License Information:
 *
 * PBS Pro is commercially licensed software that shares a common core with
 * the OpenPBS software.  For a copy of the commercial license terms and
 * conditions, go to: (http://www.pbspro.com/agreement.html) or contact the
 * Altair Legal Department.
 *
 * Altair's dual-license business model allows companies, individuals, and
 * organizations to create proprietary derivative works of OpenPBS and
 * distribute them - whether embedded or bundled with other software -
 * under a commercial license agreement.
 *
 * Use of Altair's trademarks, including but not limited to "PBS™",
 * "OpenPBS®", "PBS Professional®", and "PBS Pro™" and Altair's logos is
 * subject to Altair's trademark licensing policies.
 */


   The entries for each attribute are (see attribute.h):
       name,
       decode function,
       encode function,
       set function,
       compare function,
       free value space function,
       action function,
       access permission flags,
       value type,
       parent object type

     NOTE (ECL File)

     The entries for each attribute are (see attribute.h):\n
       name,
       type,
       flag,
       verify datatype function,
       verify value function
    -->
   <head>
      <SVR>#include &lt;pbs_config.h&gt;
     #include &lt;fcntl.h&gt;
     #include &lt;sys/types.h&gt;
     #include "pbs_ifl.h"
     #include "list_link.h"
     #include "attribute.h"
     #include "server_limits.h"
     #include "job.h"
     #include "reservation.h"


     attribute_def resv_attr_def[] = {</SVR>
      <ECL>#include &lt;pbs_config.h&gt;
     #include "pbs_ifl.h"
     #include "pbs_ecl.h"

    /* ordered by guess to put ones most often used at front */

     ecl_attribute_def ecl_resv_attr_def[] = {</ECL>
   </head>
   <attributes>
      <member_index>RESV_ATR_resv_name</member_index>
      <member_name>ATTR_resv_name</member_name>
      <member_at_decode>decode_jobname</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_jobname</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_owner</member_index>
      <member_name>ATTR_resv_owner</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY | ATR_DFLAG_SSET | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_state</member_index>
      <member_name>ATTR_resv_state</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_RDACC | ATR_DFLAG_SvWR</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_substate</member_index>
      <member_name>ATTR_resv_substate</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_RDACC | ATR_DFLAG_SvWR</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_reserve_Tag</member_index>
      <member_name>ATTR_resv_Tag</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_Creat | READ_ONLY</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_reserveID</member_index>
      <member_name>ATTR_resv_ID</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_Creat | ATR_DFLAG_SvWR | READ_ONLY</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_start</member_index>
      <member_name>ATTR_resv_start</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_end</member_index>
      <member_name>ATTR_resv_end</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_duration</member_index>
      <member_name>ATTR_resv_duration</member_name>
      <member_at_decode>decode_time</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_time</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_queue</member_index>
      <member_name>ATTR_queue</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resource</member_index>
      <member_name>ATTR_l</member_name>
      <member_at_decode>decode_resc</member_at_decode>
      <member_at_encode>encode_resc</member_at_encode>
      <member_at_set>set_resc</member_at_set>
      <member_at_comp>comp_resc</member_at_comp>
      <member_at_free>free_resc</member_at_free>
      <member_at_action>action_resc_resv</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_RESC</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_resc</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_SchedSelect</member_index>
      <member_name>ATTR_SchedSelect</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resc_used</member_index>
      <member_name>ATTR_used</member_name>
      <member_at_decode>decode_resc</member_at_decode>
      <member_at_encode>encode_resc</member_at_encode>
      <member_at_set>set_resc</member_at_set>
      <member_at_comp>comp_resc</member_at_comp>
      <member_at_free>free_resc</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY | ATR_DFLAG_SvWR</member_at_flags>
      <member_at_type>ATR_TYPE_RESC</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_nodes</member_index>
      <member_name>ATTR_resv_nodes</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_userlst</member_index>
      <member_name>ATTR_u</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_uacl</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_user_list</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_grouplst</member_index>
      <member_name>ATTR_g</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_arst</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_user_list</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_auth_u</member_index>
      <member_name>ATTR_auth_u</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_uacl</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_authorized_users</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_auth_g</member_index>
      <member_name>ATTR_auth_g</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_arst</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_authorized_groups</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_auth_h</member_index>
      <member_name>ATTR_auth_h</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_arst</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_at_server</member_index>
      <member_name>ATTR_server</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_account</member_index>
      <member_name>ATTR_A</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_ctime</member_index>
      <member_name>ATTR_ctime</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY | ATR_DFLAG_SSET</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_mailpnts</member_index>
      <member_name>ATTR_m</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_mailpoints</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_mailuser</member_index>
      <member_name>ATTR_M</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_arst</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN | ATR_DFLAG_SELEQ</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>verify_value_mailusers</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_mtime</member_index>
      <member_name>ATTR_mtime</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_ONLY | ATR_DFLAG_SSET</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_hashname</member_index>
      <member_name>ATTR_hashname</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_hopcount</member_index>
      <member_name>ATTR_hopcount</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_SSET</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_priority</member_index>
      <member_name>ATTR_p</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>verify_value_priority</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_interactive</member_index>
      <member_name>ATTR_inter</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_variables</member_index>
      <member_name>ATTR_v</member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_arst</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_SELEQ | ATR_DFLAG_MOM</member_at_flags>
      <member_at_type>ATR_TYPE_ARST</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_euser</member_index>
      <member_name>ATTR_euser</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_egroup</member_index>
      <member_name>ATTR_egroup</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_convert</member_index>
      <member_name>ATTR_convert</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_standing</member_index>
      <member_name>ATTR_resv_standing</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_bool</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_rrule</member_index>
      <member_name>ATTR_resv_rrule</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_idx</member_index>
      <member_name>ATTR_resv_idx</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_count</member_index>
      <member_name>ATTR_resv_count</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE | ATR_DFLAG_ALTRUN</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_execvnodes</member_index>
      <member_name>ATTR_resv_execvnodes</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_resv_timezone</member_index>
      <member_name>ATTR_resv_timezone</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_retry</member_index>
      <member_name>ATTR_resv_retry</member_name>
      <member_at_decode>decode_l</member_at_decode>
      <member_at_encode>encode_l</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_long</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_del_idle_time</member_index>
      <member_name>ATTR_del_idle_time</member_name>
      <member_at_decode>decode_time</member_at_decode>
      <member_at_encode>encode_time</member_at_encode>
      <member_at_set>set_l</member_at_set>
      <member_at_comp>comp_l</member_at_comp>
      <member_at_free>free_null</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_LONG</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>verify_datatype_time</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_job</member_index>
      <member_name>ATTR_resv_job</member_name>
      <member_at_decode>decode_jobname</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>READ_WRITE</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes>
      <member_index>RESV_ATR_SchedSelect_orig</member_index>
      <member_name>ATTR_SchedSelect_orig</member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD</member_at_flags>
      <member_at_type>ATR_TYPE_STR</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes flag="SVR">
      <member_index>RESV_ATR_node_set</member_index>
      <member_name>
         <SVR>ATTR_node_set</SVR>
      </member_name>
      <member_at_decode>decode_arst</member_at_decode>
      <member_at_encode>encode_arst</member_at_encode>
      <member_at_set>set_arst</member_at_set>
      <member_at_comp>comp_arst</member_at_comp>
      <member_at_free>free_arst</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>
         <SVR>ATR_DFLAG_SvWR|ATR_DFLAG_MGWR</SVR>
      </member_at_flags>
      <member_at_type>
         <SVR>ATR_TYPE_ARST</SVR>
      </member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
   </attributes>
   <attributes flag="SVR">
      <member_index>RESV_ATR_partition</member_index>
      <member_name>
         <SVR>ATTR_partition</SVR>
      </member_name>
      <member_at_decode>decode_str</member_at_decode>
      <member_at_encode>encode_str</member_at_encode>
      <member_at_set>set_str</member_at_set>
      <member_at_comp>comp_str</member_at_comp>
      <member_at_free>free_str</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>
         <SVR>ATR_DFLAG_SSET | READ_ONLY</SVR>
      </member_at_flags>
      <member_at_type>
         <SVR>ATR_TYPE_STR</SVR>
      </member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
   </attributes>
   <attributes flag="SVR">
      <member_index>RESV_ATR_alter_revert</member_index>
      <member_name>ATTR_resv_alter_revert</member_name>
      <member_at_decode>decode_resc</member_at_decode>
      <member_at_encode>encode_resc</member_at_encode>
      <member_at_set>set_resc</member_at_set>
      <member_at_comp>comp_resc</member_at_comp>
      <member_at_free>free_resc</member_at_free>
      <member_at_action>action_resc_resv</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD</member_at_flags>
      <member_at_type>ATR_TYPE_RESC</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes flag="SVR">
      <member_index>RESV_ATR_standing_revert</member_index>
      <member_name>ATTR_resv_standing_revert</member_name>
      <member_at_decode>decode_resc</member_at_decode>
      <member_at_encode>encode_resc</member_at_encode>
      <member_at_set>set_resc</member_at_set>
      <member_at_comp>comp_resc</member_at_comp>
      <member_at_free>free_resc</member_at_free>
      <member_at_action>action_resc_resv</member_at_action>
      <member_at_flags>ATR_DFLAG_MGRD</member_at_flags>
      <member_at_type>ATR_TYPE_RESC</member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
      <member_verify_function>
         <ECL>NULL_VERIFY_DATATYPE_FUNC</ECL>
         <ECL>NULL_VERIFY_VALUE_FUNC</ECL>
      </member_verify_function>
   </attributes>
   <attributes flag="SVR">
      #include "site_resv_attr_def.h"
      <member_name>
         <SVR>"_other_"</SVR>
      </member_name>
      <member_at_decode>decode_unkn</member_at_decode>
      <member_at_encode>encode_unkn</member_at_encode>
      <member_at_set>set_unkn</member_at_set>
      <member_at_comp>comp_unkn</member_at_comp>
      <member_at_free>free_unkn</member_at_free>
      <member_at_action>NULL_FUNC</member_at_action>
      <member_at_flags>
         <SVR>READ_WRITE | ATR_DFLAG_SELEQ</SVR>
      </member_at_flags>
      <member_at_type>
         <SVR>ATR_TYPE_LIST</SVR>
      </member_at_type>
      <member_at_parent>PARENT_TYPE_RESV</member_at_parent>
   </attributes>
   <tail>
      <SVR>};</SVR>
      <ECL>};
	int   ecl_resv_attr_size = sizeof(ecl_resv_attr_def) / sizeof(ecl_attribute_def);</ECL>
   </tail>
</data>
