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_DataBlock32
The BSA_DataBlock32 structure is used to pass data between an XBSA application and the NetBackup XBSA interface. It is defined as follows:
typedef struct { BSA_UInt32 bufferLen; BSA_UInt32 numBytes; BSA_UInt32 headerBytes; BSA_ShareId shareId; BSA_UInt32 shareOffset; void *bufferPtr } BSA_DataBlock32;
The usage of the structure fields is defined as follows:
Table: BSA_DataBlock32 Structure Fields
Field Name | Definition |
---|---|
bufferLen | Length of the allocated buffer |
numBytes | Actual number of bytes read from or written to the buffer, or the minimum number of bytes needed |
headerBytes | Number of bytes used at start of buffer for header information (offset to data portion of buffer) |
shareId | Value used to identify a shared memory block. |
shareOffset | Specifies the offset of the buffer in the shared memory block. |
bufferPtr | Pointer to the buffer |
The values assigned to the various structure fields would always obey the following relationships:
bufferLen >= headerBytes + numBytes
trailerBytes == (bufferLen - numBytes - headerBytes)
The header and trailer portions of the buffer are reserved for the use of the NetBackup XBSA interface, and should not be modified by the XBSA application. The XBSA application should only write to the data portion of the buffer, which is the only portion used for transferring application data.
The sizes for the header and trailer portions of the buffer that are required by the NetBackup XBSA interface are obtained by calling BSACreateObject() or BSAGetObject().