NAME
     drmaa_get_attribute_names, drmaa_get_vector_attribute_names,
     drmaa_get_next_attr_name,          drmaa_get_num_attr_names,
     drmaa_release_attr_names - DRMAA job template attributes

SYNOPSIS
     #include "drmaa.h"

     int drmaa_get_attribute_names(
          drmaa_attr_names_t **values,
          char *error_diagnosis,
          size_t error_diag_len
     );

     int drmaa_get_vector_attribute_names(
          drmaa_attr_names_t **values,
          char *error_diagnosis,
          size_t error_diag_len
     );

     int drmaa_get_next_attr_name(
          drmaa_attr_names_t* values,
          char *value,
          int value_len
     );

     int drmaa_get_next_attr_value(
          drmaa_attr_values_t* values,
          char *value,
          int value_len
     );

     int drmaa_get_num_attr_names(
          drmaa_attr_names_t* values,
          int *size
     );

     void drmaa_release_attr_names(
          drmaa_attr_names_t* values
     );

DESCRIPTION
     The drmaa_get_attribute_names() function returns into values
     a  DRMAA names string vector containing the set of supported
     non-vector DRMAA  job  template  attribute  names.  The  set
     includes  supported  DRMAA  reserved attribute names and Sun
     Grid Engine native attribute names. The names in  the  names
     string      vector      can      be      extracted     using
     drmaa_get_next_attr_name(3).  The number  of  names  in  the
     names    string    vector    can    be    determined   using
     drmaa_get_num_attr_names(3).  Note  that  this  function  is
     only  available  in  the  1.0 implementation.  The caller is
     responsible for releasing the names string  vector  returned
     into    values   using   drmaa_release_attr_names(3).    Use
     drmaa_set_attribute(3) and drmaa_get_attribute(3)  for  set-
     ting and inspecting non-vector attributes.

  drmaa_get_vector_attribute_names()
     The drmaa_get_vector_attribute_names() function returns into
     values  a  DRMAA  names  string vector containing the set of
     supported vector DRMAA job template attribute names. The set
     includes  supported  DRMAA  reserved attribute names and Sun
     Grid Engine native attribute names. The names in  the  names
     string      vector      can      be      extracted     using
     drmaa_get_next_attr_name(3).  The caller is responsible  for
     releasing the names string vector returned into values using
     drmaa_release_attr_names(3).                             Use
     drmaa_set_vector_attribute(3)                            and
     drmaa_get_vector_attribute(3)  for  setting  and  inspecting
     vector attributes.

  drmaa_get_next_attr_name()
     Each time drmaa_get_next_attr_name() is  called  it  returns
     into  the  buffer,  value, up to value_len bytes of the next
     entry stored in the DRMAA names string vector, values.  Once
     the       names      list      has      been      exhausted,
     DRMAA_ERRNO_NO_MORE_ELEMENTS is returned.

  drmaa_get_num_attr_names()
     The drmaa_get_num_attr_names() returns into size the  number
     of  entries in the DRMAA names string vector.  This function
     is only available in the 1.0 implementation.

  drmaa_release_attr_names()
     The   drmaa_release_attr_names()   function   releases   all
     resources  associated  with  the  DRMAA names string vector,
     values.

  Attribute Priorities
     DRMAA job template attributes can be set from six  different
     sources.   In  order  of precedence, from lowest to highest,
     these are: options set by DRMAA  automatically  by  default,
     options  set  in  the sge_request(5) file(s), options set in
     the script  file,  options  set  by  the  drmaa_job_category
     attribute,  options  set  by  the drmaa_native_specification
     attribute, and options set through other DRMAA attributes.

     By default DRMAA sets four options for all jobs.  These  are
     "-p  0", "-b yes", "-shell no", and "-w e".  This means that
     by default, all jobs will have priority 0, all jobs will  be
     treated  as binary, i.e. no scripts args will be parsed, all
     jobs will be executed without  a  wrapper  shell,  and  jobs
     which are unschedulable will cause a submit error.

     The     sge_request(5)     file,      found      in      the
     $SGE_ROOT/$SGE_CELL/common directory, may contain options to
     be applied to all jobs.  The .sge_request file found in  the
     user's  home  directory or the current working directory may
     also contain options to be applied  to  certain  jobs.   See
     sge_request(5) for more information.

     If the sge_request(5)  file  contains  "-b  no"  or  if  the
     drmaa_native_specification attribute is set and contains "-b
     no", the script file will be parsed for  in-line  arguments.
     Otherwise, no scripts args will be interpreted.  See qsub(1)
     for more information.

     If the drmaa_job_category attribute is set, and the category
     it  points  to  exists  in  one  of  the qtask(5) files, the
     options associated with that category will be applied to the
     job  template.   See  qtask(5)  and  the  drmaa_job_category
     attribute below for more information.

     If the  drmaa_native_specification  attribute  is  set,  all
     options  contained  therein  will be applied to the job tem-
     plate.  See the drmaa_native_specification  below  for  more
     information.

     Other DRMAA attributes will override any previous  settings.
     For  example,  if  the sge_request file contains "-j y", but
     the drmaa_join_files attribute is set to "n",  the  ultimate
     result  is  that  the  input  and  output  files will remain
     separate.

     For various reasons, some options are  silently  ignored  by
     DRMAA.   Setting  any  of these options will have no effect.
     The ignored options are: -cwd, -help, -sync, -t, -verify, -w
     w,  and  -w v.  The -cwd option can be re-enabled by setting
     the environment variable, SGE_DRMAA_ALLOW_CWD.  However, the
     -cwd  option  is not thread safe and should not be used in a
     multi-threaded context.

  Attribute Correlations
     The following DRMAA attributes correspond to  the  following
     qsub(1) options:

          DRMAA Attribute                  qsub Option
          -------------------------------------------------------
          drmaa_remote_command             script file
          drmaa_v_argv                     script file args
          drmaa_js_state = "drmaa_hold"    -h
          drmaa_v_env                      -v
          drmaa_wd = $PWD                  -cwd
          drmaa_job_category               (qtsch qtask)*
          drmaa_native_specification       ALL*
          drmaa_v_email                    -M
          drmaa_block_email = "1"          -m n
          drmaa_start_time                 -a
          drmaa_job_name                   -N
          drmaa_input_path                 -i
          drmaa_output_path                -o
          drmaa_error_path                 -e
          drmaa_join_files                 -j
          drmaa_transfer_files             (prolog and epilog)*

          * See the individual attribute description below

DRMAA JOB TEMPLATE ATTRIBUTES
  drmaa_remote_command - "<remote_command>"
     Specifies the remote command to execute. The  remote_command
     must  be  the path of an executable that is available at the
     job's execution host.   If  the  path  is  relative,  it  is
     assumed to be relative to the working directory, usually set
     through the drmaa_wd attribute.  If working directory is not
     set,  the  path is assumed to be relative to the user's home
     directory.

     The file pointed to by remote_command may either be an  exe-
     cutable  binary  or  an  executable script.  If a script, it
     must include the path to the shell  in  a  #!  line  at  the
     beginning  of  the  script.   By default, the remote command
     will be executed directly,  as  by  exec(2).   To  have  the
     remote  command  executed  in  a  shell, such as to preserve
     environment  settings,  use  the  drmaa_native_specification
     attribute  to  include  the "-shell yes" option.  Jobs which
     are executed by a wrapper shell fail differently  from  jobs
     which  are  executed  directly.  When a job which contains a
     user error, such as an invalid path to  the  executable,  is
     executed  by  a wrapper shell, the job will execute success-
     fully, but exit with a return code of 1.  When a  job  which
     contains  such  an error is executed directly, it will enter
     the DRMAA_PS_FAILED state upon execution.

  drmaa_js_state - "{drmaa_hold|drmaa_active}"
     Specifies the job state at  submission.  The  string  values
     'drmaa_hold'   and   'drmaa_active'   are   supported.  When
     'drmaa_active' is used the job is submitted  in  a  runnable
     state.   When  'drmaa_hold'  is used the job is submitted in
     user   hold   state   (either    DRMAA_PS_USER_ON_HOLD    or
     DRMAA_PS_USER_SYSTEM_ON_HOLD).  This  attribute  is  largely
     equivalent to  the qsub(1) submit option '-h'.

  drmaa_wd - "<directory_name>"
     Specifies the directory name where the job will be executed.
     A  '$drmaa_hd_ph$'  placeholder  at  the  beginning  of  the
     directory_name denotes the remaining  string  portion  as  a
     relative directory name that is resolved relative to the job
     user's home directory at the execution host. When the  DRMAA
     job  template  is  used  for  bulk  job submission (see also
     drmaa_run_bulk_job(3)) the '$drmaa_incr_ph$' placeholder can
     be  used  at  any  position within directory_name to cause a
     substitution  with   the   parametric   job's   index.   The
     directory_name  must be specified in a syntax that is common
     at the host where the job is executed. If set to a  relative
     path  and  no  placeholder  is  used, a path relative to the
     user's home directory is assumed.  If not set,  the  working
     directory will default to the user's home directory.  If set
     and the given directory does not exist the  job  will  enter
     the DRMAA_PS_FAILED state when run.

     Note that the working directory path is the path on the exe-
     cution host.  If binary mode is disabled, an attempt to find
     the job script will be made, relative to the working  direc-
     tory  path.   That means that the path to the script must be
     the same on both the submission and execution hosts.

  drmaa_job_name - "<job_name>"
     Specifies the job's name. Setting the job name is equivalent
     to use of qsub(1) submit option '-N' with job_name as option
     argument.

  drmaa_input_path - "[<hostname>]:<file_path>"
     Specifies the standard input of the job.  Unless  set  else-
     where, if not explicitly set in the job template, the job is
     started with an empty input stream. If the standard input is
     set  it specifies the network path of the job's input stream
     file.

     When the 'drmaa_transfer_files' job  template  attribute  is
     supported  and  contains  the  character 'i', the input file
     will be fetched by Sun Grid Engine from the  specified  host
     or  from  the  submit host if no hostname is specified. When
     the 'drmaa_transfer_files' job  template  attribute  is  not
     supported  or  does not contain the character 'i', the input
     file is always expected at the host where the  job  is  exe-
     cuted regardless of any hostname specified.

     If the DRMAA job template will be used for bulk job  submis-
     sion, (See also drmaa_run_bulk_job(3)) the '$drmaa_incr_ph$'
     placeholder can be used at any position within file_path  to
     cause  a  substitution  with  the  parametric job's index. A
     '$drmaa_hd_ph$' placeholder at the  beginning  of  file_path
     denotes the remaining portion of the file_path as a relative
     file specification resolved relative to the job user's  home
     directory   at  the  host  where  the  file  is  located.  A
     '$drmaa_wd_ph$' placeholder at the  beginning  of  file_path
     denotes the remaining portion of the file_path as a relative
     file specification resolved relative to  the  job's  working
     directory  at  the  host  where  the  file  is  located. The
     file_path must be specified in a syntax that  is  common  at
     the  host  where  the  file  is located. If set and the file
     can't be read the job enters the state DRMAA_PS_FAILED.

  drmaa_output_path - "[<hostname>]:<file_path>"
     Specifies the standard output of the job. If not  explicitly
     set in the job template, the whereabouts of the job's output
     stream is not defined. If set, this attribute specifies  the
     network path of the job's output stream file.

     When the 'drmaa_transfer_files' job  template  attribute  is
     supported  and  contains  the character 'o', the output file
     will be transferred by Sun Grid Engine to the specified host
     or  to the submit host if no hostname is specified. When the
     'drmaa_transfer_files' job template attribute  is  not  sup-
     ported  or  does  not  contain the character 'o', the output
     file is always kept at the host where the  job  is  executed
     regardless of any hostname specified.

     If the DRMAA job template will be used for of bulk job  sub-
     mission     (see     also     drmaa_run_bulk_job(3))     the
     '$drmaa_incr_ph$' placeholder can be used  at  any  position
     within  the  file_path  to  cause  a  substitution  with the
     parametric job's index. A '$drmaa_hd_ph$' placeholder at the
     beginning  of file_path denotes the remaining portion of the
     file_path as a relative file specification resolved relative
     to  the job user's home directory at the host where the file
     is located. A '$drmaa_wd_ph$' placeholder at  the  beginning
     of  the file_path denotes the remaining portion of file_path
     as a relative file specification resolved  relative  to  the
     job's  working  directory  at  the  host  where  the file is
     located. The file_path must be specified in a syntax that is
     common at the host where the file is located. If set and the
     file can't be written before execution the  job  enters  the
     state DRMAA_PS_FAILED.

  drmaa_error_path - "[<hostname>]:<file_path>"
     Specifies the standard error of the job. If  not  explicitly
     set  in the job template, the whereabouts of the job's error
     stream is not defined. If set, this attribute specifies  the
     network path of the job's error stream file.

     When the 'drmaa_transfer_files' job  template  attribute  is
     supported  and  contains  the character 'e', the output file
     will be transferred by Sun Grid Engine to the specified host
     or  to the submit host if no hostname is specified. When the
     'drmaa_transfer_files' job template attribute  is  not  sup-
     ported or does not contain the character 'e', the error file
     is always kept at the host where the job is executed regard-
     less of any hostname specified.

     If the DRMAA job template will be used for of bulk job  sub-
     mission     (see     also     drmaa_run_bulk_job(3))     the
     '$drmaa_incr_ph$' placeholder can be used  at  any  position
     within  the  file_path  to  cause  a  substitution  with the
     parametric job's index. A '$drmaa_hd_ph$' placeholder at the
     beginning  of the file_path denotes the remaining portion of
     the file_path as  a  relative  file  specification  resolved
     relative  to the job user's home directory at the host where
     the file is located. A '$drmaa_wd_ph$'  placeholder  at  the
     beginning  of the file_path denotes the remaining portion of
     the file_path as  a  relative  file  specification  resolved
     relative  to  the  job's working directory at the host where
     the file is located. The file_path must be  specified  in  a
     syntax that is common at the host where the file is located.
     If set and the file can't be written  before  execution  the
     job  enters the state DRMAA_PS_FAILED. The attribute name is
     drmaa_error_path.


  drmaa_join_files - "{y|n}"
     Specifies if the job's error  stream  should  be  intermixed
     with  the  output  stream.  If not explicitly set in the job
     template the attribute defaults to 'n'. Either  'y'  or  'n'
     can  be  specified. If 'y' is specified Sun Grid Engine will
     ignore the value  of  the  'drmaa_error_path'  job  template
     attribute  and  intermix  the standard error stream with the
     standard     output     stream     as     specified     with
     'drmaa_output_path'.

  drmaa_v_argv - "argv1 argv2 ..."
     Specifies the arguments to the job.

  drmaa_job_category - "<category>"
     Specifies the DRMAA job category.  The  category  string  is
     used  by  Sun  Grid  Engine as a reference into the qtask(5)
     file. Certain qsub(1) options used in the  referenced  qtask
     file  line are applied to the job template before submission
     to allow site-specific resolving of resources  and/or  poli-
     cies.  The cluster qtask file, the local qtask file, and the
     user qtask file are searched. Job  settings  resulting  from
     job  template  category are overridden by settings resulting
     from the job template  drmaa_native_specification  attribute
     as well as by explicit DRMAA job template settings.

     In order to avoid collisions with command names in the qtask
     files,  it is recommended that DRMAA job category names take
     the form: <category_name>.cat.

     The options -help,  -sync,  -t,  -verify,  and  -w  w|v  are
     ignored.    The   -cwd   option   is   ignored   unless  the
     $SGE_DRMAA_ALLOW_CWD environment variable is set.

  drmaa_native_specification - "<native_specification>"
     Specifies Sun Grid Engine native qsub(1) options which  will
     be  interpreted  as  part  of  the  DRMAA job template.  All
     options available to qsub(1) command  may  be  used  in  the
     native_specification,  except for -help, -sync, -t, -verify,
     and -w w|v.  The  -cwd  option  may  only  be  used  if  the
     SGE_DRMAA_ALLOW_CWD  environment  variable  is set.  This is
     because the  current  parsing  algorithm  for  -cwd  is  not
     thread-safe.   Options  set in the native specification will
     be overridden by the corresponding  DRMAA  attributes.   See
     qsub(1) for more information on qsub options.

  drmaa_v_env - "<name1>=<value1> <name2>=<value2> ...
     Specifies  the  job  environment.  Each  environment   value
     defines  the  remote  environment.  The  value overrides the
     remote environment values if there is a collision.

  drmaa_v_email - "<email1> <email2> ...
     Specifies e-mail addresses that are used to report  the  job
     completion and status.

  drmaa_block_email - "{0|1}"
     Specifies whether e-mail sending shall blocked or  not.   By
     default  email  is  not  sent.   If, however, a setting in a
     cluster or user settings file or the  email  in  association
     with  job  events,  the  'drmaa_block_email'  attribute will
     override that setting, causing no email to be sent.

  drmaa_start_time - "[[[[CC]YY/]MM/]DD] hh:mm[:ss] [{-|+}UU:uu]"
     Specifies the earliest time when the job may be eligible  to
     be run where

          CC is the first two digits of the year (century-1)
          YY is the last two digits of the year
          MM is the two digits of the month [01,12]
          DD is the two digit day of the month [01,31]
          hh is the two digit hour of the day [00,23]
          mm is the two digit minute of the day [00,59]
          ss is the two digit second of the minute [00,61]
          UU is the two digit hours since (before) UTC
          uu is the two digit minutes since (before) UTC

     If the optional UTC-offset  is  not  specified,  the  offset
     associated  with the local timezone will be used. If the day
     (DD) is not specified, the current day will be  used  unless
     the  specified hour:mm:ss has already elapsed, in which case
     the next day will be used. Similarly for  month  (MM),  year
     (YY),  and  century-1 (CC). Example: The time: Sep 3 4:47:27
     PM PDT 2002, could be represented  as:  2002/09/03  16:47:27
     -07:00.

  drmaa_transfer_files - "[i][o][e]"
     Specifies, which of the standard I/O  files  (stdin,  stdout
     and  stderr)  are  to  be  transferred to/from the execution
     host. If not set, defaults to "". Any  combination  of  'e',
     'i'   and  'o'  may  be  specified.   See  drmaa_input_path,
     drmaa_output_path and drmaa_error_path for information about
     how to specify the standard input file, standard output file
     and standard error file.  The file transfer mechanism itself
     must  be configured by the administrator (see sge_conf(5) ).
     When it is  configured,  the  administrator  has  to  enable
     drmaa_transfer_files.     If    it    is   not   configured,
     "drmaa_transfer_files" is not enabled and can't be used.

ENVIRONMENTAL VARIABLES
     SGE_DRMAA_ALLOW_CWD
                    Enables the parsing of the -cwd  option  from
                    the sge_request file(s), job category, and/or
                    the  native  specification  attribute.   This
                    option  is  disabled  by  default because the
                    algorithm for parsing the -cwd option is  not
                    thread-safe.

     SGE_ROOT       Specifies the location of the Sun Grid Engine
                    standard configuration files.

     SGE_CELL       If set, specifies the default Sun Grid Engine
                    cell to be used. To address a Sun Grid Engine
                    cell Sun Grid Engine uses (in  the  order  of
                    precedence):

                         The name of the cell  specified  in  the
                         environment  variable SGE_CELL, if it is
                         set.

                         The  name  of  the  default  cell,  i.e.
                         default.


     SGE_DEBUG_LEVEL
                    If  set,  specifies  that  debug  information
                    should  be written to stderr. In addition the
                    level of detail in which debug information is
                    generated is defined.

     SGE_QMASTER_PORT
                    If set,  specifies  the  tcp  port  on  which
                    sge_qmaster(8) is expected to listen for com-
                    munication requests.  Most installations will
                    use  a  services  map entry instead to define
                    that port.

RETURN VALUES
     Upon  successful  completion,   drmaa_get_attribute_names(),
     drmaa_get_vector_attribute_names(),                      and
     drmaa_get_next_attr_name() return DRMAA_ERRNO_SUCCESS. Other
     values  indicate  an error.  Up to error_diag_len characters
     of error related diagnosis information is then  provided  in
     the buffer error_diagnosis.

ERRORS
     The                             drmaa_get_attribute_names(),
     drmaa_get_vector_attribute_names(),                      and
     drmaa_get_next_attr_name() functions will fail if:

  DRMAA_ERRNO_INTERNAL_ERROR
     Unexpected  or  internal  DRMAA  error,  like  system   call
     failure, etc.

  DRMAA_ERRNO_DRM_COMMUNICATION_FAILURE
     Could not contact DRM system for this request.

  DRMAA_ERRNO_AUTH_FAILURE
     The specified request is not processed successfully  due  to
     authorization failure.

  DRMAA_ERRNO_INVALID_ARGUMENT
     The input value for an argument is invalid.

  DRMAA_ERRNO_NO_ACTIVE_SESSION
     Failed because there is no active session.

  DRMAA_ERRNO_NO_MEMORY
     Failed allocating memory.

     The drmaa_get_next_attr_name() will fail if:

  DRMAA_ERRNO_INVALID_ATTRIBUTE_VALUE
     When there are no more entries in the vector.

SEE ALSO
     drmaa_jobtemplate(3)and drmaa_submit(3).

















Man(1) output converted with man2html