This appendix contains structure definitions, type definitions, and constants for the API. The first header files, dsmapitd.h and tsmapitd.h, illustrate the definitions that are common to all operating systems.
The second header file, dsmapips.h, provides an example of definitions that are specific to a particular operating system; in this example, the Windows platform.
The third header file, release.h, includes the version and release information.
The information that is provided here contains a point-in-time copy of the files that are distributed with the API. View the files in the API distribution package for the latest version.
/***********************************************************************
* Tivoli Storage Manager *
* API Client Component *
* *
* (C) Copyright IBM Corporation 1993,2010 *
***********************************************************************/
/**************************************************************************
* Header File Name: dsmapitd.h
*
* Environment: ************************************************
* ** This is a platform-independent source file **
*
* ************************************************
*
* Design Notes: This file contains basic data types and constants
* includable by all client source files. The constants
* within this file should be set properly for the
* particular machine and operating system on which the
* client software is to be run.
*
* Platform specific definitions are included in dsmapips.h
*
* Descriptive-name: Definitions for Tivoli Storage manager API constants
*-------------------------------------------------------------------------*/
#ifndef _H_DSMAPITD
#define _H_DSMAPITD
#include "dsmapips.h" /* Platform specific definitions*/
#include "release.h"
/*=== set the structure alignment to pack the structures ===*/
#if (_OPSYS_TYPE == DS_WINNT) && !defined(_WIN64)
#pragma pack(1)
#endif
#ifdef _MAC
/*=============================================================================
choices are:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/PowerPCRuntime/Data/chapter_2_section_3.html
#pragma option align=<mode>
where <mode> is power, mac68k, natural, or packed.
=============================================================================*/
#pragma options align=packed
#endif
typedef char osChar_t;
/*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>*/
/* D E F I N E S */
/*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>*/
/*-------------------------------------------------------------------------+
| API Version, Release, and Level to use in dsmApiVersion on dsmInit() |
+-------------------------------------------------------------------------*/
#define DSM_API_VERSION COMMON_VERSION
#define DSM_API_RELEASE COMMON_RELEASE
#define DSM_API_LEVEL COMMON_LEVEL
#define DSM_API_SUBLEVEL COMMON_SUBLEVEL
/*-------------------------------------------------------------------------+
| Maximum field lengths |
+-------------------------------------------------------------------------*/
#define DSM_MAX_CG_DEST_LENGTH 30 /* copy group destination */
#define DSM_MAX_CG_NAME_LENGTH 30 /* copy group name */
#define DSM_MAX_DESCR_LENGTH 255 /* archive description */
#define DSM_MAX_DOMAIN_LENGTH 30 /* policy domain name */
#define DSM_MAX_FSINFO_LENGTH 500 /* filespace info */
#define DSM_MAX_USER_FSINFO_LENGTH 480 /* max user filespace info*/
#define DSM_MAX_FSNAME_LENGTH 1024 /* filespace name */
#define DSM_MAX_FSTYPE_LENGTH 32 /* filespace type */
#define DSM_MAX_HL_LENGTH 1024 /* object high level name */
#define DSM_MAX_ID_LENGTH 64 /* session node name */
#define DSM_MAX_LL_LENGTH 256 /* object low level name */
#define DSM_MAX_MC_NAME_LENGTH 30 /* management class name */
#define DSM_MAX_OBJINFO_LENGTH 255 /* object info */
#define DSM_MAX_OWNER_LENGTH 64 /* object owner name */
#define DSM_MAX_PLATFORM_LENGTH 16 /* application type */
#define DSM_MAX_PS_NAME_LENGTH 30 /* policy set name */
#define DSM_MAX_SERVERTYPE_LENGTH 32 /* server platform type */
#define DSM_MAX_VERIFIER_LENGTH 64 /* password */
#define DSM_PATH_MAX 1024 /* API config file path */
#define DSM_NAME_MAX 255 /* API config file name */
#define DSM_MAX_NODE_LENGTH 64 /* node/machine name */
#define DSM_MAX_RC_MSG_LENGTH 1024 /* msg parm for dsmRCMsg */
#define DSM_MAX_SERVER_ADDRESS 1024 /* server address */
#define DSM_MAX_MC_DESCR_LENGTH DSM_MAX_DESCR_LENGTH /* mgmt class */
#define DSM_MAX_SERVERNAME_LENGTH DSM_MAX_ID_LENGTH /* server name */
#define DSM_MAX_GET_OBJ 4080 /* max objs on BeginGetData */
#define DSM_MAX_PARTIAL_GET_OBJ 1300 /* max partial objs on BeginGetData */
/*-------------------------------------------------------------------------+
| Minimum field lengths |
+-------------------------------------------------------------------------*/
#define DSM_MIN_COMPRESS_SIZE 2048 /* minimum number of bytes an object */
/* needs before compression is allowed*/
/*-------------------------------------------------------------------------+
| Values for mtFlag in dsmSetup call |
+-------------------------------------------------------------------------*/
#define DSM_MULTITHREAD bTrue
#define DSM_SINGLETHREAD bFalse
/*-------------------------------------------------------------------------+
| Values for object type in dsmObjName structure |
| Note: These values must be kept in sync with dsmcomm.h |
+-------------------------------------------------------------------------*/
#define DSM_OBJ_FILE 0x01 /*object has attrib info & data*/
#define DSM_OBJ_DIRECTORY 0x02 /*obj has only attribute info */
#define DSM_OBJ_RESERVED1 0x04 /* for future use */
#define DSM_OBJ_RESERVED2 0x05 /* for future use */
#define DSM_OBJ_RESERVED3 0x06 /* for future use */
#define DSM_OBJ_WILDCARD 0xFE /* Any object type */
#define DSM_OBJ_ANY_TYPE 0xFF /* for future use */
/*-------------------------------------------------------------------------+
| Type definition for compressedState in QryResp |
+-------------------------------------------------------------------------*/
#define DSM_OBJ_COMPRESSED_UNKNOWN 0
#define DSM_OBJ_COMPRESSED_YES 1
#define DSM_OBJ_COMPRESSED_NO 2
/*---------------------------------------------------------------------+
| Definitions for "group type" field in tsmGrouphandlerIn_t |
+---------------------------------------------------------------------*/
#define DSM_GROUPTYPE_NONE 0x00 /* Not a group member */
#define DSM_GROUPTYPE_RESERVED1 0x01 /* for future use */
#define DSM_GROUPTYPE_PEER 0x02 /* Peer group */
#define DSM_GROUPTYPE_RESERVED2 0x03 /* for future use */
/*---------------------------------------------------------------------+
| Definitions for "member type" field in tsmGrouphandlerIn_t |
+---------------------------------------------------------------------*/
#define DSM_MEMBERTYPE_LEADER 0x01 /* group leader */
#define DSM_MEMBERTYPE_MEMBER 0x02 /* group member */
/*---------------------------------------------------------------------+
| Definitions for "operation type" field in tsmGrouphandlerIn_t |
+---------------------------------------------------------------------*/
#define DSM_GROUP_ACTION_BEGIN 0x01
#define DSM_GROUP_ACTION_OPEN 0x02 /* create new group */
#define DSM_GROUP_ACTION_CLOSE 0x03 /* commit and save an open group */
#define DSM_GROUP_ACTION_ADD 0x04 /* Append to a group */
#define DSM_GROUP_ACTION_ASSIGNTO 0x05 /* Assign to a another group */
#define DSM_GROUP_ACTION_REMOVE 0x06 /* remove a member from a group */
/*-------------------------------------------------------------------------+
| Values for copySer in DetailCG structures for Query Mgmt Class response |
+-------------------------------------------------------------------------*/
#define Copy_Serial_Static 1 /*Copy Serialization Static */
#define Copy_Serial_Shared_Static 2 /*Copy Serialization Shared Static*/
#define Copy_Serial_Shared_Dynamic 3 /*Copy Serialization Shared Dynamic*/
#define Copy_Serial_Dynamic 4 /*Copy Serialization Dynamic */
/*-------------------------------------------------------------------------+
| Values for copyMode in DetailCG structures for Query Mgmt Class response |
+-------------------------------------------------------------------------*/
#define Copy_Mode_Modified 1 /*Copy Mode Modified */
#define Copy_Mode_Absolute 2 /*Copy Mode Absolute */
/*-------------------------------------------------------------------------+
| Values for objState in qryBackupData structure |
+-------------------------------------------------------------------------*/
#define DSM_ACTIVE 0x01 /* query only active objects */
#define DSM_INACTIVE 0x02 /* query only inactive objects */
#define DSM_ANY_MATCH 0xFF /* query all backup objects */
/*-------------------------------------------------------------------------+
| Boundary values for dsmDate.year field in qryArchiveData structure |
+-------------------------------------------------------------------------*/
#define DATE_MINUS_INFINITE 0x0000 /* lowest boundary */
#define DATE_PLUS_INFINITE 0xFFFF /* highest upper boundary */
/*-------------------------------------------------------------------------+
| Bits masks for update action parameter on dsmUpdateFS() |
+-------------------------------------------------------------------------*/
#define DSM_FSUPD_FSTYPE ((unsigned) 0x00000002)
#define DSM_FSUPD_FSINFO ((unsigned) 0x00000004)
#define DSM_FSUPD_BACKSTARTDATE ((unsigned) 0x00000008)
#define DSM_FSUPD_BACKCOMPLETEDATE ((unsigned) 0x00000010)
#define DSM_FSUPD_OCCUPANCY ((unsigned) 0x00000020)
#define DSM_FSUPD_CAPACITY ((unsigned) 0x00000040)
#define DSM_FSUPD_RESERVED1 ((unsigned) 0x00000100)
/*-------------------------------------------------------------------------+
| Bits mask for backup update action parameter on dsmUpdateObj() |
+-------------------------------------------------------------------------*/
#define DSM_BACKUPD_OWNER ((unsigned) 0x00000001)
#define DSM_BACKUPD_OBJINFO ((unsigned) 0x00000002)
#define DSM_BACKUPD_MC ((unsigned) 0x00000004)
#define DSM_ARCHUPD_OWNER ((unsigned) 0x00000001)
#define DSM_ARCHUPD_OBJINFO ((unsigned) 0x00000002)
#define DSM_ARCHUPD_DESCR ((unsigned) 0x00000004)
/*-------------------------------------------------------------------------+
| Values for repository parameter on dsmDeleteFS() |
+-------------------------------------------------------------------------*/
#define DSM_ARCHIVE_REP 0x0A /* archive repository */
#define DSM_BACKUP_REP 0x0B /* backup repository */
#define DSM_REPOS_ALL 0x01 /* all respository types */
/*-------------------------------------------------------------------------+
| Values for vote parameter on dsmEndTxn() |
+-------------------------------------------------------------------------*/
#define DSM_VOTE_COMMIT 1 /* commit current transaction */
#define DSM_VOTE_ABORT 2 /* roll back current transaction */
/*-------------------------------------------------------------------------+
| Values for various flags returned in ApiSessInfo structure. |
+-------------------------------------------------------------------------*/
/* Client compression field codes */
#define COMPRESS_YES 1 /* client must compress data */
#define COMPRESS_NO 2 /* client must NOT compress data */
#define COMPRESS_CD 3 /* client determined */
/* Archive delete permission codes. */
#define ARCHDEL_YES 1 /* archive delete allowed */
#define ARCHDEL_NO 2 /* archive delete NOT allowed */
/* Backup delete permission codes. */
#define BACKDEL_YES 1 /* backup delete allowed */
#define BACKDEL_NO 2 /* backup delete NOT allowed */
/*-------------------------------------------------------------------------+
Values for various flags returned in optStruct structure. |
-------------------------------------------------------------------------*/
#define DSM_PASSWD_GENERATE 1
#define DSM_PASSWD_PROMPT 0
#define DSM_COMM_TCP 1 /* tcpip */
#define DSM_COMM_NAMEDPIPE 2 /* Named pipes */
#define DSM_COMM_SHM 3 /* Shared Memory */
/* obsolete commmethods */
#define DSM_COMM_PVM_IUCV 12
#define DSM_COMM_3270 12
#define DSM_COMM_IUCV 12
#define DSM_COMM_PWSCS 12
#define DSM_COMM_SNA_LU6_2 12
#define DSM_COMM_IPXSPX 12 /* For IPX/SPX support */
#define DSM_COMM_NETBIOS 12 /* NETBIOS */
#define DSM_COMM_400COMM 12
#define DSM_COMM_CLIO 12 /* CLIO/S */
/*-------------------------------------------------------------------------+
| Values for userNameAuthorities in dsmInitEx for future use |
+-------------------------------------------------------------------------*/
#define DSM_USERAUTH_NONE ((dsInt16_t)0x0000)
#define DSM_USERAUTH_ACCESS ((dsInt16_t)0x0001)
#define DSM_USERAUTH_OWNER ((dsInt16_t)0x0002)
#define DSM_USERAUTH_POLICY ((dsInt16_t)0x0004)
#define DSM_USERAUTH_SYSTEM ((dsInt16_t)0x0008)
/*-------------------------------------------------------------------------+
| Values for encryptionType on dsmEndSendObjEx, queryResp |
+-------------------------------------------------------------------------*/
#define DSM_ENCRYPT_NO ((dsUint8_t)0x00)
#define DSM_ENCRYPT_USER ((dsUint8_t)0x01)
#define DSM_ENCRYPT_CLIENTENCRKEY ((dsUint8_t)0x02)
#define DSM_ENCRYPT_DES_56BIT ((dsUint8_t)0x04)
#define DSM_ENCRYPT_AES_128BIT ((dsUint8_t)0x08)
#define DSM_ENCRYPT_AES_256BIT ((dsUint8_t)0x10)
/*---------------------------------------------------------------------+
| Definitions for mediaClass field. |
+---------------------------------------------------------------------*/
/*
* The following constants define a hierarchy of media access classes.
* Lower numbers indicate media which can supply faster access to data.
*/
/* Fixed: represents the class of on-line, fixed media (such as
hard disks). */
#define MEDIA_FIXED 0x10
/* Library: represents the class of mountable media accessible
through a mechanical mounting device. */
#define MEDIA_LIBRARY 0x20
/* future use */
#define MEDIA_NETWORK 0x30
/* future use */
#define MEDIA_SHELF 0x40
/* future use */
#define MEDIA_OFFSITE 0x50
/* future use */
#define MEDIA_UNAVAILABLE 0xF0
/*-------------------------------------------------------------------------+
| Type definition for partial object data for dsmBeginGetData() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
dsStruct64_t partialObjOffset; /* offset into object to begin reading */
dsStruct64_t partialObjLength; /* amount of object to read */
} PartialObjData ; /* partial object data */
#define PartialObjDataVersion 1 /* */
/*-------------------------------------------------------------------------+
| Type definition for date structure |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t year; /* year, 16-bit integer (e.g., 1990) */
dsUint8_t month; /* month, 8-bit integer (1 - 12) */
dsUint8_t day; /* day. 8-bit integer (1 - 31) */
dsUint8_t hour; /* hour, 8-bit integer (0 - 23) */
dsUint8_t minute; /* minute, 8-bit integer (0 - 59) */
dsUint8_t second; /* second, b-bit integer (0 - 59) */
}dsmDate ;
/*-------------------------------------------------------------------------+
| Type definition for Object ID on dsmGetObj() and in dsmGetList structure|
+-------------------------------------------------------------------------*/
typedef dsStruct64_t ObjID ;
/*-------------------------------------------------------------------------+
| Type definition for dsmQueryBuff on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef void dsmQueryBuff ;
/*-------------------------------------------------------------------------+
| Type definition for dsmGetType parameter on dsmBeginGetData() |
+-------------------------------------------------------------------------*/
typedef enum
{
gtBackup = 0x00, /* Backup processing type */
gtArchive /* Archive processing type */
} dsmGetType ;
/*-------------------------------------------------------------------------+
| Type definition for dsmQueryType parameter on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef enum
{
qtArchive = 0x00, /* Archive query type */
qtBackup, /* Backup query type */
qtBackupActive, /* Fast query for active backup files */
qtFilespace, /* Filespace query type */
qtMC, /* Mgmt. class query type */
qtReserved1, /* future use */
qtReserved2, /* future use */
qtReserved3, /* future use */
qtReserved4, /* future use */
qtBackupGroups, /* group leaders in a specific fs */
qtOpenGroups, /* Open groups in a specific fs */
qtReserved5, /* future use */
qtProxyNodeAuth, /* nodes that his node can proxy to */
qtProxyNodePeer, /* Peer nodes with the same target */
qtReserved6, /* future use */
qtReserved7, /* future use */
qtReserved8 /* future use */
}dsmQueryType ;
/*-------------------------------------------------------------------------+
| Type definition sendType parameter on dsmBindMC() and dsmSendObj() |
+-------------------------------------------------------------------------*/
typedef enum
{
stBackup = 0x00, /* Backup processing type */
stArchive, /* Archive processing type */
stBackupMountWait, /* Backup processing with mountwait on */
stArchiveMountWait /* Archive processing with mountwait on */
}dsmSendType ;
/*-------------------------------------------------------------------------+
| Type definition for delType parameter on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef enum
{
dtArchive = 0x00, /* Archive delete type */
dtBackup, /* Backup delete (deactivate) type */
dtBackupID /* Backup delete (remove) type */
}dsmDelType ;
/*-------------------------------------------------------------------------+
| Type definition sendType parameter on dsmSetAccess() |
+-------------------------------------------------------------------------*/
typedef enum
{
atBackup = 0x00, /* Backup processing type */
atArchive /* Archive processing type */
}dsmAccessType;
/*-------------------------------------------------------------------------+
| Type definition for API Version on dsmInit() and dsmQueryApiVersion() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t version; /* API version */
dsUint16_t release; /* API release */
dsUint16_t level; /* API level */
}dsmApiVersion;
/*-------------------------------------------------------------------------+
| Type definition for API Version on dsmInit() and dsmQueryApiVersion() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
dsUint16_t version; /* API version */
dsUint16_t release; /* API release */
dsUint16_t level; /* API level */
dsUint16_t subLevel; /* API sub level */
dsmBool_t unicode; /* API unicode? */
}dsmApiVersionEx;
#define apiVersionExVer 2
/*-------------------------------------------------------------------------+
| Type definition for Application Version on dsmInit() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
dsUint16_t applicationVersion; /* application version number */
dsUint16_t applicationRelease; /* application release number */
dsUint16_t applicationLevel; /* application level number */
dsUint16_t applicationSubLevel; /* application sub level number */
} dsmAppVersion;
#define appVersionVer 1
/*-------------------------------------------------------------------------+
| Type definition for object name used on BindMC, Send, Delete, Query |
+-------------------------------------------------------------------------*/
typedef struct S_dsmObjName
{
char fs[DSM_MAX_FSNAME_LENGTH + 1] ; /* Filespace name */
char hl[DSM_MAX_HL_LENGTH + 1] ; /* High level name */
char ll[DSM_MAX_LL_LENGTH + 1] ; /* Low level name */
dsUint8_t objType; /* for object type values, see defines above */
}dsmObjName;
/*-------------------------------------------------------------------------+
| Type definition for Backup delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsmObjName *objNameP ; /* object name */
dsUint32_t copyGroup ; /* copy group */
}delBack ;
#define delBackVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Archive delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsStruct64_t objId ; /* object ID */
}delArch ;
#define delArchVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Backup ID delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsStruct64_t objId ; /* object ID */
}delBackID;
#define delBackIDVersion 1
/*-------------------------------------------------------------------------+
| Type definition for delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef union
{
delBack backInfo ;
delArch archInfo ;
delBackID backIDInfo ;
}dsmDelInfo ;
/*-------------------------------------------------------------------------+
| Type definition for Object Attribute parameter on dsmSendObj() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
char owner[DSM_MAX_OWNER_LENGTH + 1]; /* object owner */
dsStruct64_t sizeEstimate; /* Size estimate in bytes of the object */
dsmBool_t objCompressed; /* Is object already compressed? */
dsUint16_t objInfoLength; /* length of object-dependent info */
char *objInfo; /* object-dependent info */
char *mcNameP; /* mgmnt class name for override */
dsmBool_t disableDeduplication; /* force no dedup for this object */
}ObjAttr;
#define ObjAttrVersion 3
/*-------------------------------------------------------------------------+
| Type definition for mcBindKey returned on dsmBindMC() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* structure version */
char mcName[DSM_MAX_MC_NAME_LENGTH + 1];
/* Name of mc bound to object. */
dsmBool_t backup_cg_exists; /* True/false */
dsmBool_t archive_cg_exists; /* True/false */
char backup_copy_dest[DSM_MAX_CG_DEST_LENGTH + 1];
/* Backup copy dest. name */
char archive_copy_dest[DSM_MAX_CG_DEST_LENGTH + 1];
/* Arch copy dest.name */
}mcBindKey;
#define mcBindKeyVersion 1
/*-------------------------------------------------------------------------+
| Type definition for object list on dsmBeginGetData() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsUint32_t numObjId ; /* number of object IDs in the list */
ObjID *objId ; /* list of object IDs to restore*/
PartialObjData *partialObjData; /*list of partial obj data info */
}dsmGetList ;
#define dsmGetListVersion 2 /* default if not using Partial Obj data */
#define dsmGetListPORVersion 3 /* version if using Partial Obj data */
/*-------------------------------------------------------------------------+
| Type definition for DataBlk used to Get or Send data |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsUint32_t bufferLen; /* Length of buffer passed below */
dsUint32_t numBytes; /* Actual number of bytes read from */
/* or written to the buffer */
char *bufferPtr; /* Data buffer */
dsUint32_t numBytesCompressed; /* on send actual bytes compressed */
dsUint16_t reserved; /* for future use */
}DataBlk;
#define DataBlkVersion 3
/*-------------------------------------------------------------------------+
| Type definition for Mgmt Class queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct S_qryMCData
{
dsUint16_t stVersion; /* structure version */
char *mcName; /* Mgmt class name */
/* single name to get one or empty string to get all*/
dsmBool_t mcDetail; /* Want details or not? */
}qryMCData;
#define qryMCDataVersion 1
/*=== values for RETINIT ===*/
#define ARCH_RETINIT_CREATE 0
#define ARCH_RETINIT_EVENT 1
/*-------------------------------------------------------------------------+
| Type definition for Archive Copy Group details on Query MC response |
+-------------------------------------------------------------------------*/
typedef struct S_archDetailCG
{
char cgName[DSM_MAX_CG_NAME_LENGTH + 1]; /* Copy group name */
dsUint16_t frequency; /* Copy (archive) frequency */
dsUint16_t retainVers; /* Retain version */
dsUint8_t copySer; /* for copy serialization values, see defines */
dsUint8_t copyMode; /* for copy mode values, see defines above */
char destName[DSM_MAX_CG_DEST_LENGTH + 1]; /* Copy dest name */
dsmBool_t bLanFreeDest; /* Destination has lan free path? */
dsmBool_t reserved; /* Not currently used */
dsUint8_t retainInit; /* possible values see above */
dsUint16_t retainMin; /* if retInit is EVENT num of days */
dsmBool_t bDeduplicate; /* destination has dedup enabled */
}archDetailCG;
/*-------------------------------------------------------------------------+
| Type definition for Backup Copy Group details on Query MC response |
+-------------------------------------------------------------------------*/
typedef struct S_backupDetailCG
{
char cgName[DSM_MAX_CG_NAME_LENGTH + 1]; /* Copy group name */
dsUint16_t frequency; /* Backup frequency */
dsUint16_t verDataExst; /* Versions data exists */
dsUint16_t verDataDltd; /* Versions data deleted */
dsUint16_t retXtraVers; /* Retain extra versions */
dsUint16_t retOnlyVers; /* Retain only versions */
dsUint8_t copySer; /* for copy serialization values, see defines */
dsUint8_t copyMode; /* for copy mode values, see defines above */
char destName[DSM_MAX_CG_DEST_LENGTH + 1]; /* Copy dest name */
dsmBool_t bLanFreeDest; /* Destination has lan free path? */
dsmBool_t reserved; /* Not currently used */
dsmBool_t bDeduplicate; /* destination has dedup enabled */
}backupDetailCG;
/*-------------------------------------------------------------------------+
| Type definition for Query Mgmt Class detail response on dsmGetNextQObj()|
+-------------------------------------------------------------------------*/
typedef struct S_qryRespMCDetailData
{
dsUint16_t stVersion; /* structure version */
char mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
char mcDesc[DSM_MAX_MC_DESCR_LENGTH + 1]; /*mc description */
archDetailCG archDet; /* Archive copy group detail */
backupDetailCG backupDet; /* Backup copy group detail */
}qryRespMCDetailData;
#define qryRespMCDetailDataVersion 4
/*-------------------------------------------------------------------------+
| Type definition for Query Mgmt Class summary response on dsmGetNextQObj()|
+-------------------------------------------------------------------------*/
typedef struct S_qryRespMCData
{
dsUint16_t stVersion; /* structure version */
char mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
char mcDesc[DSM_MAX_MC_DESCR_LENGTH + 1]; /* mc description */
}qryRespMCData;
#define qryRespMCDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Archive queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct S_qryArchiveData
{
dsUint16_t stVersion; /* structure version */
dsmObjName *objName; /* Full dsm name of object */
char *owner; /* owner name */
/* for maximum date boundaries, see defines above */
dsmDate insDateLowerBound; /* low bound archive insert date */
dsmDate insDateUpperBound; /* hi bound archive insert date */
dsmDate expDateLowerBound; /* low bound expiration date */
dsmDate expDateUpperBound; /* hi bound expiration date */
char *descr; /* archive description */
} qryArchiveData;
#define qryArchiveDataVersion 1
/*=== values for retentionInitiated field ===*/
#define DSM_ARCH_RETINIT_UNKNOWN 0 /* ret init is unknown (down-level srv) */
#define DSM_ARCH_RETINIT_STARTED 1 /* retention clock is started */
#define DSM_ARCH_RETINIT_PENDING 2 /* retention clock is not started */
/*=== Values for objHeld ===*/
#define DSM_ARCH_HELD_UNKNOWN 0 /* unknown hold status (down-level srv) */
#define DSM_ARCH_HELD_FALSE 1 /* object is NOT in a delete hold state */
#define DSM_ARCH_HELD_TRUE 2 /* object is in a delete hold state */
/*-------------------------------------------------------------------------+
| Type definition for Query Archive response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct S_qryRespArchiveData
{
dsUint16_t stVersion; /* structure version */
dsmObjName objName; /* Filespace name qualifier */
dsUint32_t copyGroup; /* copy group number */
char mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
char owner[DSM_MAX_OWNER_LENGTH + 1]; /* owner name */
dsStruct64_t objId; /* Unique copy id */
dsStruct64_t reserved; /* backward compatability */
dsUint8_t mediaClass; /* media access class */
dsmDate insDate; /* archive insertion date */
dsmDate expDate; /* expiration date for object */
char descr[DSM_MAX_DESCR_LENGTH + 1]; /* archive description */
dsUint16_t objInfolen; /* length of object-dependent info*/
char objInfo[DSM_MAX_OBJINFO_LENGTH]; /*object-dependent info */
dsUint160_t restoreOrderExt; /* restore order */
dsStruct64_t sizeEstimate; /* size estimate stored by user*/
dsUint8_t compressType; /* Compression flag*/
dsUint8_t retentionInitiated; /* object waiting on retention event*/
dsUint8_t objHeld; /*object is on retention "hold" see values above*/
dsUint8_t encryptionType; /* type of encryption */
dsmBool_t clientDeduplicated; /* obj deduplicated by API*/
}qryRespArchiveData;
#define qryRespArchiveDataVersion 6
/*-------------------------------------------------------------------------+
| Type definition for Archive sendBuff parameter on dsmSendObj() |
+-------------------------------------------------------------------------*/
typedef struct S_sndArchiveData
{
dsUint16_t stVersion; /* structure version */
char *descr; /* archive description */
}sndArchiveData;
#define sndArchiveDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Backup queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct S_qryBackupData
{
dsUint16_t stVersion; /* structure version */
dsmObjName *objName; /* full dsm name of object */
char *owner; /* owner name */
dsUint8_t objState; /* object state selector */
dsmDate pitDate; /* Date value for point in time restore */
/* for possible values, see defines above */
}qryBackupData;
#define qryBackupDataVersion 2
typedef struct
{
dsUint8_t reserved1;
dsStruct64_t reserved2;
} reservedInfo_t; /* for future use */
/*-------------------------------------------------------------------------+
| Type definition for Query Backup response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct S_qryRespBackupData
{
dsUint16_t stVersion; /* structure version */
dsmObjName objName; /* full dsm name of object */
dsUint32_t copyGroup; /* copy group number */
char mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
char owner[DSM_MAX_OWNER_LENGTH + 1]; /* owner name */
dsStruct64_t objId; /* Unique object id */
dsStruct64_t reserved; /* backward compatability */
dsUint8_t mediaClass; /* media access class */
dsUint8_t objState; /* Obj state, active, etc. */
dsmDate insDate; /* backup insertion date */
dsmDate expDate; /* expiration date for object */
dsUint16_t objInfolen; /* length of object-dependent info*/
char objInfo[DSM_MAX_OBJINFO_LENGTH]; /*object-dependent info */
dsUint160_t restoreOrderExt; /* restore order */
dsStruct64_t sizeEstimate; /* size estimate stored by user */
dsStruct64_t baseObjId;
dsUint16_t baseObjInfolen; /* length of base object-dependent info*/
dsUint8_t baseObjInfo[DSM_MAX_OBJINFO_LENGTH]; /* base object-dependent info */
dsUint160_t baseRestoreOrder; /* restore order */
dsUint32_t fsID;
dsUint8_t compressType;
dsmBool_t isGroupLeader;
dsmBool_t isOpenGroup;
dsUint8_t reserved1; /* for future use */
dsmBool_t reserved2; /* for future use */
dsUint16_t reserved3; /* for future use */
reservedInfo_t *reserved4; /* for future use */
dsUint8_t encryptionType; /* type of encryption */
dsmBool_t clientDeduplicated; /* obj deduplicated by API*/
}qryRespBackupData;
#define qryRespBackupDataVersion 7
/*-------------------------------------------------------------------------+
| Type definition for Active Backup queryBuffer on dsmBeginQuery()
|
| Notes: For the active backup query, only the fs (filespace) and objType
| fields of objName need be set. objType can only be set to
| DSM_OBJ_FILE or DSM_OBJ_DIRECTORY. DSM_OBJ_ANY_TYPE will not
| find a match on the query.
+-------------------------------------------------------------------------*/
typedef struct S_qryABackupData
{
dsUint16_t stVersion; /* structure version */
dsmObjName *objName; /* Only fs and objtype used */
}qryABackupData;
#define qryABackupDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Query Active Backup response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct S_qryARespBackupData
{
dsUint16_t stVersion; /* structure version */
dsmObjName objName; /* full dsm name of object */
dsUint32_t copyGroup; /* copy group number */
char mcName[DSM_MAX_MC_NAME_LENGTH + 1];/*management class name*/
char owner[DSM_MAX_OWNER_LENGTH + 1]; /* owner name */
dsmDate insDate; /* backup insertion date */
dsUint16_t objInfolen; /* length of object-dependent info*/
char objInfo[DSM_MAX_OBJINFO_LENGTH]; /*object-dependent info */
}qryARespBackupData;
#define qryARespBackupDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Backup queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct qryBackupGroups
{
dsUint16_t stVersion; /* structure version */
dsUint8_t groupType;
char *fsName;
char *owner;
dsStruct64_t groupLeaderObjId;
dsUint8_t objType;
dsmBool_t noRestoreOrder;
dsmBool_t noGroupInfo;
}qryBackupGroups;
#define qryBackupGroupsVersion 2
/*-------------------------------------------------------------------------+
| Type definition for proxynode queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct qryProxyNodeData
{
dsUint16_t stVersion; /* structure version */
char *targetNodeName; /* target node name */
}qryProxyNodeData;
#define qryProxyNodeDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for qryRespProxyNodeData parameter used on dsmGetNextQObj()|
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
char targetNodeName[DSM_MAX_ID_LENGTH+1]; /* target node name */
char peerNodeName[DSM_MAX_ID_LENGTH+1]; /* Peer node name */
char hlAddress[DSM_MAX_ID_LENGTH+1]; /* peer hlAddress */
char llAddress[DSM_MAX_ID_LENGTH+1]; /* peer hlAddress */
}qryRespProxyNodeData;
#define qryRespProxyNodeDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for WINNT and OS/2 Filespace attributes |
+-------------------------------------------------------------------------*/
typedef struct
{
char driveLetter ; /* drive letter for filespace */
dsUint16_t fsInfoLength; /* fsInfo length used */
char fsInfo[DSM_MAX_FSINFO_LENGTH];/*caller-determined data */
}dsmDosFSAttrib ;
/*-------------------------------------------------------------------------+
| Type definition for UNIX Filespace attributes |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t fsInfoLength; /* fsInfo length used */
char fsInfo[DSM_MAX_FSINFO_LENGTH];/*caller-determined data */
}dsmUnixFSAttrib ;
/*-------------------------------------------------------------------------+
| Type definition for NetWare Filespace attributes |
+-------------------------------------------------------------------------*/
typedef dsmUnixFSAttrib dsmNetwareFSAttrib;
/*-------------------------------------------------------------------------+
| Type definition for Filespace attributes on all Filespace calls |
+-------------------------------------------------------------------------*/
typedef union
{
dsmNetwareFSAttrib netwareFSAttr;
dsmUnixFSAttrib unixFSAttr ;
dsmDosFSAttrib dosFSAttr ;
}dsmFSAttr ;
/*-------------------------------------------------------------------------+
| Type definition for fsUpd parameter on dsmUpdateFS()
+-------------------------------------------------------------------------*/
typedef struct S_dsmFSUpd
{
dsUint16_t stVersion ; /* structure version */
char *fsType ; /* filespace type */
dsStruct64_t occupancy ; /* occupancy estimate */
dsStruct64_t capacity ; /* capacity estimate */
dsmFSAttr fsAttr ; /* platform specific attributes */
}dsmFSUpd ;
#define dsmFSUpdVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Filespace queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct S_qryFSData
{
dsUint16_t stVersion; /* structure version */
char *fsName; /* File space name */
}qryFSData;
#define qryFSDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Query Filespace response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct S_qryRespFSData
{
dsUint16_t stVersion; /* structure version */
char fsName[DSM_MAX_FSNAME_LENGTH + 1]; /* Filespace name */
char fsType[DSM_MAX_FSTYPE_LENGTH + 1] ; /* Filespace type */
dsStruct64_t occupancy; /* Occupancy est. in bytes.*/
dsStruct64_t capacity; /* Capacity est. in bytes. */
dsmFSAttr fsAttr ; /* platform specific attributes */
dsmDate backStartDate; /* start backup date */
dsmDate backCompleteDate; /* end backup Date */
dsmDate reserved1; /* For future use */
dsmDate lastReplStartDate; /* The last time replication was started */
dsmDate lastReplCmpltDate; /* The last time replication completed */
/* (could have had a failure, */
/* but it still completes) */
dsmDate lastBackOpDateFromServer; /* The last store time stamp the client */
/* saved on the server */
dsmDate lastArchOpDateFromServer; /* The last store time stamp the client */
/* saved on the server */
dsmDate lastSpMgOpDateFromServer; /* The last store time stamp the client */
/* saved on the server */
dsmDate lastBackOpDateFromLocal; /* The last store time stamp the client */
/* saved on the Local */
dsmDate lastArchOpDateFromLocal; /* The last store time stamp the client */
/* saved on the Local */
dsmDate lastSpMgOpDateFromLocal; /* The last store time stamp the client */
/* saved on the Local */
dsInt32_t failOverWriteDelay; /* Minutes for client to wait before allowed */
/* to store to this Repl srvr, Specail codes: */
/* NO_ACCESS(-1), ACCESS_RDONLY (-2) */
}qryRespFSData;
#define qryRespFSDataVersion 4
/*-------------------------------------------------------------------------+
| Type definition for regFilespace parameter on dsmRegisterFS()
+-------------------------------------------------------------------------*/
typedef struct S_regFSData
{
dsUint16_t stVersion; /* structure version */
char *fsName; /* Filespace name */
char *fsType; /* Filespace type */
dsStruct64_t occupancy; /* Occupancy est. in bytes. */
dsStruct64_t capacity; /* Capacity est. in bytes. */
dsmFSAttr fsAttr ; /* platform specific attributes */
}regFSData;
#define regFSDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dedupType used in apisessInfo |
+-------------------------------------------------------------------------*/
typedef enum
{
dedupServerOnly= 0x00, /* dedup only done on server */
dedupClientOrServer /* dedup can be done on client or server */
}dsmDedupType ;
/*-------------------------------------------------------------------------+
| Type definition for fail over configuration and status
-------------------------------------------------------------------------*/
typedef enum
{
failOvrNotConfigured = 0x00,
failOvrConfigured,
failOvrConnectedToReplServer
}dsmFailOvrCfgType ;
/*-------------------------------------------------------------------------+
| Type definition for session info response on dsmQuerySessionInfo() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
/*------------------------------------------------------------------*/
/* Server information */
/*------------------------------------------------------------------*/
char serverHost[DSM_MAX_SERVERNAME_LENGTH+1];
/* Network host name of DSM server */
dsUint16_t serverPort; /* Server comm port on host */
dsmDate serverDate; /* Server's date/time */
char serverType[DSM_MAX_SERVERTYPE_LENGTH+1];
/* Server's execution platform */
dsUint16_t serverVer; /* Server's version number */
dsUint16_t serverRel; /* Server's release number */
dsUint16_t serverLev; /* Server's level number */
dsUint16_t serverSubLev; /* Server's sublevel number */
/*------------------------------------------------------------------*/
/* Client Defaults */
/*------------------------------------------------------------------*/
char nodeType[DSM_MAX_PLATFORM_LENGTH+1]; /*node/application type*/
char fsdelim; /* File space delimiter */
char hldelim; /* Delimiter betw highlev & lowlev */
dsUint8_t compression; /* Compression flag */
dsUint8_t archDel; /* Archive delete permission */
dsUint8_t backDel; /* Backup delete permission */
dsUint32_t maxBytesPerTxn; /* for future use */
dsUint16_t maxObjPerTxn; /* The max objects allowed in a txn */
/*------------------------------------------------------------------*/
/* Session Information */
/*------------------------------------------------------------------*/
char id[DSM_MAX_ID_LENGTH+1]; /* Sign-in id node name */
char owner[DSM_MAX_OWNER_LENGTH+1]; /* Sign-in owner */
/* (for multi-user platforms) */
char confFile[DSM_PATH_MAX + DSM_NAME_MAX +1];
/* len is platform dep */
/* dsInit name of appl config file */
dsUint8_t opNoTrace; /* dsInit option - NoTrace = 1 */
/*------------------------------------------------------------------*/
/* Policy Data */
/*------------------------------------------------------------------*/
char domainName[DSM_MAX_DOMAIN_LENGTH+1]; /* Domain name */
char policySetName[DSM_MAX_PS_NAME_LENGTH+1];
/* Active policy set name */
dsmDate polActDate; /* Policy set activation date */
char dfltMCName[DSM_MAX_MC_NAME_LENGTH+1];/* Default Mgmt Class */
dsUint16_t gpBackRetn; /* Grace-period backup retention */
dsUint16_t gpArchRetn; /* Grace-period archive retention */
char adsmServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* adsm server name */
dsmBool_t archiveRetentionProtection; /* is server Retention protection enabled */
dsStruct64_t maxBytesPerTxn_64; /* for future use */
dsmBool_t lanFreeEnabled; /* lan free option is set */
dsmDedupType dedupType; /* server or clientOrServer */
char accessNode[DSM_MAX_ID_LENGTH+1]; /* as node node name */
/*------------------------------------------------------------------*/
/* Replication and fail over information */
/*------------------------------------------------------------------*/
dsmFailOvrCfgType failOverCfgType; /* status of fail over */
char replServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* repl server name */
char homeServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* home server name */
char replServerHost[DSM_MAX_SERVERNAME_LENGTH+1]; /* Network host name of DSM server */
dsInt32_t replServerPort; /* Server comm port on host */
}ApiSessInfo;
#define ApiSessInfoVersion 6
/*-------------------------------------------------------------------------+
| Type definition for Query options response on dsmQueryCliOptions() |
| and dsmQuerySessOptions() |
+-------------------------------------------------------------------------*/
typedef struct
{
char dsmiDir[DSM_PATH_MAX + DSM_NAME_MAX +1];
char dsmiConfig[DSM_PATH_MAX + DSM_NAME_MAX +1];
char serverName[DSM_MAX_SERVERNAME_LENGTH+1];
dsInt16_t commMethod;
char serverAddress[DSM_MAX_SERVER_ADDRESS];
char nodeName[DSM_MAX_NODE_LENGTH+1];
dsmBool_t compression;
dsmBool_t compressalways;
dsmBool_t passwordAccess;
}optStruct ;
/*-------------------------------------------------------------------------+
| Type definition for LogType used in logInfo |
+-------------------------------------------------------------------------*/
typedef enum
{
logServer = 0x00, /* log msg only to server */
logLocal, /* log msg only to local error log */
logBoth, /* log msg to server and to local error log */
logNone
}dsmLogType ;
/*-------------------------------------------------------------------------+
| Type definition for logInfo parameter used on dsmLogEvent() |
+-------------------------------------------------------------------------*/
typedef struct
{
char *message; /* text of message to be logged */
dsmLogType logType; /* log type : local, server, both */
}logInfo;
/*-------------------------------------------------------------------------+
| Type definition for qryRespAccessData parameter used on dsmQueryAccess()|
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
char node[DSM_MAX_ID_LENGTH+1]; /* node name */
char owner[DSM_MAX_OWNER_LENGTH+1]; /* owner */
dsmObjName objName ; /* object name */
dsmAccessType accessType; /* archive or backup */
dsUint32_t ruleNumber ; /* Access rule id */
}qryRespAccessData;
#define qryRespAccessDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for envSetUp parameter on dsmSetUp()
+-------------------------------------------------------------------------*/
typedef struct S_envSetUp
{
dsUint16_t stVersion; /* structure version */
char dsmiDir[DSM_PATH_MAX + DSM_NAME_MAX +1];
char dsmiConfig[DSM_PATH_MAX + DSM_NAME_MAX +1];
char dsmiLog[DSM_PATH_MAX + DSM_NAME_MAX +1];
char **argv; /* for executables name argv[0] */
char logName[DSM_NAME_MAX +1];
dsmBool_t reserved1; /* for future use */
dsmBool_t reserved2; /* for future use */
}envSetUp;
#define envSetUpVersion 4
/*-------------------------------------------------------------------------+
| Type definition for dsmInitExIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmInitExIn_t
{
dsUint16_t stVersion; /* structure version */
dsmApiVersionEx *apiVersionExP;
char *clientNodeNameP;
char *clientOwnerNameP;
char *clientPasswordP;
char *userNameP;
char *userPasswordP;
char *applicationTypeP;
char *configfile;
char *options;
char dirDelimiter;
dsmBool_t useUnicode;
dsmBool_t bCrossPlatform;
dsmBool_t bService;
dsmBool_t bEncryptKeyEnabled;
char *encryptionPasswordP;
dsmBool_t useTsmBuffers;
dsUint8_t numTsmBuffers;
dsmAppVersion *appVersionP;
}dsmInitExIn_t;
#define dsmInitExInVersion 5
/*-------------------------------------------------------------------------+
| Type definition for dsmInitExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmInitExOut_t
{
dsUint16_t stVersion; /* structure version */
dsInt16_t userNameAuthorities;
dsInt16_t infoRC; /* error return code if encountered */
char adsmServerName[DSM_MAX_SERVERNAME_LENGTH+1];
dsUint16_t serverVer; /* Server's version number */
dsUint16_t serverRel; /* Server's release number */
dsUint16_t serverLev; /* Server's level number */
dsUint16_t serverSubLev; /* Server's sublevel number */
dsmBool_t bIsFailOverMode; /* true if failover has occured */
char replServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* repl server name */
char homeServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* home server name */
}dsmInitExOut_t;
#define dsmInitExOutVersion 3
/*-------------------------------------------------------------------------+
| Type definition for LogType used in logInfo |
+-------------------------------------------------------------------------*/
typedef enum
{
logSevInfo = 0x00, /* information ANE4991 */
logSevWarning, /* warning ANE4992 */
logSevError, /* Error ANE4993 */
logSevSevere, /* severe ANE4994 */
logSevLicense, /* License ANE4995 */
logSevTryBuy /* try Buy ANE4996 */
}dsmLogSeverity ;
/*-------------------------------------------------------------------------+
| Type definition for dsmLogExIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmLogExIn_t
{
dsUint16_t stVersion; /* structure version */
dsmLogSeverity severity;
char appMsgID[8];
dsmLogType logType; /* log type : local, server, both */
char *message; /* text of message to be logged */
char appName[DSM_MAX_PLATFORM_LENGTH];
char osPlatform[DSM_MAX_PLATFORM_LENGTH];
char appVersion[DSM_MAX_PLATFORM_LENGTH];
}dsmLogExIn_t;
#define dsmLogExInVersion 2
/*-------------------------------------------------------------------------+
| Type definition for dsmlogExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmLogExOut_t
{
dsUint16_t stVersion; /* structure version */
}dsmLogExOut_t;
#define dsmLogExOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmRenameIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmRenameIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* handle for session */
dsUint8_t repository; /* Backup or Archive */
dsmObjName *objNameP ; /* object name */
char newHl[DSM_MAX_HL_LENGTH + 1]; /* new High level name */
char newLl[DSM_MAX_LL_LENGTH + 1]; /* new Low level name */
dsmBool_t merge; /* merge into existing name*/
ObjID objId; /* objId for Archive */
}dsmRenameIn_t;
#define dsmRenameInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmRenameOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmRenameOut_t
{
dsUint16_t stVersion; /* structure version */
}dsmRenameOut_t;
#define dsmRenameOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndSendObjExIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmEndSendObjExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* handle for session */
}dsmEndSendObjExIn_t;
#define dsmEndSendObjExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndSendObjExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmEndSendObjExOut_t
{
dsUint16_t stVersion; /* structure version */
dsStruct64_t totalBytesSent; /* total bytes read from app */
dsmBool_t objCompressed; /* was object compressed */
dsStruct64_t totalCompressSize; /* total size after compress */
dsStruct64_t totalLFBytesSent; /* total bytes sent Lan Free */
dsUint8_t encryptionType; /* type of encryption used */
dsmBool_t objDeduplicated; /* was object processed for dist. data dedup */
dsStruct64_t totalDedupSize; /* total size after de-dup */
}dsmEndSendObjExOut_t;
#define dsmEndSendObjExOutVersion 3
/*-------------------------------------------------------------------------+
| Type definition for dsmGroupHandlerIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmGroupHandlerIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* handle for session */
dsUint8_t groupType; /* Type of group */
dsUint8_t actionType; /* Type of group operation */
dsUint8_t memberType; /* Type of member: Leader or member */
dsStruct64_t leaderObjId; /* OBJID of the groupleader when manipulating a member */
char *uniqueGroupTagP; /* Unique group identifier */
dsmObjName *objNameP ; /* group leader object name */
dsmGetList memberObjList; /* list of objects to remove, assign */
}dsmGroupHandlerIn_t;
#define dsmGroupHandlerInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmGroupHandlerExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmGroupHandlerOut_t
{
dsUint16_t stVersion; /* structure version */
}dsmGroupHandlerOut_t;
#define dsmGroupHandlerOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndTxnExIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmEndTxnExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* handle for session */
dsUint8_t vote;
}dsmEndTxnExIn_t;
#define dsmEndTxnExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndTxnExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmEndTxnExOut_t
{
dsUint16_t stVersion; /* structure version */
dsUint16_t reason; /* reason code */
dsStruct64_t groupLeaderObjId; /* groupLeader obj id returned on */
/* DSM_ACTION_OPEN */
dsUint8_t reserved1; /* future use */
dsUint16_t reserved2; /* future use */
}dsmEndTxnExOut_t;
#define dsmEndTxnExOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndGetDataExIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmEndGetDataExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* handle for session */
}dsmEndGetDataExIn_t;
#define dsmEndGetDataExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndGetDataExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmEndGetDataExOut_t
{
dsUint16_t stVersion; /* structure version */
dsUint16_t reason; /* reason code */
dsStruct64_t totalLFBytesRecv; /* total lan free bytes recieved */
}dsmEndGetDataExOut_t;
#define dsmEndGetDataExOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for object list on dsmRetentionEvent() |
+-------------------------------------------------------------------------*/
typedef struct dsmObjList
{
dsUint16_t stVersion; /* structure version */
dsUint32_t numObjId; /* number of object IDs in the list */
ObjID *objId; /* list of object IDs to signal */
}dsmObjList_t ;
#define dsmObjlistVersion 1
/*-------------------------------------------------------------------------+
| Type definition eventType used on dsmRetentionEvent |
+--------------------------------------------------------------------------*/
typedef enum
{
eventRetentionActivate = 0x00, /* signal the server that the event has occured */
eventHoldObj, /* suspend delete/expire of the object */
eventReleaseObj /* Resume normal delete/expire processing */
}dsmEventType_t;
/*-------------------------------------------------------------------------+
| Type definition for on dsmRetentionEvent() |
+-------------------------------------------------------------------------*/
typedef struct dsmRetentionEventIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* session Handle */
dsmEventType_t eventType; /* Event type */
dsmObjList_t objList; /* object ID */
}dsmRetentionEventIn_t;
#define dsmRetentionEventInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmRetentionEvent() |
+-------------------------------------------------------------------------*/
typedef struct dsmRetentionEventOut_t
{
dsUint16_t stVersion ; /* structure version */
}dsmRetentionEventOut_t;
#define dsmRetentionEventOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmRequestBuffer() |
+-------------------------------------------------------------------------*/
typedef struct requestBufferIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* session Handle */
}requestBufferIn_t;
#define requestBufferInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmRequestBuffer() |
+-------------------------------------------------------------------------*/
typedef struct requestBufferOut_t
{
dsUint16_t stVersion ; /* structure version */
dsUint8_t tsmBufferHandle; /* handle to tsm Data buffer */
char *dataPtr; /* Address to write data to */
dsUint32_t bufferLen; /* Max length of data to be written */
}requestBufferOut_t;
#define requestBufferOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmReleaseBuffer() |
+-------------------------------------------------------------------------*/
typedef struct releaseBufferIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* session Handle */
dsUint8_t tsmBufferHandle; /* handle to tsm Data buffer */
char *dataPtr; /* Address to write data to */
}releaseBufferIn_t;
#define releaseBufferInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmReleaseBuffer() |
+-------------------------------------------------------------------------*/
typedef struct releaseBufferOut_t
{
dsUint16_t stVersion ; /* structure version */
}releaseBufferOut_t;
#define releaseBufferOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmGetBufferData() |
+-------------------------------------------------------------------------*/
typedef struct getBufferDataIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* session Handle */
}getBufferDataIn_t;
#define getBufferDataInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmGetBufferData() |
+-------------------------------------------------------------------------*/
typedef struct getBufferDataOut_t
{
dsUint16_t stVersion ; /* structure version */
dsUint8_t tsmBufferHandle; /* handle to tsm Data buffer */
char *dataPtr; /* Address of actual data to read */
dsUint32_t numBytes; /* Actual number of bytes to read from dataPtr*/
}getBufferDataOut_t;
#define getBufferDataOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmSendBufferData() |
+-------------------------------------------------------------------------*/
typedef struct sendBufferDataIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* session Handle */
dsUint8_t tsmBufferHandle; /* handle to tsm Data buffer */
char *dataPtr; /* Address of actual data to send */
dsUint32_t numBytes; /* Actual number of bytes to send from dataPtr*/
}sendBufferDataIn_t;
#define sendBufferDataInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on dsmSendBufferData() |
+-------------------------------------------------------------------------*/
typedef struct sendBufferDataOut_t
{
dsUint16_t stVersion ; /* structure version */
}sendBufferDataOut_t;
#define sendBufferDataOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmUpdateObjExIn_t
+-------------------------------------------------------------------------*/
typedef struct dsmUpdateObjExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t dsmHandle; /* session Handle */
dsmSendType sendType; /* send type back/arch */
char *descrP; /* archive description */
dsmObjName *objNameP; /* objName */
ObjAttr *objAttrPtr; /* attribute */
dsUint32_t objUpdAct; /* update action */
ObjID archObjId; /* objId for archive */
}dsmUpdateObjExIn_t;
#define dsmUpdateObjExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmUpdateObjExOut_t
+-------------------------------------------------------------------------*/
typedef struct dsmUpdateObjExOut_t
{
dsUint16_t stVersion; /* structure version */
}dsmUpdateObjExOut_t;
#define dsmUpdateObjExOutVersion 1
#if (_OPSYS_TYPE == DS_WINNT) && !defined(_WIN64)
#pragma pack()
#endif
#ifdef _MAC
#pragma options align=reset
#endif
#endif /* _H_DSMAPITD */
/***********************************************************************
* Tivoli Storage Manager *
* API Client Component *
* *
* (C) Copyright IBM Corporation 1993,2010 *
***********************************************************************/
/**************************************************************************
* Header File Name: tsmapitd.h
*
* Environment: ************************************************
* ** This is a platform-independent source file **
*
* ************************************************
*
* Design Notes: This file contains basic data types and constants
* includable by all client source files. The constants
* within this file should be set properly for the
* particular machine and operating system on which the
* client software is to be run.
*
* Platform specific definitions are included in dsmapips.h
*
* Descriptive-name: Definitions for Tivoli Storage manager API constants
*-------------------------------------------------------------------------*/
#ifndef _H_TSMAPITD
#define _H_TSMAPITD
/*=== set the structure alignment to pack the structures ===*/
#if _OPSYS_TYPE == DS_WINNT
#ifdef _WIN64
#pragma pack(8)
#else
#pragma pack(1)
#endif
#endif
#ifdef _MAC
#pragma options align = packed
#endif
/*==============================================================
Win32 applications using the tsm interface must use the
-DUNICODE flag during compilation.
==============================================================*/
#if _OPSYS_TYPE == DS_WINNT && !defined(DSMAPILIB)
#ifndef UNICODE
#error "Win32 applications using the TSM interface MUST be compiled with the -DUNICODE flag"
#endif
#endif
/*==============================================================
Mac OS X applications using the tsm interface must use the
-DUNICODE flag during compilation.
==============================================================*/
#if _OPSYS_TYPE == DS_MACOS && !defined(DSMAPILIB)
#ifndef UNICODE
#error "Mac OS X applications using the TSM interface MUST be compiled with the -DUNICODE flag"
#endif
#endif
/*-------------------------------------------------------------------------+
| Type definition for dsmGetType parameter on tsmBeginGetData() |
+-------------------------------------------------------------------------*/
typedef enum
{
gtTsmBackup = 0x00, /* Backup processing type */
gtTsmArchive /* Archive processing type */
} tsmGetType ;
/*-------------------------------------------------------------------------+
| Type definition for dsmQueryType parameter on tsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef enum
{
qtTsmArchive = 0x00, /* Archive query type */
qtTsmBackup, /* Backup query type */
qtTsmBackupActive, /* Fast query for active backup files */
qtTsmFilespace, /* Filespace query type */
qtTsmMC, /* Mgmt. class query type */
qtTsmReserved1, /* future use */
qtTsmReserved2, /* future use */
qtTsmReserved3, /* future use */
qtTsmReserved4, /* future use */
qtTsmBackupGroups, /* All group leaders in a specific filespace */
qtTsmOpenGroups, /* All group members associated with a leader */
qtTsmReserved5, /* future use */
qtTsmProxyNodeAuth, /* nodes that this node can proxy to */
qtTsmProxyNodePeer, /* peer nodes under this target node */
qtTsmReserved6, /* future use */
qtTsmReserved7, /* future use */
qtTsmReserved8 /* future use */
} tsmQueryType ;
/*-------------------------------------------------------------------------+
| Type definition sendType parameter on tsmBindMC() and tsmSendObj() |
+-------------------------------------------------------------------------*/
typedef enum
{
stTsmBackup = 0x00, /* Backup processing type */
stTsmArchive, /* Archive processing type */
stTsmBackupMountWait, /* Backup processing with mountwait on */
stTsmArchiveMountWait /* Archive processing with mountwait on */
} tsmSendType ;
/*-------------------------------------------------------------------------+
| Type definition for delType parameter on tsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef enum
{
dtTsmArchive = 0x00, /* Archive delete type */
dtTsmBackup, /* Backup delete (deactivate) type */
dtTsmBackupID /* Backup delete (remove) type */
} tsmDelType ;
/*-------------------------------------------------------------------------+
| Type definition sendType parameter on tsmSetAccess() |
+-------------------------------------------------------------------------*/
typedef enum
{
atTsmBackup = 0x00, /* Backup processing type */
atTsmArchive /* Archive processing type */
}tsmAccessType;
/*-------------------------------------------------------------------------+
| Type definition for Overwrite parameter on tsmSendObj() |
+-------------------------------------------------------------------------*/
typedef enum
{
owIGNORE = 0x00,
owYES,
owNO
}tsmOwType;
/*-------------------------------------------------------------------------+
| Type definition for API Version on tsmInit() and tsmQueryApiVersion() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
dsUint16_t version; /* API version */
dsUint16_t release; /* API release */
dsUint16_t level; /* API level */
dsUint16_t subLevel; /* API sub level */
dsmBool_t unicode; /* API unicode? */
} tsmApiVersionEx;
#define tsmApiVersionExVer 2
/*-------------------------------------------------------------------------+
| Type definition for Application Version on tsmInit() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
dsUint16_t applicationVersion; /* application version number */
dsUint16_t applicationRelease; /* application release number */
dsUint16_t applicationLevel; /* application level number */
dsUint16_t applicationSubLevel; /* application sub level number */
} tsmAppVersion;
#define tsmAppVersionVer 1
/*-------------------------------------------------------------------------+
| Type definition for object name used on BindMC, Send, Delete, Query |
+-------------------------------------------------------------------------*/
typedef struct tsmObjName
{
dsChar_t fs[DSM_MAX_FSNAME_LENGTH + 1] ; /* Filespace name */
dsChar_t hl[DSM_MAX_HL_LENGTH + 1] ; /* High level name */
dsChar_t ll[DSM_MAX_LL_LENGTH + 1] ; /* Low level name */
dsUint8_t objType; /* for object type values, see defines above */
dsChar_t dirDelimiter;
} tsmObjName;
/*-------------------------------------------------------------------------+
| Type definition for Backup delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmDelBack
{
dsUint16_t stVersion ; /* structure version */
tsmObjName *objNameP ; /* object name */
dsUint32_t copyGroup ; /* copy group */
} tsmDelBack ;
#define tsmDelBackVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Archive delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsStruct64_t objId ; /* object ID */
} tsmDelArch ;
#define tsmDelArchVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Backup ID delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsStruct64_t objId ; /* object ID */
} tsmDelBackID;
#define tsmDelBackIDVersion 1
/*-------------------------------------------------------------------------+
| Type definition for delete info on dsmDeleteObj() |
+-------------------------------------------------------------------------*/
typedef union
{
tsmDelBack backInfo ;
tsmDelArch archInfo ;
tsmDelBackID backIDInfo;
} tsmDelInfo ;
/*-------------------------------------------------------------------------+
| Type definition for Object Attribute parameter on dsmSendObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmObjAttr
{
dsUint16_t stVersion; /* Structure version */
dsChar_t owner[DSM_MAX_OWNER_LENGTH + 1]; /* object owner */
dsStruct64_t sizeEstimate; /* Size estimate in bytes of the object */
dsmBool_t objCompressed; /* Is object already compressed? */
dsUint16_t objInfoLength; /* length of object-dependent info */
char *objInfo; /* object-dependent info byte buffer */
dsChar_t *mcNameP; /* mgmnt class name for override */
tsmOwType reserved1; /* for future use */
tsmOwType reserved2; /* for future use */
dsmBool_t disableDeduplication; /* force no dedup for this object */
} tsmObjAttr;
#define tsmObjAttrVersion 4
/*-------------------------------------------------------------------------+
| Type definition for mcBindKey returned on dsmBindMC() |
+-------------------------------------------------------------------------*/
typedef struct tsmMcBindKey
{
dsUint16_t stVersion; /* structure version */
dsChar_t mcName[DSM_MAX_MC_NAME_LENGTH + 1];
/* Name of mc bound to object. */
dsmBool_t backup_cg_exists; /* True/false */
dsmBool_t archive_cg_exists; /* True/false */
dsChar_t backup_copy_dest[DSM_MAX_CG_DEST_LENGTH + 1];
/* Backup copy dest. name */
dsChar_t archive_copy_dest[DSM_MAX_CG_DEST_LENGTH + 1];
/* Arch copy dest.name */
} tsmMcBindKey;
#define tsmMcBindKeyVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Mgmt Class queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryMCData
{
dsUint16_t stVersion; /* structure version */
dsChar_t *mcName; /* Mgmt class name */
/* single name to get one or empty string to get all*/
dsmBool_t mcDetail; /* Want details or not? */
} tsmQryMCData;
#define tsmQryMCDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Archive Copy Group details on Query MC response |
+-------------------------------------------------------------------------*/
typedef struct tsmArchDetailCG
{
dsChar_t cgName[DSM_MAX_CG_NAME_LENGTH + 1]; /* Copy group name */
dsUint16_t frequency; /* Copy (archive) frequency */
dsUint16_t retainVers; /* Retain version */
dsUint8_t copySer; /* for copy serialization values, see defines */
dsUint8_t copyMode; /* for copy mode values, see defines above */
dsChar_t destName[DSM_MAX_CG_DEST_LENGTH + 1]; /* Copy dest name */
dsmBool_t bLanFreeDest; /* Destination has lan free path? */
dsmBool_t reserved; /* Not currently used */
dsUint8_t retainInit; /* possible values see dsmapitd.h */
dsUint16_t retainMin; /* if retInit is EVENT num of days */
dsmBool_t bDeduplicate; /* destination has dedup enabled */
}tsmArchDetailCG;
/*-------------------------------------------------------------------------+
| Type definition for Backup Copy Group details on Query MC response |
+-------------------------------------------------------------------------*/
typedef struct tsmBackupDetailCG
{
dsChar_t cgName[DSM_MAX_CG_NAME_LENGTH + 1]; /* Copy group name */
dsUint16_t frequency; /* Backup frequency */
dsUint16_t verDataExst; /* Versions data exists */
dsUint16_t verDataDltd; /* Versions data deleted */
dsUint16_t retXtraVers; /* Retain extra versions */
dsUint16_t retOnlyVers; /* Retain only versions */
dsUint8_t copySer; /* for copy serialization values, see defines */
dsUint8_t copyMode; /* for copy mode values, see defines above */
dsChar_t destName[DSM_MAX_CG_DEST_LENGTH + 1]; /* Copy dest name */
dsmBool_t bLanFreeDest; /* Destination has lan free path? */
dsmBool_t reserved; /* Not currently used */
dsmBool_t bDeduplicate; /* destination has dedup enabled */
}tsmBackupDetailCG;
/*-------------------------------------------------------------------------+
| Type definition for Query Mgmt Class detail response on dsmGetNextQObj()|
+-------------------------------------------------------------------------*/
typedef struct tsmQryRespMCDetailData
{
dsUint16_t stVersion; /* structure version */
dsChar_t mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
dsChar_t mcDesc[DSM_MAX_MC_DESCR_LENGTH + 1]; /*mc description */
archDetailCG archDet; /* Archive copy group detail */
backupDetailCG backupDet; /* Backup copy group detail */
} tsmQryRespMCDetailData;
#define tsmQryRespMCDetailDataVersion 4
/*-------------------------------------------------------------------------+
| Type definition for Query Mgmt Class summary response on dsmGetNextQObj()|
+-------------------------------------------------------------------------*/
typedef struct tsmQryRespMCData
{
dsUint16_t stVersion; /* structure version */
dsChar_t mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
dsChar_t mcDesc[DSM_MAX_MC_DESCR_LENGTH + 1]; /* mc description */
}tsmQryRespMCData;
#define tsmQryRespMCDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Archive queryBuffer on tsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryArchiveData
{
dsUint16_t stVersion; /* structure version */
tsmObjName *objName; /* Full dsm name of object */
dsChar_t *owner; /* owner name */
/* for maximum date boundaries, see defines above */
dsmDate insDateLowerBound; /* low bound archive insert date */
dsmDate insDateUpperBound; /* hi bound archive insert date */
dsmDate expDateLowerBound; /* low bound expiration date */
dsmDate expDateUpperBound; /* hi bound expiration date */
dsChar_t *descr; /* archive description */
} tsmQryArchiveData;
#define tsmQryArchiveDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Query Archive response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryRespArchiveData
{
dsUint16_t stVersion; /* structure version */
tsmObjName objName; /* Filespace name qualifier */
dsUint32_t copyGroup; /* copy group number */
dsChar_t mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
dsChar_t owner[DSM_MAX_OWNER_LENGTH + 1]; /* owner name */
dsStruct64_t objId; /* Unique copy id */
dsStruct64_t reserved; /* backward compatability */
dsUint8_t mediaClass; /* media access class */
dsmDate insDate; /* archive insertion date */
dsmDate expDate; /* expiration date for object */
dsChar_t descr[DSM_MAX_DESCR_LENGTH + 1]; /* archive description */
dsUint16_t objInfolen; /* length of object-dependent info*/
dsUint8_t objInfo[DSM_MAX_OBJINFO_LENGTH]; /*object-dependent info */
dsUint160_t restoreOrderExt; /* restore order */
dsStruct64_t sizeEstimate; /* size estimate stored by user*/
dsUint8_t compressType; /* Compression flag */
dsUint8_t retentionInitiated; /* object waiting on retention event */
dsUint8_t objHeld; /* object is on "hold" see dsmapitd.h for values */
dsUint8_t encryptionType; /* type of encryption */
dsmBool_t clientDeduplicated; /* obj deduplicated by API*/
} tsmQryRespArchiveData;
#define tsmQryRespArchiveDataVersion 6
/*-------------------------------------------------------------------------+
| Type definition for Archive sendBuff parameter on dsmSendObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmSndArchiveData
{
dsUint16_t stVersion; /* structure version */
dsChar_t *descr; /* archive description */
} tsmSndArchiveData;
#define tsmSndArchiveDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Backup queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryBackupData
{
dsUint16_t stVersion; /* structure version */
tsmObjName *objName; /* full dsm name of object */
dsChar_t *owner; /* owner name */
dsUint8_t objState; /* object state selector */
dsmDate pitDate; /* Date value for point in time restore */
/* for possible values, see defines above */
dsUint32_t reserved1;
dsUint32_t reserved2;
} tsmQryBackupData;
#define tsmQryBackupDataVersion 3
/*-------------------------------------------------------------------------+
| Type definition for Query Backup response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryRespBackupData
{
dsUint16_t stVersion; /* structure version */
tsmObjName objName; /* full dsm name of object */
dsUint32_t copyGroup; /* copy group number */
dsChar_t mcName[DSM_MAX_MC_NAME_LENGTH + 1]; /* mc name */
dsChar_t owner[DSM_MAX_OWNER_LENGTH + 1]; /* owner name */
dsStruct64_t objId; /* Unique object id */
dsStruct64_t reserved; /* backward compatability */
dsUint8_t mediaClass; /* media access class */
dsUint8_t objState; /* Obj state, active, etc. */
dsmDate insDate; /* backup insertion date */
dsmDate expDate; /* expiration date for object */
dsUint16_t objInfolen; /* length of object-dependent info*/
dsUint8_t objInfo[DSM_MAX_OBJINFO_LENGTH]; /*object-dependent info */
dsUint160_t restoreOrderExt; /* restore order */
dsStruct64_t sizeEstimate; /* size estimate stored by user */
dsStruct64_t baseObjId;
dsUint16_t baseObjInfolen; /* length of base object-dependent info*/
dsUint8_t baseObjInfo[DSM_MAX_OBJINFO_LENGTH]; /* base object-dependent info */
dsUint160_t baseRestoreOrder; /* restore order */
dsUint32_t fsID;
dsUint8_t compressType;
dsmBool_t isGroupLeader;
dsmBool_t isOpenGroup;
dsUint8_t reserved1; /* for future use */
dsmBool_t reserved2; /* for future use */
dsUint16_t reserved3; /* for future use */
reservedInfo_t *reserved4; /* for future use */
dsUint8_t encryptionType; /* type of encryption */
dsmBool_t clientDeduplicated; /* obj deduplicated by API*/
} tsmQryRespBackupData;
#define tsmQryRespBackupDataVersion 7
/*-------------------------------------------------------------------------+
| Type definition for Active Backup queryBuffer on dsmBeginQuery()
|
| Notes: For the active backup query, only the fs (filespace) and objType
| fields of objName need be set. objType can only be set to
| DSM_OBJ_FILE or DSM_OBJ_DIRECTORY. DSM_OBJ_ANY_TYPE will not
| find a match on the query.
+-------------------------------------------------------------------------*/
typedef struct tsmQryABackupData
{
dsUint16_t stVersion; /* structure version */
tsmObjName *objName; /* Only fs and objtype used */
} tsmQryABackupData;
#define tsmQryABackupDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Query Active Backup response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryARespBackupData
{
dsUint16_t stVersion; /* structure version */
tsmObjName objName; /* full dsm name of object */
dsUint32_t copyGroup; /* copy group number */
dsChar_t mcName[DSM_MAX_MC_NAME_LENGTH + 1];/*management class name*/
dsChar_t owner[DSM_MAX_OWNER_LENGTH + 1]; /* owner name */
dsmDate insDate; /* backup insertion date */
dsUint16_t objInfolen; /* length of object-dependent info*/
dsUint8_t objInfo[DSM_MAX_OBJINFO_LENGTH]; /*object-dependent info */
} tsmQryARespBackupData;
#define tsmQryARespBackupDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Backup queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryBackupGroups
{
dsUint16_t stVersion; /* structure version */
dsUint8_t groupType;
dsChar_t *fsName;
dsChar_t *owner;
dsStruct64_t groupLeaderObjId;
dsUint8_t objType;
dsUint32_t reserved1;
dsUint32_t reserverd2;
dsmBool_t noRestoreOrder;
dsmBool_t noGroupInfo;
} tsmQryBackupGroups;
#define tsmQryBackupGroupsVersion 3
/*-------------------------------------------------------------------------+
| Type definition for proxynode queryBuffer on tsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryProxyNodeData
{
dsUint16_t stVersion; /* structure version */
dsChar_t *targetNodeName; /* target node name */
}tsmQryProxyNodeData;
#define tsmQryProxyNodeDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for qryRespProxyNodeData parameter used on tsmGetNextQObj()|
+-------------------------------------------------------------------------*/
typedef struct tsmQryRespProxyNodeData
{
dsUint16_t stVersion ; /* structure version */
dsChar_t targetNodeName[DSM_MAX_ID_LENGTH+1]; /* target node name */
dsChar_t peerNodeName[DSM_MAX_ID_LENGTH+1]; /* peer node name */
dsChar_t hlAddress[DSM_MAX_ID_LENGTH+1]; /* peer hlAddress */
dsChar_t llAddress[DSM_MAX_ID_LENGTH+1]; /* peer llAddress */
}tsmQryRespProxyNodeData;
#define tsmQryRespProxyNodeDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for WINNT and OS/2 Filespace attributes |
+-------------------------------------------------------------------------*/
typedef struct tsmDosFSAttrib
{
osChar_t driveLetter ; /* drive letter for filespace */
dsUint16_t fsInfoLength; /* fsInfo length used */
osChar_t fsInfo[DSM_MAX_FSINFO_LENGTH];/*caller-determined data */
} tsmDosFSAttrib ;
/*-------------------------------------------------------------------------+
| Type definition for UNIX Filespace attributes |
+-------------------------------------------------------------------------*/
typedef struct tsmUnixFSAttrib
{
dsUint16_t fsInfoLength; /* fsInfo length used */
osChar_t fsInfo[DSM_MAX_FSINFO_LENGTH];/*caller-determined data */
} tsmUnixFSAttrib ;
/*-------------------------------------------------------------------------+
| Type definition for NetWare Filespace attributes |
+-------------------------------------------------------------------------*/
typedef tsmUnixFSAttrib tsmNetwareFSAttrib;
/*-------------------------------------------------------------------------+
| Type definition for Filespace attributes on all Filespace calls |
+-------------------------------------------------------------------------*/
typedef union
{
tsmNetwareFSAttrib netwareFSAttr;
tsmUnixFSAttrib unixFSAttr ;
tsmDosFSAttrib dosFSAttr ;
} tsmFSAttr ;
/*-------------------------------------------------------------------------+
| Type definition for fsUpd parameter on dsmUpdateFS()
+-------------------------------------------------------------------------*/
typedef struct tsmFSUpd
{
dsUint16_t stVersion ; /* structure version */
dsChar_t *fsType ; /* filespace type */
dsStruct64_t occupancy ; /* occupancy estimate */
dsStruct64_t capacity ; /* capacity estimate */
tsmFSAttr fsAttr ; /* platform specific attributes */
} tsmFSUpd ;
#define tsmFSUpdVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Filespace queryBuffer on dsmBeginQuery() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryFSData
{
dsUint16_t stVersion; /* structure version */
dsChar_t *fsName; /* File space name */
} tsmQryFSData;
#define tsmQryFSDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for Query Filespace response on dsmGetNextQObj() |
+-------------------------------------------------------------------------*/
typedef struct tsmQryRespFSData
{
dsUint16_t stVersion; /* structure version */
dsChar_t fsName[DSM_MAX_FSNAME_LENGTH + 1]; /* Filespace name */
dsChar_t fsType[DSM_MAX_FSTYPE_LENGTH + 1] ; /* Filespace type */
dsStruct64_t occupancy; /* Occupancy est. in bytes. */
dsStruct64_t capacity; /* Capacity est. in bytes. */
tsmFSAttr fsAttr ; /* platform specific attributes */
dsmDate backStartDate; /* start backup date */
dsmDate backCompleteDate; /* end backup Date */
dsmDate reserved1 ; /* For future use */
dsmBool_t bIsUnicode;
dsUint32_t fsID;
dsmDate lastReplStartDate; /* The last time replication was started */
dsmDate lastReplCmpltDate; /* The last time replication completed */
/* (could have had a failure, */
/* but it still completes) */
dsmDate lastBackOpDateFromServer; /* The last store time stamp the client */
/* saved on the server */
dsmDate lastArchOpDateFromServer; /* The last store time stamp the client */
/* saved on the server */
dsmDate lastSpMgOpDateFromServer; /* The last store time stamp the client */
/* saved on the server */
dsmDate lastBackOpDateFromLocal; /* The last store time stamp the client */
/* saved on the Local */
dsmDate lastArchOpDateFromLocal; /* The last store time stamp the client */
/* saved on the Local */
dsmDate lastSpMgOpDateFromLocal; /* The last store time stamp the client */
/* saved on the Local */
dsInt32_t failOverWriteDelay; /* Minutes for client to wait before allowed */
/* to store to this Repl srvr, Specail codes: */
/* NO_ACCESS(-1), ACCESS_RDONLY (-2) */
} tsmQryRespFSData;
#define tsmQryRespFSDataVersion 5
/*-------------------------------------------------------------------------+
| Type definition for regFilespace parameter on dsmRegisterFS()
+-------------------------------------------------------------------------*/
typedef struct tsmRegFSData
{
dsUint16_t stVersion; /* structure version */
dsChar_t *fsName; /* Filespace name */
dsChar_t *fsType; /* Filespace type */
dsStruct64_t occupancy; /* Occupancy est. in bytes. */
dsStruct64_t capacity; /* Capacity est. in bytes. */
tsmFSAttr fsAttr ; /* platform specific attributes */
} tsmRegFSData;
#define tsmRegFSDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for session info response on dsmQuerySessionInfo() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion; /* Structure version */
/*------------------------------------------------------------------*/
/* Server information */
/*------------------------------------------------------------------*/
dsChar_t serverHost[DSM_MAX_SERVERNAME_LENGTH+1];
/* Network host name of DSM server */
dsUint16_t serverPort; /* Server comm port on host */
dsmDate serverDate; /* Server's date/time */
dsChar_t serverType[DSM_MAX_SERVERTYPE_LENGTH+1];
/* Server's execution platform */
dsUint16_t serverVer; /* Server's version number */
dsUint16_t serverRel; /* Server's release number */
dsUint16_t serverLev; /* Server's level number */
dsUint16_t serverSubLev; /* Server's sublevel number */
/*------------------------------------------------------------------*/
/* Client Defaults */
/*------------------------------------------------------------------*/
dsChar_t nodeType[DSM_MAX_PLATFORM_LENGTH+1]; /*node/application type*/
dsChar_t fsdelim; /* File space delimiter */
dsChar_t hldelim; /* Delimiter betw highlev & lowlev */
dsUint8_t compression; /* Compression flag */
dsUint8_t archDel; /* Archive delete permission */
dsUint8_t backDel; /* Backup delete permission */
dsUint32_t maxBytesPerTxn; /* for future use */
dsUint16_t maxObjPerTxn; /* The max objects allowed in a txn */
/*------------------------------------------------------------------*/
/* Session Information */
/*------------------------------------------------------------------*/
dsChar_t id[DSM_MAX_ID_LENGTH+1]; /* Sign-in id node name */
dsChar_t owner[DSM_MAX_OWNER_LENGTH+1]; /* Sign-in owner */
/* (for multi-user platforms) */
dsChar_t confFile[DSM_PATH_MAX + DSM_NAME_MAX +1];
/* len is platform dep */
/* dsInit name of appl config file */
dsUint8_t opNoTrace; /* dsInit option - NoTrace = 1 */
/*------------------------------------------------------------------*/
/* Policy Data */
/*------------------------------------------------------------------*/
dsChar_t domainName[DSM_MAX_DOMAIN_LENGTH+1]; /* Domain name */
dsChar_t policySetName[DSM_MAX_PS_NAME_LENGTH+1];
/* Active policy set name */
dsmDate polActDate; /* Policy set activation date */
dsChar_t dfltMCName[DSM_MAX_MC_NAME_LENGTH+1];/* Default Mgmt Class */
dsUint16_t gpBackRetn; /* Grace-period backup retention */
dsUint16_t gpArchRetn; /* Grace-period archive retention */
dsChar_t adsmServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* adsm server name */
dsmBool_t archiveRetentionProtection; /* is server Retention protection enabled */
dsUint64_t maxBytesPerTxn_64; /* for future use */
dsmBool_t lanFreeEnabled; /* lan free option is set */
dsmDedupType dedupType; /* server or clientOrServer */
dsChar_t accessNode[DSM_MAX_ID_LENGTH+1]; /* as node node name */
/*------------------------------------------------------------------*/
/* Replication and fail over information */
/*------------------------------------------------------------------*/
dsmFailOvrCfgType failOverCfgType; /* status of fail over */
dsChar_t replServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* repl server name */
dsChar_t homeServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* home server name */
dsChar_t replServerHost[DSM_MAX_SERVERNAME_LENGTH+1]; /* Network host name of DSM server */
dsInt32_t replServerPort; /* Server comm port on host */
} tsmApiSessInfo;
#define tsmApiSessInfoVersion 6
/*-------------------------------------------------------------------------+
| Type definition for Query options response on dsmQueryCliOptions() |
| and dsmQuerySessOptions() |
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion;
dsChar_t dsmiDir[DSM_PATH_MAX + DSM_NAME_MAX +1];
dsChar_t dsmiConfig[DSM_PATH_MAX + DSM_NAME_MAX +1];
dsChar_t serverName[DSM_MAX_SERVERNAME_LENGTH+1];
dsInt16_t commMethod;
dsChar_t serverAddress[DSM_MAX_SERVER_ADDRESS];
dsChar_t nodeName[DSM_MAX_NODE_LENGTH+1];
dsmBool_t compression;
dsmBool_t compressalways;
dsmBool_t passwordAccess;
}tsmOptStruct ;
#define tsmOptStructVersion 1
/*-------------------------------------------------------------------------+
| Type definition for qryRespAccessData parameter used on dsmQueryAccess()|
+-------------------------------------------------------------------------*/
typedef struct
{
dsUint16_t stVersion ; /* structure version */
dsChar_t node[DSM_MAX_ID_LENGTH+1]; /* node name */
dsChar_t owner[DSM_MAX_OWNER_LENGTH+1]; /* owner */
tsmObjName objName ; /* object name */
dsmAccessType accessType; /* archive or backup */
dsUint32_t ruleNumber ; /* Access rule id */
}tsmQryRespAccessData;
#define tsmQryRespAccessDataVersion 1
/*-------------------------------------------------------------------------+
| Type definition for envSetUp parameter on dsmSetUp()
+-------------------------------------------------------------------------*/
typedef struct tsmEnvSetUp
{
dsUint16_t stVersion; /* structure version */
dsChar_t dsmiDir[DSM_PATH_MAX + DSM_NAME_MAX +1];
dsChar_t dsmiConfig[DSM_PATH_MAX + DSM_NAME_MAX +1];
dsChar_t dsmiLog[DSM_PATH_MAX + DSM_NAME_MAX +1];
char **argv; /* for executables name argv[0] */
dsChar_t logName[DSM_NAME_MAX +1];
dsmBool_t reserved1; /* for future use */
dsmBool_t reserved2; /* for future use */
} tsmEnvSetUp;
#define tsmEnvSetUpVersion 4
/*-------------------------------------------------------------------------+
| Type definition for dsmInitExIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmInitExIn_t
{
dsUint16_t stVersion; /* structure version */
tsmApiVersionEx *apiVersionExP;
dsChar_t *clientNodeNameP;
dsChar_t *clientOwnerNameP;
dsChar_t *clientPasswordP;
dsChar_t *userNameP;
dsChar_t *userPasswordP;
dsChar_t *applicationTypeP;
dsChar_t *configfile;
dsChar_t *options;
dsChar_t dirDelimiter;
dsmBool_t useUnicode;
dsmBool_t bCrossPlatform;
dsmBool_t bService;
dsmBool_t bEncryptKeyEnabled;
dsChar_t *encryptionPasswordP;
dsmBool_t useTsmBuffers;
dsUint8_t numTsmBuffers;
tsmAppVersion appVersionP;
} tsmInitExIn_t;
#define tsmInitExInVersion 5
/*-------------------------------------------------------------------------+
| Type definition for dsmInitExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmInitExOut_t
{
dsUint16_t stVersion; /* structure version */
dsInt16_t userNameAuthorities;
dsInt16_t infoRC; /* error return code if encountered */
/* adsm server name */
dsChar_t adsmServerName[DSM_MAX_SERVERNAME_LENGTH+1];
dsUint16_t serverVer; /* Server's version number */
dsUint16_t serverRel; /* Server's release number */
dsUint16_t serverLev; /* Server's level number */
dsUint16_t serverSubLev; /* Server's sublevel number */
dsmBool_t bIsFailOverMode; /* true if failover has occured */
dsChar_t replServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* repl server name */
dsChar_t homeServerName[DSM_MAX_SERVERNAME_LENGTH+1]; /* home server name */
} tsmInitExOut_t;
#define tsmInitExOutVersion 3
/*-------------------------------------------------------------------------+
| Type definition for dsmLogExIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmLogExIn_t
{
dsUint16_t stVersion; /* structure version */
dsmLogSeverity severity;
dsChar_t appMsgID[8];
dsmLogType logType; /* log type : local, server, both */
dsChar_t *message; /* text of message to be logged */
dsChar_t appName[DSM_MAX_PLATFORM_LENGTH];
dsChar_t osPlatform[DSM_MAX_PLATFORM_LENGTH];
dsChar_t appVersion[DSM_MAX_PLATFORM_LENGTH];
} tsmLogExIn_t;
#define tsmLogExInVersion 2
/*-------------------------------------------------------------------------+
| Type definition for dsmlogExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmLogExOut_t
{
dsUint16_t stVersion; /* structure version */
} tsmLogExOut_t;
#define tsmLogExOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmRenameIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmRenameIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* handle for session */
dsUint8_t repository; /* Backup or Archive */
tsmObjName *objNameP ; /* object name */
dsChar_t newHl[DSM_MAX_HL_LENGTH + 1]; /* new High level name */
dsChar_t newLl[DSM_MAX_LL_LENGTH + 1]; /* new Low level name */
dsmBool_t merge; /* merge into existing name*/
ObjID objId; /* objId for Archive */
} tsmRenameIn_t;
#define tsmRenameInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmRenameOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmRenameOut_t
{
dsUint16_t stVersion; /* structure version */
} tsmRenameOut_t;
#define tsmRenameOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmEndSendObjExIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmEndSendObjExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* handle for session */
} tsmEndSendObjExIn_t;
#define tsmEndSendObjExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for dsmEndSendObjExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmEndSendObjExOut_t
{
dsUint16_t stVersion; /* structure version */
dsStruct64_t totalBytesSent; /* total bytes read from app */
dsmBool_t objCompressed; /* was object compressed */
dsStruct64_t totalCompressSize; /* total size after compress */
dsStruct64_t totalLFBytesSent; /* total bytes sent Lan Free */
dsUint8_t encryptionType; /* type of encryption used */
dsmBool_t objDeduplicated; /* was object processed for dist. data dedup */
dsStruct64_t totalDedupSize; /* total size after de-dup */
}tsmEndSendObjExOut_t;
#define tsmEndSendObjExOutVersion 3
/*-------------------------------------------------------------------------+
| Type definition for tsmGroupHandlerIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmGroupHandlerIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* handle for session */
dsUint8_t groupType; /* Type of group */
dsUint8_t actionType; /* Type of group operation */
dsUint8_t memberType; /* Type of member: Leader or member */
dsStruct64_t leaderObjId; /* OBJID of the groupleader */
dsChar_t *uniqueGroupTagP; /* Unique group identifier */
tsmObjName *objNameP ; /* group leader object name */
dsmGetList memberObjList; /* list of objects to remove, assign */
} tsmGroupHandlerIn_t;
#define tsmGroupHandlerInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmGroupHandlerExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmGroupHandlerOut_t
{
dsUint16_t stVersion; /* structure version */
} tsmGroupHandlerOut_t;
#define tsmGroupHandlerOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmEndTxnExIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmEndTxnExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* handle for session */
dsUint8_t vote;
} tsmEndTxnExIn_t;
#define tsmEndTxnExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmEndTxnExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmEndTxnExOut_t
{
dsUint16_t stVersion; /* structure version */
dsUint16_t reason; /* reason code */
dsStruct64_t groupLeaderObjId; /* groupLeader obj id returned on */
/* DSM_ACTION_OPEN */
dsUint8_t reserved1; /* future use */
dsUint16_t reserved2; /* future use */
} tsmEndTxnExOut_t;
#define tsmEndTxnExOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmEndGetDataExIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmEndGetDataExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* handle for session */
}tsmEndGetDataExIn_t;
#define tsmEndGetDataExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmEndGetDataExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmEndGetDataExOut_t
{
dsUint16_t stVersion; /* structure version */
dsUint16_t reason; /* reason code */
dsStruct64_t totalLFBytesRecv; /* total lan free bytes recieved */
}tsmEndGetDataExOut_t;
#define tsmEndGetDataExOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on tsmRetentionEvent() |
+-------------------------------------------------------------------------*/
typedef struct tsmRetentionEventIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* session Handle */
dsmEventType_t eventType; /* Event type */
dsmObjList_t objList; /* object ID */
}tsmRetentionEventIn_t;
#define tsmRetentionEventInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for on tsmRetentionEvent() |
+-------------------------------------------------------------------------*/
typedef struct tsmRetentionEventOut_t
{
dsUint16_t stVersion ; /* structure version */
}tsmRetentionEventOut_t;
#define tsmRetentionEventOutVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmUpdateObjExIn_t
+-------------------------------------------------------------------------*/
typedef struct tsmUpdateObjExIn_t
{
dsUint16_t stVersion; /* structure version */
dsUint32_t tsmHandle; /* session Handle */
tsmSendType sendType; /* send type back/arch */
dsChar_t *descrP; /* archive description */
tsmObjName *objNameP; /* objName */
tsmObjAttr *objAttrPtr; /* attribute */
dsUint32_t objUpdAct; /* update action */
ObjID archObjId; /* objId for archive */
}tsmUpdateObjExIn_t;
#define tsmUpdateObjExInVersion 1
/*-------------------------------------------------------------------------+
| Type definition for tsmUpdateObjExOut_t
+-------------------------------------------------------------------------*/
typedef struct tsmUpdateObjExOut_t
{
dsUint16_t stVersion; /* structure version */
}tsmUpdateObjExOut_t;
#define tsmUpdateObjExOutVersion 1
#if _OPSYS_TYPE == DS_WINNT
#pragma pack()
#endif
#ifdef _MAC
#pragma options align = reset
#endif
#endif /* _H_TSMAPITD */
/***********************************************************************
* Tivoli Storage Manager *
* API Client Component *
* *
* (C) Copyright IBM Corporation 1993,2010 *
***********************************************************************/
/**************************************************************************
* Header File Name: dsmapips.h
*
* Environment: *********************************************
* ** This is a platform-specific source file **
* ** versioned for Windows NT **
*
* *********************************************
*
* Design Notes: This file includes platform dependent definitions
*
* Descriptive-name: Definitions for Tivoli Storage Manager typedefs and LINKAGE
*-------------------------------------------------------------------------*/
#ifndef _H_DSMAPIPS
#define _H_DSMAPIPS
#ifndef _WIN64
#pragma pack(1)
#endif
/*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>*/
/* T Y P E D E F S */
/*<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>*/
/* new typedef file for Version 3 */
#if !defined(DSMAPILIB) || defined (XOPEN_BUILD)
/* support for linkage */
#include <windows.h>
#define DSMLINKAGE WINAPI
#define DS_WINNT 22
#define _OPSYS_TYPE DS_WINNT
typedef signed char dsInt8_t;
typedef unsigned char dsUint8_t;
typedef signed short dsInt16_t;
typedef unsigned short dsUint16_t;
typedef signed long dsInt32_t;
typedef unsigned long dsUint32_t;
/*=== Character and string types ===*/
#ifdef UNICODE
typedef wchar_t dsChar_t;
#define dsTEXT(x) L##x
#else
typedef char dsChar_t;
#define dsTEXT(x) x
#endif /* !UNICODE */
/*=== Common typedefs and defines derived from dsChar_t ===*/
typedef dsChar_t *dsString_t;
/* added for the extended restore order */
typedef struct
{
dsUint32_t top;
dsUint32_t hi_hi;
dsUint32_t hi_lo;
dsUint32_t lo_hi;
dsUint32_t lo_lo;
} dsUint160_t ;
#if defined(_LONG_LONG)
typedef __int64 dsInt64_t;
typedef unsigned __int64 dsUint64_t;
/*=== A "true" unsigned 64-bit integer ===*/
typedef __int64 dsLongLong_t;
#else
typedef struct tagUINT64_t
{
dsUint32_t hi; /* Most significant 32 bits. */
dsUint32_t lo; /* Least significant 32 bits. */
} dsUint64_t;
#endif
/*-------------------------------------------------------------------------+
| Type definition for bool_t |
+-------------------------------------------------------------------------*/
/*
* Had to create a Boolean type that didn't clash with any other predefined
* version in any operating system or windowing system.
*/
typedef enum
{
dsmFalse = 0x00,
dsmTrue = 0x01
}dsmBool_t ;
/*=== for backward compatability ===*/
#define uint8 dsUint8_t
#define int8 dsInt8_t
#define uint16 dsUint16_t
#define int16 dsInt16_t
#define uint32 dsUint32_t
#define int32 dsInt32_t
#define uint64 dsStruct64_t
#define bool_t dsBool_t
#define dsBool_t dsmBool_t
#define bTrue dsmTrue
#define bFalse dsmFalse
typedef struct
{
dsUint32_t hi; /* Most significant 32 bits. */
dsUint32_t lo; /* Least significant 32 bits. */
}dsStruct64_t ;
#endif /* DSMAPILIB */
#ifndef _WIN64
#pragma pack()
#endif
#endif /* _H_DSMAPIPS */
/***********************************************************************
* Tivoli Storage Manager *
* Common Source Component *
* *
* (C) Copyright IBM Corporation 1993,2003 *
***********************************************************************/
/***********************************************************************
* Header File Name: release.h
*
* Environment: ************************************************
* ** This is a platform-independent source file **
* ************************************************
*
* Design Notes: This file contains the common information about
* the actual version.release.level.sublevel
*
* Descriptive-name: Definitions for Tivoli Storage manager version
*
* Note: This file should contain no LOG or CMVC information. It is
* shipped with the API code.
*
*----------------------------------------------------------------------*/
#ifndef _H_RELEASE
#define _H_RELEASE
#define COMMON_VERSION 7
#define COMMON_RELEASE 1
#define COMMON_LEVEL 1
#define COMMON_SUBLEVEL 0
#define COMMON_DRIVER dsTEXT("")
#define COMMON_VERSIONTXT "7.1.1.0"
#define SHIPYEARTXT "2014"
#define SHIPYEARTXTW dsTEXT("2014")
#define TSMPRODTXT "IBM Tivoli Storage Manager"
/*======================================================================
The following string definitions are used for VERSION information
and should not be converted to dsTEXT or osTEXT. They are used
only at link time.
These are also used when the Jar file is built on Unix. See the
the perl script tools/unx/mzbuild/createReleaseJava
======================================================================*/
#define COMMON_VERSION_STR "7"
#define COMMON_RELEASE_STR "1"
#define COMMON_LEVEL_STR "1"
#define COMMON_SUBLEVEL_STR "0"
#define COMMON_DRIVER_STR ""
/*=== product names definitions ===*/
#define COMMON_NAME_DFDSM 1
#define COMMON_NAME_ADSM 2
#define COMMON_NAME_TSM 3
#define COMMON_NAME_ITSM 4
#define COMMON_NAME COMMON_NAME_ITSM
/*======================================================================
Internal version, release, and level (build) version. This
should be unique for every version+release+ptf of a product.
This information is recorded in the file attributes and data
stream for diagnostic purposes.
NOTE: DO NOT MODIFY THESE VALUES. YOU CAN ONLY ADD NEW ENTRIES!
======================================================================*/
#define COMMON_BUILD_TSM_510 1
#define COMMON_BUILD_TSM_511 2
#define COMMON_BUILD_TSM_515 3
#define COMMON_BUILD_TSM_516 4
#define COMMON_BUILD_TSM_520 5
#define COMMON_BUILD_TSM_522 6
#define COMMON_BUILD_TSM_517 7
#define COMMON_BUILD_TSM_523 8
#define COMMON_BUILD_TSM_530 9
#define COMMON_BUILD_TSM_524 10
#define COMMON_BUILD_TSM_532 11
#define COMMON_BUILD_TSM_533 12
#define COMMON_BUILD_TSM_525 13
#define COMMON_BUILD_TSM_534 14
#define COMMON_BUILD_TSM_540 15
#define COMMON_BUILD_TSM_535 16
#define COMMON_BUILD_TSM_541 17
#define COMMON_BUILD_TSM_550 18
#define COMMON_BUILD_TSM_542 19
#define COMMON_BUILD_TSM_551 20
#define COMMON_BUILD_TSM_610 21
#define COMMON_BUILD_TSM_552 22
#define COMMON_BUILD_TSM_611 23
#define COMMON_BUILD_TSM_543 24
#define COMMON_BUILD_TSM_620 25
#define COMMON_BUILD_TSM_612 26
#define COMMON_BUILD_TSM_553 27
#define COMMON_BUILD_TSM_613 28
#define COMMON_BUILD_TSM_621 29
#define COMMON_BUILD_TSM_622 30
#define COMMON_BUILD_TSM_614 31
#define COMMON_BUILD_TSM_623 32
#define COMMON_BUILD_TSM_630 33
#define COMMON_BUILD_TSM_615 34
#define COMMON_BUILD_TSM_624 35
#define COMMON_BUILD_TSM_631 36
#define COMMON_BUILD_TSM_640 37
#define COMMON_BUILD_TSM_710 38
#define COMMON_BUILD_TSM_625 39
#define COMMON_BUILD_TSM_641 40
#define COMMON_BUILD_TSM_711 41
#define COMMON_BUILD COMMON_BUILD_TSM_711
#define TDP4VE_PLATFORM_STRING_MBCS "TDP VMware"
#define TDP4VE_PLATFORM_STRING dsTEXT("TDP VMware")
#define TDP4HYPERV_PLATFORM_STRING_MBCS "TDP HyperV"
#define TDP4HYPERV_PLATFORM_STRING dsTEXT("TDP HyperV")
#endif /* _H_RELEASE */