Veritas NetBackup™ DataStore SDK Programmer's Guide for XBSA 1.1.0

Last Published:
Product(s): NetBackup (9.0.0.1, 9.0)
  1. Introduction to NetBackup XBSA
    1.  
      About Introduction to NetBackup XBSA
    2.  
      What is NetBackup XBSA?
    3.  
      What does NetBackup XBSA do?
    4.  
      Terminology
    5.  
      Important concepts
    6.  
      Resources
  2. How to set up the SDK
    1.  
      System requirements
    2. Installing the SDK
      1.  
        Installation requirements
      2.  
        Installation instructions for UNIX platforms
      3.  
        Installation instructions for Windows platforms
    3.  
      Uninstalling the SDK
    4.  
      Configuration
    5.  
      Description of the XBSA SDK package
    6.  
      Library files
    7.  
      Header files
  3. Using the NetBackup XBSA interface
    1.  
      Getting help with the API
    2. NetBackup XBSA data structures
      1.  
        Object data
      2.  
        Object descriptors
      3.  
        Query descriptors
      4. Buffers
        1.  
          Buffer size
        2.  
          Private buffer space
        3.  
          Use of BSA_DataBlock32 in BSASendData()
        4.  
          Use of BSA_DataBlock32 in BSAGetData()
        5.  
          Shared memory
    3. NetBackup XBSA environment
      1.  
        Environment variable definitions
      2.  
        Extended environment variable definitions
    4. XBSA sessions and transactions
      1. Sessions
        1.  
          Initialization and termination
        2.  
          Authentication
      2. Transactions
        1.  
          Backup transaction
        2.  
          Restore transaction
        3.  
          Delete transaction
        4.  
          Query transaction
        5.  
          Media IDs transaction
    5. Creating a NetBackup XBSA application
      1. Initiating a session
        1.  
          Modifying the XBSA environment within a session
        2.  
          Session example
      2. Backup - creating an object
        1.  
          Creating an object
        2.  
          NetBackup object ownership
        3.  
          Creating an empty object
        4.  
          Backup example
      3. Query - finding an object descriptor
        1.  
          Querying for an object
        2.  
          Query example
      4. Restore - retrieving an object's data
        1.  
          Restoring an object
        2.  
          Redirected restore to a different client
        3.  
          Restore example
        4.  
          Multiple object restore
        5.  
          Multiple object restore example
      5. Delete - deleting an object or image
        1.  
          Delete example
      6. Media IDs - obtaining media IDs
        1.  
          Media ID example
      7.  
        Logging and NetBackup
      8.  
        Client in a cluster
      9.  
        Performance considerations
  4. How to build an XBSA application
    1.  
      Getting help
    2.  
      Flags and defines
    3.  
      How to build in debug mode
    4.  
      How to debug the application
    5.  
      Static libraries
    6.  
      Dynamic libraries
    7.  
      End-user configuration
  5. How to run a NetBackup XBSA application
    1. About How to run a NetBackup XBSA application
      1. Creating a NetBackup policy
        1.  
          Selecting a storage unit
        2.  
          Adding new schedules
        3.  
          Adding script files to the files list
        4.  
          Adding new clients
      2.  
        Running a NetBackup XBSA application
      3.  
        Backups and restores initiated by NetBackup (through a script)
      4.  
        Backups and restores from the command line
  6. API reference
    1.  
      Error messages
    2. Function calls
      1.  
        Conventions
    3. Function specifications
      1.  
        BSABeginTxn
      2.  
        BSACreateObject
      3.  
        BSADeleteObject
      4.  
        BSAEndData
      5.  
        BSAEndTxn
      6.  
        BSAGetData
      7.  
        BSAGetEnvironment
      8.  
        BSAGetLastError
      9.  
        BSAGetNextQueryObject
      10.  
        BSAGetObject
      11.  
        BSAInit
      12.  
        BSAQueryApiVersion
      13.  
        BSAQueryObject
      14.  
        BSAQueryServiceProvider
      15.  
        BSASendData
      16.  
        BSATerminate
      17.  
        NBBSAAddToMultiObjectRestoreList
      18.  
        NBBSADeleteImage
      19.  
        NBBSAEndGetMultipleObjects
      20.  
        NBBSAFreeJobInfo
      21.  
        NBBSAGetEnv
      22.  
        NBBSAGetErrorString
      23.  
        NBBSAGetJobId
      24.  
        NBBSAGetJobInfo
      25.  
        NBBSAGetMediaIds
      26.  
        NBBSAGetMultipleObjects
      27.  
        NBBSAGetServerError
      28.  
        NBBSALogMsg
      29.  
        NBBSASetEnv
      30.  
        NBBSAUpdateEnv
      31.  
        NBBSAValidateFeatureId
    4. Type definitions
      1. Enumerated types
        1.  
          BSA_CopyType
        2.  
          BSA_ObjectStatus
        3.  
          BSA_ObjectType
        4.  
          BSA_Vote
        5.  
          Constant values
      2. Data structures
        1.  
          BSA_ApiVersion
        2.  
          BSA_DataBlock32
        3.  
          BSA_ObjectDescriptor
        4.  
          BSA_ObjectName
        5.  
          BSA_ObjectOwner
        6.  
          BSA_QueryDescriptor
        7.  
          BSA_SecurityToken
  7. Process flow and troubleshooting
    1.  
      About Process flow and troubleshooting
    2. Backup
      1. Stream backup process flow description
        1.  
          Stream backup procedure
    3. Restore
      1. Stream restore process flow description
        1.  
          Stream restore procedure
  8. How to use the sample files
    1. What the sample files do
      1. Sample programs
        1.  
          Backup
        2.  
          Restore
        3.  
          Query
        4.  
          Delete
      2.  
        Sample scripts
    2.  
      Description of sample files
    3.  
      How to build the sample programs
  9. Support and updates
    1.  
      About Support and updates
  10. Appendix A. Register authorized locations
    1.  
      Registering authorized locations used by a NetBackup database script-based policy
  11.  
    Index

Environment variable definitions

The following XBSA environment variables are defined as part of the XBSA specification and are accepted by the NetBackup XBSA interface.

Table: XBSA Environment Variables

Variable Name

Description

Format

BSA_API_VERSION

Mandatory. Specifies the version of the specification that the calling XBSA application requires. BSAQueryApiVersion() can retrieve the value of the current NetBackup XBSA interface.

A string containing 3 numeric elements, (version, issue, level) separated by periods.

BSA_DELIMITER

Optional. The delimiter that is used in hierarchical character strings (default "/").

A single ASCII character.

BSA_SERVICE_PROVIDER

Optional. Identifies the XBSA implementation. BSAQueryServiceProvider() can retrieve this value.

A hierarchical character string with 3 fields.

BSA_SERVICE_HOST

Optional. Identifies a specific host system for the NetBackup server.

A string containing a host name.

In addition to the environment variables that are defined in the XBSA specification, the following NetBackup XBSA environment variables are defined as part of this specification. These are specific to NetBackup and are not relevant to other XBSA implementations. See the NetBackup System Administrator's Guide, Volume I, for a more complete definition of the NetBackup policy, schedule, and logging. The NetBackup environment variables all are prefaced with "NB."

Table: NetBackup Environment Variables

Variable Name

Description

Format

NBBSA_CLIENT_HOST

Optional. Identifies a specific host system for the NetBackup client.

A string containing a host name.

NBBSA_DB_TYPE

Optional. Specifies a specific policy type.

A string containing the policy type.

NBBSA_FEATURE_ID

Optional. Specifies a specific NetBackup licensed feature within the DataStore policy type.

An integer value.

NBBSA_KEYWORD

Optional. Specifies the NetBackup Keyword field for this image.

A string containing a keyword value <= 100 characters.

NBBSA_LOG_DIRECTORY

Optional. Identifies the name of directory that contains the log files of the XBSA application.

A string containing a single directory name.

NBBSA_OBJECT_GROUP

Optional. This variable is used to define the object group owner of an object being created.

A string containing the group.

NBBSA_OBJECT_OWNER

Optional. This variable is used to define the object owner of an object being created.

A string containing the owner.

NBBSA_OBJINFO_LEN

Optional. If this variable is set before an XBSA object is created, the objectInfo field is considered to be this length and the object is considered binary.

An integer value <= 256.

NBBSA_POLICY

Optional. Identifies a specific NetBackup policy to be used.

A string containing a NetBackup policy name.

NBBSA_SCHEDULE

Optional. Identifies a specific NetBackup XBSA schedule to be used.

A string containing a NetBackup schedule name.

NBBSA_USE_OBJECT_GROUP

Optional. This variable can be set to cause the group of an object to be something other than the logon user creating the object.

An integer value between 0 and 4.

NBBSA_USE_OBJECT_OWNER

Optional. This variable can be set to cause the owner of an object to be something other than the logon user creating the object.

An integer value between 0 and 4.

The following XBSA environment variables are set by the NetBackup XBSA interface from values in the NetBackup configuration files. These environment variables are used to pass required information from NetBackup to the XBSA application. Descriptions of these NetBackup configuration values can be found in the NetBackup System Administrator's Guide, Volume I.

Table: XBSA Environment Variables for NetBackup Configuration Values

Variable Name

Description

Format

NBBSA_VERBOSE_LEVEL

The verbose level of the database logs.

An integer value between 0 and 9.

NBBSA_MULTIPLEXING

The NetBackup multiplexing value.

An integer value.

NBBSA_SERVER_BUFFSIZE

The NetBackup server buffer size value.

An integer value in bytes.

NBBSA_MEDIA_MOUNT_TIMEOUT

The NetBackup MEDIA_MOUNT_TIMEOUT value.

An integer value in seconds.

NBBSA_CLIENT_READ_TIMEOUT

The NetBackup CLIENT_READ_TIMEOUT value. This value can be modified by the XBSA application.

An integer value in seconds.