IPnom Home • Manuals • Legato NetWorker

 EMC Legato NetWorker Commands Reference

Legato NetWorker Stuff:NetWorker Commands ReferenceNetWorker Links
NetWorker Command Live Search (15 results max):
 Type in part of a Legato NetWorker command in the search box.
Legato NetWorker Commands Index:
  ansrd
  ascdcode
  cdi_block_limits
  cdi_bsf
  cdi_bsr
  cdi_eod
  cdi_filemark
  cdi_fsf
  cdi_fsr
  cdi_get_config
  cdi_get_status
  cdi_inq
  cdi_load_unload
  cdi_locate
  cdi_offline
  cdi_rewind
  cdi_set_compression
  cdi_space
  cdi_ta
  cdi_tapesize
  cdi_tur
  changers
  dasadmin
  ddmgr
  EMASS_silo
  erase
  generate_test_tape
  hadump
  hafs
  hagentd
  hagetconf
  haprune
  hascsi
  hasubmit
  hasys
  hpflip
  IBM_silo
  ielem
  inquire
  jbconfig
  jbexercise
  jbverify
  ldunld
  lgtolic
  lgtolmd
  libcdi
  libscsi
  libsji
  libstlemass
  libstlibm
  libstlstk
  lrescan
  lreset
  lus_add_fp_devs
  lusbinfo
  lusdebug
  mini_el
  mm_data
  mminfo
  mmlocate
  mmpool
  mmrecov
  msense
  mt
  ndmpjbconf
  networker
  nsr (1)
  nsr (5)
  nsr_archive_request
  nsr_client
  nsr_crash
  nsr_data
  nsr_device
  nsr_directive
  nsr_getdate
  nsr_group
  nsr_ize
  nsr_jukebox
  nsr_label
  nsr_layout
  nsr_license
  nsr_migration
  nsr_notification
  nsr_policy
  nsr_pool
  nsr_regexp
  nsr_resource
  nsr_schedule
  nsr_service
  nsr_shutdown
  nsr_stage
  nsr_storage_node
  nsr_support
  nsr_usergroup
  nsradmin
  nsralist
  nsrarchive
  nsrcap
  nsrcat
  nsrck
  nsrclone
  nsrcnct
  nsrd
  nsrexec
  nsrexecd
  nsrhsmck
  nsrhsmclear
  nsrhsmd
  nsrhsmls
  nsrhsmnfs
  nsrhsmrc
  nsrhsmrecall
  nsrib
  nsriba
  nsrim
  nsrindexasm
  nsrindexd
  nsrinfo
  nsrjb
  nsrlic
  nsrls
  nsrmig
  nsrmm
  nsrmmd
  nsrmmdbasm
  nsrmmdbd
  nsrmon
  nsrndmp_clone
  nsrndmp_recover
  nsrndmp_save
  nsrpmig
  nsrports
  nsrretrieve
  nsrssc
  nsrstage
  nsrtrap
  nsrwatch
  nwadmin
  nwarchive
  nwbackup
  nwrecover
  nwretrieve
  pathownerignore
  pmode
  preclntsave
  pstclntsave
  read_a_block
  recover
  relem
  resource
  save
  savefs
  savegrp
  savepnpc
  scanner
  sjiielm
  sjiinq
  sjimm
  sjirdp
  sjirdtag
  sjirelem
  sjirjc
  sjisn
  sn
  ssi
  stk_eject
  STK_silo
  stli
  sym2xdm
  tapeexercise
  tur
  uasm
  writebuf
   
   - Windows Only
  mt
  nsrlpr
  nsrperf


stli

stli - Standard Tape Library Interface

DESCRIPTION

       STLI  is the documented interface for connecting tape libraries to Net-
       Worker.
        Tape libraries are often referred  to  as  silos.   Examples  of  tape
       libraries  are StorageTek ACSLS silos and the IBM 3494.  Tape libraries
       differ from other jukeboxes supported by NetWorker in two major points:

       o The  tape  libraries  have  their own volume and slot management. The
         volumes are accessed by NetWorker  via  their  barcode  labels.   The
         exact location of a given tape is unknown to NetWorker.

       o The  interface  to  the  library  for  issuing requests like mount or
         unmount of particular volumes differs from that of  jukeboxes,  which
         are  normally  connected  via a SCSI or V24 interface.  Standard Tape
         Library commands are transmitted to a Standard Tape  Library  server,
         which  receives  these  commands  and invokes the appropriate library
         actions. Usually, the connection between NetWorker  and  the  Library
         controller  is over the network, although serial (RS-232) connections
         are also used. The actual connection is hidden from NetWorker by  the
         STL  library. NetWorker and other applications calling the STL server
         are called library clients.

       To keep applications independent of  differing  interfaces  to  various
       tape  library systems, an API called STLI (Standard Tape Library Inter-
       face) has been defined, which is used by NetWorker  to  invoke  library
       requests.   The STLI specifies a shared library with well defined func-
       tions, that is dynamically linked to NetWorker.  These  STLI  interface
       libraries,  which transform the STLI function calls to library-specific
       calls to the proprietary tape library server, may be provided by Legato
       or the manufacturers of the tape library.

       Not  all  functions  specified in this paper must be implemented in the
       STLI library. These functions are the minimum  necessary  for  a  func-
       tional library:

              stl_open()
              stl_close()
              stl_mount()
              stl_unmount()

       Implementation  of  stl_error()  is  recommended  for easier use of the
       library and better troubleshooting.

       If you wish to support dynamic device reservation these are  the  rele-
       vant functions:

              stl_reserve_dev()
              stl_release_dev()
              stl_dev_reservation()

       Optional fucntions for added features:


stl_close()

       Declaration:

              int stl_close(char* stl);

       Description:

              Close the connection to the tape library.

              <stl> is the handle returned by stl_open().

              The  return  value on success is STL_ERR_NOERR. For error return
              values see Appendix: Return Values.


stl_deposit_volume

       Declaration:

              int stl_deposit_volume(char *stl, char *volume, char *capname)

       Description:

              Causes the specified volume to be inserted into the library from
              the  specified  cartridge  access  port (inport/export facility,
              mailslot....)

              <stl> is the handle returned by stl_open().

              <volume> is the bar code of the volume to be deposited into  the
              library.

              <capname>  specifies  the  cartridge  access  port/inport-export
              area/mailslot to be used to insert the volume into the  library.
              It  is  a  character string, understood by the tape library as a
              name for that device.  This argument can be NULL, in which  case
              the default CAP will be used.

              This  function  returns  STL_ERR_NOERR if the volume is success-
              fully inserted.  STL_ERR_NOVOL is returned if the volume is  not
              present  and was not inserted.  Other return values are possible
              if errors occur.  See appendix for possible values.

              NOTE: on some libraries, this function may not be needed.

       o The IBM 3494 will automatically import  any  tapes  placed  into  its
         in/out area.  There is no 'deposit' function in the 3494's API.

       o StorageTek  libraries  with  the CAP set to automatic mode behave the
         same as the 3494.  However, if their CAP is set  to  manual,  then  a
         deposit call is required.

       o On EMASS/Grau libraries, a single call to deposit one volume from the
         EIF will deposit all available volumes.  However, subsequent  deposit
         calls will return quickly and the error can be ignored.


stl_deposit_volumes

       Declaration:

              int stl_deposit_volumes(char *stl, char *volumes, char *capname)
              with  either a single volume specified or with a comma separated
              list.

              <stl> is the handle returned by stl_open().

              <volumes> is a comma separated list of bar codes of the  volumes
              to be deposited into the library.  There should be no extraneous
              spaces added between the individual bar codes  since  the  space
              character (ASCII 32) is a valid bar code character itself.

              <capname>  specifies  the  cartridge  access  port/inport-export
              area/mailslot to be used to insert the volume into the  library.
              It  is  a  character  string,  which  is  understood by the tape
              library as a name for that device.  This argument can  be  NULL,
              in which case the default CAP will be used.

              This  function  returns  STL_ERR_NOERR if the volume is success-
              fully inserted.  STL_ERR_NOVOL is returned if the volume is  not
              present  and was not inserted.  Other return values are possible
              if errors occur.  See Appendix: Return Values.

              NOTE: on some libraries, this function may not be needed.

       o The IBM 3494 will automatically import  any  tapes  placed  into  its
         in/out area.  There is no 'deposit' function in the 3494's API.

       o StorageTek libraries with the CAP set to automatic mode behave in the
         same manner as the 3494.  However, if their CAP  is  set  to  manual,
         then a deposit call is required.

       o On EMASS/Grau libraries, a single call to deposit one volume from the
         EIF will in fact deposit all available volumes.  However,  subsequent
         deposit calls will return quickly and the error can be ignored.


stl_dev_reservation()

       Declaration:

              int stl_dev_reservation(char *stl, char *device, int *state)

       Description:

              Get the reservation state of device <device>.

              <stl> is the handle returned by stl_open().

              <device>  specifies  from  which  device  to get the reservation
              state.  It is a character string, understood by the tape library
              as a name for that device.

              *<state> returns the reservation state:

              STL_DEV_FREE:       Free

              STL_DEV_RESERVED:   Reserved for NetWorker's use

              STL_DEV_OCCUPIED:   Occupied by another host

       Description:

              Gives a printable error message belonging to the preceding  STLI
              function  call.   The  function  returns the address of a buffer
              which contains a message describing the status of the last  STLI
              function  call.  These  messages  can  be  constant strings, for
              instance, the messages contained in stl.h for error  codes  less
              than  100.  But  these messages can also be built up with actual
              parameters, which exactly describe the error situation.

              Error and other  status  information  should  be  maintained  in
              global  static  variables  in  the library, as this call is made
              without any parameters.

              The function returns NULL if no message available. See Appendix:
              Return Values.


stl_mount()

       Declaration:

              int stl_mount(char* stl, char* volume, char* device);

       Description:

              Move volume <volume> into drive <drive>.

              <stl> is the handle returned by stl_open().

              <volume> is the bar code of the volume to be mounted.

              <device>  specifies  the  device,  on  which the volume shall be
              mounted. It is  a  character  string,  understood  by  the  tape
              library as a name for that device.

              This  call  may  not  return until the volume is loaded into the
              drive and the drive is ready.  The exact sequence  is  dependent
              on the library.  It can take several minutes to complete.

              The  return  value  on  success  is STL_ERR_NOERR. See Appendix:
              Return Values.


stl_open()

       Declaration:

              int stl_open(char* server, char** stl);

       Description:

              Connect to the tape library.

              <server> is a character string which  contains  all  information
              necessary  to  establish  a  connection to the tape library. The
              information in this string is proprietary to the special type of
              tape library. Generally it should be of the form:

              [<host>] [<par1>=<val1> [<par2>=<val2>]...]

              be used to hold the required configuration information.

              The  return  value  on  success  is STL_ERR_NOERR. See Appendix:
              Return Values.


stl_query_volume

       Declaration:

              int stl_query_volume(char *stl, char *volume)

       Description:

              Queries a silo to establish the  presence  of  a  volume.   This
              function  is  currently  used to verify the presence of a volume
              before allocating that volume for use with NetWorker.

              <stl> is the handle returned by stl_open().

              <volume> is the bar code of the volume to be mounted.

              This function returns STL_ERR_NOERR if the volume is present, or
              STL_ERR_NOVOL if the volume is not present.

              Other return values are possible if errors occur.  See Appendix:
              Return Values.


stl_release_dev()

       Declaration:

              int stl_release_dev(char *stl, char *device);

       Description:

              Release device <device>, which has previously been  reserved  by
              stl_reserve_dev().

              <stl> is the handle returned by stl_open().

              <device> specifies the device to be released.  It is a character
              string, understood by the  tape  library  as  a  name  for  that
              device.

              The  return  value  on  success  is STL_ERR_NOERR. See Appendix:
              Return Values.


stl_reserve_dev()

       Declaration:

              int stl_reserve_dev(char *stl, char *device);

       Description:

              Reserves device <device> for NetWorker's use.

              <stl> is the handle returned by stl_open().

              <device> specifies the device to be reserved.  It is a character
              string,  understood  by  the  tape  library  as  a name for that
              int stl_version(void)

       Description:

              Returns STLI version information for the STL library

              This  function  returns  the  version  of  the STL library * 10.
              I.e., it returns a value of 12 for an STL library that  supports
              the functions for STLI version 1.2.

       STLI version 1.0 specified the following calls:

              stl_close()
              stl_dev_reservation()
              stl_mount()
              stl_open()
              stl_release_dev()
              stl_reserve_dev()
              stl_unmount()

       STLI version 1.1 added the following calls:

              stl_query_volume()
              stl_version()

       STLI version 1.2 added the following calls:

              stl_deposit_volume()
              stl_withdraw_volume()

       STLI version 1.3 added the following calls:

              stl_deposit_volumes()
              stl_withdraw_volumes()

              Note that stl_version does not return a value that can be inter-
              preted as an 'STL_' error.  Attempting to do so will  result  in
              unpredictable results.


stl_unmount()

       Declaration:

              int stl_unmount(char* stl, char* volume, char* device);

       Description:

              Remove volume <volume> from drive <drive>.

              <stl> is the handle returned by stl_open().

              <volume> is the bar code of the volume to be removed.

              <device>  specifies  the  device, from which the volume shall be
              removed. It is  a  character  string,  understood  by  the  tape
              library as a name for that device.

              Either  <volume>  or  <device>  can  be NULL. If both values are
              specified, they must be consistent.


stl_withdraw_volume

       Declaration:

              int stl_withdraw_volume(char *stl, char *volume, char *capname)

       Description:

              Causes  the  specified  volume  to  be  ejected from the library
              through  the  specified  cartridge  access  port  (inport/export
              facility, mailslot...).

              <stl> is the handle returned by stl_open().

              <volume> is the bar code of the volume to be withdrawn.

              <capname>  specifies  the  cartridge  access  port/inport-export
              area/mailslot to be used to remove the volume from the silo.  It
              is  a character string, understood by the tape library as a name
              for that device. This argument can be NULL, in  which  case  the
              default CAP will be used.

              This  function  returns  STL_ERR_NOERR if the volume is success-
              fully withdrawn from the library. STL_ERR_NOVOL is  returned  if
              the  volume  is not present.  STL_ERR_VOLBUSY is returned if the
              volume is currently in use and cannot be withdrawn.

              Other return values are possible if errors occur.  See Appendix:
              Return Values.


stl_withdraw_volumes

       Declaration:

              int  stl_withdraw_volumes(char  *stl,  char *volumes, char *cap-
              name)

       Description:

              Causes the specified volume  to  be  ejected  from  the  library
              through  the  specified  cartridge  access  port  (inport/export
              facility, mailslot....)  This function will be used  instead  of
              stl_withdraw_volume()  if  it is defined and stl_version returns
              1.3 or greater.  Therefore, it should be capable of  functioning
              with  either a single volume specified or with a comma separated
              list.

              <stl> is the handle returned by stl_open().

              <volumes>  is a comma separated list of bar codes of the volumes
              to be deposited into the library.  There should be no extraneous
              spaces added between the individual bar codes  since  the  space
              character (ASCII 32) is a valid bar code character itself.

              <capname>  specifies  the  cartridge  access  port/inport-export
              area/mailslot to be used to remove the volume from the silo.  It
              is  a character string, understood by the tape library as a name
              for that device. This argument can be NULL, in  which  case  the
              default CAP will be used.



Appendix: Return Values

       Return  values 0 - 99 are reserved for common, library type independent
       error codes. The header file stl.h defines  the  common  return  values
       together with a short error message.

       Return  values  greater 100 can be used by each STLI implementation for
       proprietary  error codes.

       It is recommended, that a STLI implementation should map all error sit-
       uations  to the common STLI error codes and should provide the function
       stl_error() for more detailed error messages. This allows NetWorker  to
       react on known error codes, but also to forward the more detailed error
       messages via the user interface.

       No proprietary error codes are allowed in situations, where the  common
       error  codes  STL_ERR_DEVEMPTY,  STL_ERR_DEVFULL  or STL_ERR_ALRDYMNTED
       apply.

       The currently defined return codes are:

       Error value          Meaning
       -------------------------------------------------------

       STL_ERR_NOERR
              Successful call return - no error

       STL_ERR_UNKNOWN
              Error, no details available

       STL_ERR_CONNECT
              Cannot connect to tape library

       STL_ERR_BUSY
              Tape library busy, try later

       STL_ERR_ACCESS
              Permission denied (to access the library, the requested  device,
              volume or operation)

       STL_ERR_NODEV
              Device not known to the tape library or physically not available

       STL_ERR_NOVOL
              Volume not known to the tape library or physically not available

       STL_ERR_DEVFULL
              Device already loaded with another volume

       STL_ERR_DEVEMPTY
              Device empty

       STL_ERR_DEVBUSY
              Device busy

       STL_ERR_ERRNO
              Local UNIX error, see errno


       STL_ERR_CONFIG
              Request doesn't comply with tape library configuration

       STL_ERR_DEVOCC
              Device reserved by another host

       STL_ERR_DEVRES
              Device already reserved

       STL_ERR_DEVNOTRES
              Device not reserved

       STL_ERR_NOTINST
              STLI-Library is a dummy library

       STL_ERR_NOTSUPP
              Dummy function return

       STL_ERR_ALRDYMNTED
              Requested volume already mounted in requested device


SEE ALSO

       nsrjb(1), nsr_jukebox(5), IBM_silo(1), EMASS_silo(1), STK_silo(1).


ADVERTISEMENT

Legato NetWorker 7.x

Man(1) output converted with man2html, sed, awk


 

Legato NetWorker Commands Reference • Legato NetWorker Links