Veritas NetBackup™ DataStore SDK Programmer's Guide for XBSA 1.1.0
- Introduction to NetBackup XBSA
- How to set up the SDK
- Using the NetBackup XBSA interface
- NetBackup XBSA data structures
- NetBackup XBSA environment
- XBSA sessions and transactions
- Creating a NetBackup XBSA application
- How to build an XBSA application
- How to run a NetBackup XBSA application
- API reference
- Function calls
- Function specifications
- Type definitions
- Process flow and troubleshooting
- How to use the sample files
- Support and updates
- Appendix A. Register authorized locations
BSA_ObjectDescriptor
The BSA_ObjectDescriptor structure is used to describe an object. It is defined as follows:
#include <time.h>
typedef struct { BSA_UInt32 rsv1; BSA_ObjectOwner objectOwner; BSA_ObjectName objectName; struct tm createTime; BSA_CopyType copyType; BSA_UInt64 copyId; BSA_UInt64 restoreOrder; char rsv2[31]; char rsv3[31]; BSA_UInt64 estimatedSize; char resourceType[BSA_MAX_RESOURCETYPE]; BSA_ObjectType objectType; BSA_ObjectStatus objectStatus; char rsv4[31]; char objectDescription[BSA_MAX_DESCRIPTION]; unsigned char objectInfo[BSA_MAX_OBJECTINFO]; } BSA_ObjectDescriptor;
Some of the fields in this structure are supplied by the XBSA application (Direction = in), and some by the NetBackup XBSA interface (Direction = out). Some fields are optional.
The usage of the structure fields is defined as follows:
Table: BSA_ObjectDescriptor Structure Fields
Field Name | Definition | Supplied By | Status |
---|---|---|---|
rsv1 | Reserved field | - | - |
objectOwner | Owner of the object | Application | optional |
objectName | Object name | Application | mandatory |
createTime | Creates time | Interface | mandatory |
copyType | Copies type: archive or backup | Application | mandatory |
copyId | Unique object identifier | Interface | mandatory |
restoreOrder | Provides hints to the XBSA application that allow it to optimize the order of object retrieval requests | Interface | optional |
rsv2 | reserved field | - | - |
rsv3 | reserved field | - | - |
estimatedSize | Estimated object size in bytes, can be up to (2>64 - 1) bits | Application | mandatory |
resourceType | for example, a UNIX file system | Application | mandatory |
objectType | for example, file, directory, or database | Application | mandatory |
objectStatus | Most recent / Not most recent | Interface | mandatory |
rsv4 | reserved field | - | - |
objectDescription | Descriptive label for the object | Application | optional |
objectInfo | Application-specific information | Application | optional |
All values in a BSA_ObjectDescriptor must be valid before the BSA_ObjectDescriptor as a whole is valid. For enumerations valid values exclude the enumeration "ANY". For strings valid values are null-terminated.
The optional string value is the empty string. The optional restoreOrder value is zero. The optional objectInfo value is an empty string.
The mandatory objectName must have a non-empty string in the pathName field. The mandatory createTime must be a valid time in UTC. The mandatory copyId must be non-zero. The mandatory resourceType must have a non-empty string value.
All string values cannot contain any new line, carriage return, or line feed characters. Although this cannot cause an error when the object is being created, the object cannot be restored.