73 lines
2.3 KiB
C
73 lines
2.3 KiB
C
typedef enum
|
|
{
|
|
dbNormal, // Non-Exchange
|
|
dbISPriv,
|
|
dbISPub,
|
|
dbDS
|
|
} EXCHANGEDB;
|
|
|
|
|
|
typedef struct tagUTILOPTS
|
|
{
|
|
char *szSourceDB;
|
|
char *szLogfilePath;
|
|
char *szSystemPath;
|
|
char *szTempDB;
|
|
char *szBackup;
|
|
char *szRestore;
|
|
void *pv; // Points to mode-specific structures.
|
|
|
|
INT mode;
|
|
INT fUTILOPTSFlags;
|
|
|
|
BOOL fUseRegistry;
|
|
long cpageBuffers;
|
|
long cpageBatchIO;
|
|
long cpageDbExtension;
|
|
|
|
EXCHANGEDB db; // Exchange-specific flag.
|
|
}
|
|
UTILOPTS;
|
|
|
|
// Modes:
|
|
#define modeConsistency 1
|
|
#define modeDefragment 2
|
|
#define modeRecovery 3
|
|
#define modeBackup 4
|
|
#define modeUpgrade 5
|
|
#define modeDump 6
|
|
|
|
// Flags:
|
|
#define fUTILOPTSSuppressLogo 0x00000001
|
|
#define fUTILOPTSDefragRepair 0x00000002 // Defrag mode only.
|
|
#define fUTILOPTSPreserveTempDB 0x00000004 // Defrag and upgrade modes.
|
|
#define fUTILOPTSDefragInfo 0x00000008 // Defrag and upgrade modes.
|
|
#define fUTILOPTSIncrBackup 0x00000010 // Backup only.
|
|
|
|
#define FUTILOPTSSuppressLogo( fFlags ) ( (fFlags) & fUTILOPTSSuppressLogo )
|
|
#define UTILOPTSSetSuppressLogo( fFlags ) ( (fFlags) |= fUTILOPTSSuppressLogo )
|
|
#define UTILOPTSResetSuppressLogo( fFlags ) ( (fFlags) &= ~fUTILOPTSSuppressLogo )
|
|
|
|
#define FUTILOPTSDefragRepair( fFlags ) ( (fFlags) & fUTILOPTSDefragRepair )
|
|
#define UTILOPTSSetDefragRepair( fFlags ) ( (fFlags) |= fUTILOPTSDefragRepair )
|
|
#define UTILOPTSResetDefragRepair( fFlags ) ( (fFlags) &= ~fUTILOPTSDefragRepair )
|
|
|
|
#define FUTILOPTSPreserveTempDB( fFlags ) ( (fFlags) & fUTILOPTSPreserveTempDB )
|
|
#define UTILOPTSSetPreserveTempDB( fFlags ) ( (fFlags) |= fUTILOPTSPreserveTempDB )
|
|
#define UTILOPTSResetPreserveTempDB( fFlags ) ( (fFlags) &= ~fUTILOPTSPreserveTempDB )
|
|
|
|
#define FUTILOPTSDefragInfo( fFlags ) ( (fFlags) & fUTILOPTSDefragInfo )
|
|
#define UTILOPTSSetDefragInfo( fFlags ) ( (fFlags) |= fUTILOPTSDefragInfo )
|
|
#define UTILOPTSResetDefragInfo( fFlags ) ( (fFlags) &= ~fUTILOPTSDefragInfo )
|
|
|
|
#define FUTILOPTSIncrBackup( fFlags ) ( (fFlags) & fUTILOPTSIncrBackup )
|
|
#define UTILOPTSSetIncrBackup( fFlags ) ( (fFlags) |= fUTILOPTSIncrBackup )
|
|
#define UTILOPTSResetIncrBackup( fFlags ) ( (fFlags) &= ~fUTILOPTSIncrBackup )
|
|
|
|
|
|
|
|
#define CallJ( func, label ) {if ((err = (func)) < 0) {goto label;}}
|
|
#define Call( func ) CallJ( func, HandleError )
|
|
#define fFalse 0
|
|
#define fTrue 1
|