xactl(1m)                                                            xactl(1m)


NAME
     xactl - extended accounting control

SYNOPSIS
     xactl [options...] subcommand

DESCRIPTION
     The xactl command is used to query or modify extended accounting behavior
     on a running system.  The particular operation to be performed is
     specified by subcommand, which may be in upper, lower or mixed case.

     The valid subcommands are:

     allownew
          Permits any member of an array session to start a new array session
          using the newarraysess(2) system call.  The handle of the array
          session is specified with the -ash option.  The user must be
          privileged to invoke this subcommand.  Notice that it is normally
          the case that a member of an array session can invoke newarraysess
          successfully; allownew would be used to undo a previous restrictnew
          subcommand.

     flushallsessions
          Similar to the flushsession subcommand, except that accounting
          information for all array sessions that are currently active will be
          flushed.  The user must be privileged to invoke this subcommand.

     flushsession
          Flushes any accounting information that has been accumulated for a
          particular array session.  The handle of the array session is
          specified with the -ash option.  If array session accounting is
          active (see extacct(5)), then a record reporting the resource usage
          information that has been accumulated by the array session will be
          written.  Array session accounting records that are written using
          this operation will be marked as "flushed" to indicate that
          subsequent records for the same array session may be forthcoming.
          Under normal circumstances, the resource usage for an array session
          only includes the resources used by processes that have already
          terminated; the flushed accounting data will not include the
          resources used by any members of the array session that are still
          running.  The user must be privileged to invoke this subcommand.

     getdfltspi
          Prints the current default Service Provider Information, which will
          be used to identify all array sessions that do not override the
          system default.

     getdfltspilen
          Prints the number of bytes of storage that is allocated to each new
          array session for Service Provider Information.


     getsaf
          Prints the current session accounting format (typically "1" or "2").

     getspi
          Prints the Service Provider Information associated with a particular
          array session.  The handle of the array session is specified with
          the -ash option.

     getspilen
          Prints the number of bytes of storage that have been allocated for
          Service Provider Information in a particular array session.  The
          handle of the array session is specified with the -ash option.

     restrictnew
          Restricts any member of an array session from starting a new array
          session using the newarraysess(2) system call; any attempt to do so
          will result in an EPERM error.  The handle of the array session is
          specified with the -ash option.  This restriction can be removed
          later using the allownew subcommand.

     sessioninfo
          Prints any accounting information that has been accumulated for a
          particular array session.  The handle of the array session is
          specified with the -ash option.  If the array session's accounting
          information has been flushed, then the accumulated charged
          accounting data from the time of the last flush will also be
          printed.  Note that if session accounting has not been enabled in
          the system, then most data will appear as "0".

     setdfltspi
          Set the default Service Provider Information that is to be assigned
          to any array session which has not set its own Service Provider
          Information.  This will take effect immediately, even for running
          array sessions.  For details on SPI-info, see "Specifying Service
          Provider Information" below.  The user must be privileged to invoke
          this subcommand.

     setdfltspilen
          Sets the number of bytes of storage that will be allocated to each
          new array session for Service Provider Information to the value
          specified by the -length option.  The new length must be in the
          range of 0 to 1024.  Note that once an array session has been
          created, it can change the amount of storage it has allocated for
          Service Provider Information with the setspilen subcommand or the
          arsop system call.  The user must be privileged to invoke this
          subcommand.

     setsaf
          Sets the current session accounting format to the value specified by
          the -format option.  The new format must be either "1" or "2".  All
          subsequent session accounting records that are generated by the
          kernel will be in the specified format.  Note that the session


          accounting format is different than the service provider information
          format.  The user must be privileged to invoke this subcommand.

     setspi
          Set the Service Provider Information associated with a particular
          array session.  The handle of the array session is specified with
          the -ash option.  For details on specifying the new service provider
          information, see "Specifying Service Provider Information" below.
          The user must be privileged to invoke this subcommand.

     setspilen
          Changes the number of bytes of storage that is allocated for Service
          Provider Information in a particular array session.  The handle of
          the array session is specified with the -ash option and the new
          length is specified with the -length option.  The new length must be
          in the range of 0 to 1024.  The user must be privileged to invoke
          this subcommand.

GENERAL OPTIONS
     The behavior of xactl can be modified by the following options.  They
     must be specified before the subcommand name.  Options that are
     irrelevant to a particular subcommand will be silently ignored.

     -ash handle or -h handle
          For subcommands that act on a single array session, this specifies
          the handle of the specific array session.  The default is to use the
          array session containing the process running xactl.

     -brief or -b
          Specifies that output should be briefer than normal, generally by
          omitting headers and other explanatory information.  This would
          useful when xactl is called from a script.

     -format fmt or -f fmt
          Specifies a format value.  For the setsaf subcommand, this would be
          the session accounting format, which must be either "1" or "2".  For
          subcommands that involve service provider information, this
          specifies an explicit format to be used when parsing command line
          options and/or printing the service provider information (see below
          for more details).  In this case, valid values are "0", "1" or "2".

     -length length or -l length
          For the setdfltspilen and setspilen subcommands, this specifies the
          new length of the service provider information buffer.  For
          subcommands that involve the service provider information itself,
          this specifies the number of bytes of service provider information
          that should actually be read or written for the array session.  If
          this is less than the amount of storage allocated to the array
          session for service provider information, then any remaining storage
          will be padded with zeroes.  In this case the default is to use
          exactly as many bytes as have been allocated to the array session
          for service provider information (see getdfltspilen and getspilen).


SPECIFYING SERVICE PROVIDER INFORMATION
     The setspi and setdfltspi subcommands allow the user to specify the
     service provider information associated with a particular array session
     or the default system settings, respectively.  Because service provider
     information is typically made up of several free-format fields, it may
     take several command line options to fully specify it.  For more
     information on service provider information, see array_services(5).

     Both format 1 and format 2 service provider information are supported, as
     well as a "format 0", which indicates unformatted data.  The format to be
     used can normally be inferred by xactl from the current length of the
     array session's service provider information: a length of 64 implies
     format 1, a length of 128 implies format 2, and any other length implies
     "format 0".  However, the -format option can be used to explicitly force
     a particular format to be used.

   Format 0 Options
     These options are mutually exclusive with each other and incompatible
     with the Format 1 and Format 2 options.

     -clear
          Reset the service provider information to zeroes.

     -default
          Reset the service provider information to the system default (same
          as -clear for the setdfltspi subcommand).

     -fill byte
          Fill the entire service provider information area with the value
          byte, an unsigned single-byte value.

   Format 1 Options
     These options are incompatible with the Format 0 options.  They also
     cannot be specified if the current length of the affected service
     provider information area is less than 64 bytes.  These options can by
     specified for Format 2 as well.

     -company string
          string contains up to 8 bytes of (typically ASCII) data to be stored
          in the spi_company field of the service provider information.

     -initiator string
          string contains up to 8 bytes of data to be stored in the
          spi_initiator field of the service provider information.

     -origin string
          string contains up to 16 bytes of data to be stored in the
          spi_origin field of the service provider information.

     -spi string
          string contains up to 16 bytes of data to be stored in the spi_spi
          field of the service provider information.


   Format 2 Options
     These options are incompatible with the Format 0 options.  They also
     cannot be specified if "-format 1" was specified, or if the current
     length of the affected service provider information area is less than 128
     bytes.

     -jobname string
          string contains up to 32 bytes of data to be stored in the
          spi_jobname field of the service provider information.

     -subtime ticks
          ticks is a signed 64-bit value to be stored in the spi_subtime field
          of the service provider information.

     -exectime ticks
          ticks is a signed 64-bit value to be stored in the spi_exectime
          field of the service provider information.

     -waittime ticks
          ticks is a signed 64-bit value to be stored in the spi_waittime
          field of the service provider information.

NOTES
     Extended accounting is not generally enabled in IRIX by default.  See
     extacct(5) for more details on using extended accounting.

SEE ALSO
     arsctl(2), arsop(2), array_sessions(5), extacct(5).


                                                                        Page 5