PROGRAM DiscScanner; { COPYWRITE NOTICE This Program exists in the Public Domain. It may be used or altered without the explicit permission of the author, Stephen Michell Dept. of National Defense Ottawa, Ontario Canada K1A 0K2 Attn. DAAVSE 5 but may not be used for gain or reward except as authorized by the author. } CONST Version = 1.0 {31-OCT-80}; TYPE String3 =ARRAY[1..3] OF CHAR; String6 =ARRAY[1..6] OF CHAR; String9 =ARRAY[1..9] OF CHAR; String12 =ARRAY[1..12] OF CHAR; String14 =ARRAY[1..14] OF CHAR; String30 =ARRAY[1..30] OF CHAR; FileDescriptorString = RECORD CASE INTEGER OF 0:(Name : String6; Extension : String3); 1:(All : String9);{ CAUTION - EQUIVALENCE} END; Radix50 = 0..174777B; RadixString3 = ARRAY[1..3] OF Radix50; RadixString10 = ARRAY[1..10] OF Radix50; FileSpecRecordPtr = ^FileSpecRecord; FileSpecRecord = RECORD FileName : filedescriptorstring; DateCreated, DateOtherFileCreated : INTEGER; NextEntry : FileSpecRecordPtr; END; OptionTypes = (ScanDev1, ScanDev2, CompareFiles, SortAlpha, PrintResult, ProcessVolumeID, CompareByDate, wait); OptionArray = ARRAY[OptionTypes] OF BOOLEAN; USRArea = ARRAY[1..1024] OF INTEGER; VAR FirstDeviceDirList, SecondDeviceDirList, CommonDirList, TempPtr :FileSpecRecordPtr; FirstDeviceName, SecondDevicename :String6; NumberOfASCIICharsReturned:INTEGER; Options :OptionArray; Output :TEXT; OutputName :String14; USRSwapLocationPointer ORIGIN 46B : RECORD CASE INTEGER OF {*** CAUTION...EQUIVALENCE ***} 0:(SwapOverCode : INTEGER); 1:(MakeSpaceAvailable : ^USRArea); END; {This controls the swap area for the USR ( **Dependant** )} Dummy :String3;