/* Diavolo Preferences and Settings Header File © 1995 Martin Korndörfer V 1.30 */ /* The following structures contains all settings for Diavolo. Use them with DAPI_ASKPREFS and DAPI_CHANGEPREFS (see below) to change the settings of Diavolo. ATTENTION! Please be careful WHAT and HOW you change. We can't give any guarantees if one of these settings is used irregularly. */ /* *********************************************************************** */ /* *********************************************************************** */ /* */ /* SCSI Settings */ /* */ /* *********************************************************************** */ /* *********************************************************************** */ #define MAXCHAR_CATPATH 400 #define MAXCHAR_DESTPATH 400 #define MAXCHAR_DESTDEVICE 31 #define MAXCHAR_FONTNAME 31 #define MAXCHAR_PUBSCREEN 100 #define MAXCHAR_REPDEST 400 /* SCSI Settings. Be EXTREMLY careful what you're doing here! Best not to mess with these settings. */ struct SCSIData { ULONG scsi_Magic; /* Must be set to SCSI_MAGIC value below */ ULONG scsi_Length; /* Must be set to sizeof(struct SCSIData) */ BOOL scsi_Ok; /* Settings valid */ UBYTE scsi_DeviceType; /* SCSI Device type. Must be 1 = Seq. tape */ UBYTE scsi_Version; /* SCSI 1 or 2 */ BOOL scsi_Removable; /* Medium removable */ char scsi_Vendor[9]; /* Device vendor as reported by SCSI_INQUIRY */ char scsi_ProductID[17]; /* Device Product ID */ char scsi_Revision[5]; /* Device SW revision */ BOOL scsi_WriteProtect; /* Device write protected */ ULONG scsi_MinBlockLength; /* Reported min. block size */ ULONG scsi_MaxBlockLength; /* Reported max. block size */ ULONG scsi_MaxTransfer; /* SCSI buffer size */ UWORD scsi_MemType; /* SCSI buffer memory type. Set to MEMF_xxx value */ ULONG scsi_BlockSize; /* Size of one transfer block */ ULONG scsi_MaxBlockSize; /* Max. size of one transfer block */ BOOL scsi_CngBuffered; /* 'Buffered' flag can be altered */ BOOL scsi_Buffered; /* Enable SCSI device buffer */ BOOL scsi_CngFixedBlock; /* 'Fixed blocks' can be altered */ BOOL scsi_FixedBlock; /* Use fixed block size */ BOOL scsi_CngPartition; /* Partition setting not used yet! */ UWORD scsi_CatalogDest; /* Destination of Catalog. See below. Only CATALOG_PATH valid right now */ ULONG scsi_CatalogSize; /* Not used yet */ char scsi_CatalogPath[MAXCHAR_CATPATH + 2]; /* Path of catalog files */ BOOL scsi_CngSetMark; /* 'SetMark' can be altered */ BOOL scsi_SetMark; /* Use Setmarks instead of Filemarks */ BOOL scsi_CngSpaceBlock; /* 'Fast locate' can be altered */ BOOL scsi_SpaceBlock; /* 'Fast locate' enabled */ BOOL scsi_CngSeek; /* 'Direct seek' can be altered */ BOOL scsi_Seek; /* 'Direct seek' enabled */ BOOL scsi_CngOverwrite; /* 'Update-in-place' can be altered */ BOOL scsi_Overwrite; /* 'Update-in-place' enabled */ BOOL scsi_CngCompression; /* 'HW Compression' can be altered */ BOOL scsi_Compression; /* 'HW Compression' enabled */ struct { unsigned scsi_UseEarlyWarning : 1; /* Use 'early end of tape warning' */ unsigned scsi_UseFixedTapeLen : 1; /* Use fixed tape length */ unsigned scsi_SpaceFM : 1; /* Locate backups using Filemarks */ unsigned scsi_SyncRewind : 1; /* Wait until finished rewinding */ unsigned scsi_SequenceNR : 1; /* Use sequence numbers in blocks */ unsigned scsi_Reposition : 1; /* Reposition after scan */ unsigned scsi_UnusedFlags : 26; /* Unused */ } scsi_Flags; ULONG scsi_TapeLength; /* Tapelength in MB */ UWORD scsi_NumPartitions; /* Actual number of partitions on tape */ UWORD scsi_MediumDensity; /* SCSI Medium density. Default: 0 */ UBYTE scsi_Dummy[34]; /* Reserved */ }; #define SCSI_MAGIC 0x27fd82c2 /* Magic value for SCSIData V 1.33+ */ #define MEMTYPE_CHIP 0 /* Internal, NOT for scsi_Memtype! */ #define MEMTYPE_DMA 1 #define MEMTYPE_ANY 2 #define CATALOG_PATH 0 /* for scsi_CatalogDest. Only CATALOG_PATH is */ #define CATALOG_PARTITION 1 /* valid right now */ #define CATALOG_NONE 2 /* *********************************************************************** */ /* *********************************************************************** */ /* */ /* Preferences */ /* */ /* *********************************************************************** */ /* *********************************************************************** */ /* PrefsSnapshot is used to save window positions and sizes */ struct PrefsSnapshot { WORD Left, Top, Width, Height; /* Set all to -1 to center on screen */ }; struct PrefsFile { ULONG prf_Magic; /* Must be set to PRF_MAGIC value below */ ULONG prf_Length; /* Must be set to sizeof(struct PrefsFile) */ BOOL prf_UseDrive[4]; /* Which disk drives will be used for operation */ BOOL prf_VerifyWrite; /* Verify disk writes */ UBYTE prf_BackupMedium; /* Medium to save to. See values below */ char prf_UseDOSFile[MAXCHAR_DESTPATH]; /* Filename for backup to file */ char prf_UseDeviceName[MAXCHAR_DESTDEVICE]; /* Devicename for backup to SCSI tape */ int prf_UseDeviceUnit; /* Deviceunit for backup to SCSI tape */ ULONG prf_PufferSizeFac; /* Global buffer size in 40kB blocks. ~0 for max. available */ BOOL prf_NumDispShort; /* TRUE for 12.34 MB display */ BYTE prf_SenderTaskPri; /* Taskpri for hd read/write task */ BYTE prf_PackerTaskPri; /* Taskpri for packing/unpacking */ BYTE prf_ReceiverTaskPri; /* Taskpri for backup medium task */ BYTE prf_PackerNum; /* Used packer. 0 = NoPacker, 1 = LowEff... */ char prf_Packer[5][15]; /* Packer for each level (e.g. NUKE.5) */ BOOL prf_AskPw; /* TRUE to ask backup title and password */ BOOL prf_CheckDOS; /* Check disks for DOS format */ BOOL prf_CheckBack; /* Check disks for Diavolo format */ BYTE prf_OverwrtMode; /* Action if file exists while restore. See below for details. */ BOOL prf_ClearArchiveFlags; /* TRUE to *SET* archive flags after backup (sorry, wrong label here :) */ BOOL prf_UseDirStructure; /* TRUE to restore dir. structure */ struct SCSIData prf_SCSI; /* SCSI Prefs. See above */ BOOL prf_UseExAll; /* Use ExAll to scan data (no longer used in 1.36+, use prf_FileSysCompat instead) */ BOOL prf_FollowLinks; /* FALSE to save HLed directories */ BOOL prf_IgnoreHLinks; /* FALSE to save HLed files */ BOOL prf_RecursionCheck; /* Unused, set to TRUE */ BOOL prf_DeviceVerify; /* AutoCompare in GlobalOptions, NOT ONLY for Devices anymore! */ struct PrefsSnapshot prf_MenuSnapshot; /* Window position and sizes */ struct PrefsSnapshot prf_DeviceSnapshot; /* Use -1 to center window */ struct PrefsSnapshot prf_SelectSnapshot; struct PrefsSnapshot prf_BackupSnapshot; struct PrefsSnapshot prf_RestoreSnapshot; struct PrefsSnapshot prf_VerifySnapshot; struct PrefsSnapshot prf_ScanSnapshot; struct PrefsSnapshot prf_GlobOptSnapshot; struct PrefsSnapshot prf_BackOptSnapshot; struct PrefsSnapshot prf_RestOptSnapshot; struct PrefsSnapshot prf_SCSIOptSnapshot; struct PrefsSnapshot prf_TapeIndexSnapshot; struct PrefsSnapshot prf_PasswordSnapshot; struct PrefsSnapshot prf_FilterSnapshot; UWORD prf_DeviceDestType; /* Device destination, see below */ char prf_DirectDeviceName[MAXCHAR_DESTDEVICE]; /* Name of direct Backup Device (removable media) */ struct PrefsSnapshot prf_ImageSnapshot; BOOL prf_UsePublicScreen; /* TRUE if Diavolo should open on a public screen */ char prf_PubScreenName[MAXCHAR_PUBSCREEN]; /* Name of the public screen Diavolo should use */ /* Following values provided by ASL (see asl.h) */ ULONG prf_DisplayID; /* Display mode ID */ ULONG prf_DisplayWidth; /* Width of display in pixels */ ULONG prf_DisplayHeight; /* Height of display in pixels */ ULONG prf_DisplayDepth; /* Number of bit-planes of display */ ULONG prf_OverscanType; /* Type of overscan of display */ BOOL prf_AutoScroll; /* Display should auto-scroll? */ char prf_FontName[MAXCHAR_FONTNAME]; /* Font name */ UWORD prf_FontSize; /* Font size */ BOOL prf_FlatTree; /* Use Flat directory tree */ UWORD prf_FilesysCompat; /* Filesystem compatibility, see below */ BOOL prf_UsePacketIO; /* Use packet level I/O (asynchronous) */ char prf_FileRepDest[MAXCHAR_REPDEST]; /* Zielpfad für Filereport */ char prf_ErrorRepDest[MAXCHAR_REPDEST]; /* Zielpfad für Fehlerreport */ }; #define PRF_MAGIC 0xa687b26c /* Magic value for PrefsFile above */ #define MEDIUM_DOS 1 /* prf_BackupMedium */ #define MEDIUM_DISK 0 #define MEDIUM_DEVICE 2 #define MEDIUM_TRACKDEV 3 #define DESTTYPE_TAPE 0 /* prf_DeviceDestType */ #define DESTTYPE_DIRECT 1 #define OVERWRT_ASK 0 /* prf_OverwrtMode */ #define OVERWRT_NOT 1 #define OVERWRT_ALWAYS 2 #define OVERWRT_OLDER 3 #define OVERWRT_RENOLD 4 #define OVERWRT_RENNEW 5 /* prf_FilesysCompat */ #define FSCOMP_1_3 1 /* Don't use ANY 2.0 packets or DOS commands */ #define FSCOMP_3_0 2 /* Use 2.0/3.0 features except ExAll(), which was broken until 3.1 */ #define FSCOMP_3_1 3 /* Use all features, including ExAll() */