windows-nt/Source/XPSP1/NT/net/jet500/xjet/inc/_edbutil.h
2020-09-26 16:20:57 +08:00

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