home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / HISOFTPASCAL2,0-2.DMS / in.adf / Units / FileSystem.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-05-20  |  3.9 KB  |  181 lines

  1. unit FileSystem;
  2.  
  3. INTERFACE
  4. uses Exec, AmigaDOS;
  5.  
  6.  
  7. type
  8.     pFileSysEntry = ^tFileSysEntry;
  9.     tFileSysEntry = record
  10.         fse_Node: tNode;
  11.         fse_DosType: long;
  12.         fse_Version: long;
  13.         fse_PatchFlags: long;
  14.         fse_Type: long;
  15.         fse_Task: long;
  16.         fse_Lock: BPTR;
  17.         fse_Handler: BSTR;
  18.         fse_StackSize: long;
  19.         fse_Priority: longint;
  20.         fse_Startup: BPTR;
  21.         fse_SegList: BPTR;
  22.         fse_GlobalVec: BPTR;
  23.         end;
  24.  
  25.     pFileSysResource = ^tFileSysResource;
  26.     tFileSysResource = record
  27.         fsr_Node: tNode;
  28.         fsr_Creator: pbyte;
  29.         fsr_FileSysEntries: tList;
  30.         end;
  31.  
  32.     pPartitionBlock = ^tPartitionBlock;
  33.     tPartitionBlock = record
  34.         pb_ID: long;
  35.         pb_SummedLongs: long;
  36.         pb_ChkSum: longint;
  37.         pb_HostID: long;
  38.         pb_Next: long;
  39.         pb_Flags: long;
  40.         pb_Reserved1: array [0..1] of long;
  41.         pb_DevFlags: long;
  42.         pb_DriveName: array [0..31] of byte;
  43.         pb_Reserved2: array [0..14] of long;
  44.         pb_Environment: array [0..16] of long;
  45.         pb_EReserved: array [0..14] of long;
  46.         end;
  47.  
  48.     pBadBlockEntry = ^tBadBlockEntry;
  49.     tBadBlockEntry = record
  50.         bbe_BadBlock: long;
  51.         bbe_GoodBlock: long;
  52.         end;
  53.  
  54.     pBadBlockBlock = ^tBadBlockBlock;
  55.     tBadBlockBlock = record
  56.         bbb_ID: long;
  57.         bbb_SummedLongs: long;
  58.         bbb_ChkSum: longint;
  59.         bbb_HostID: long;
  60.         bbb_Next: long;
  61.         bbb_Reserved: long;
  62.         bbb_BlockPairs: array [0..60] of tBadBlockEntry;
  63.         end;
  64.  
  65.     pLoadSegBlock = ^tLoadSegBlock;
  66.     tLoadSegBlock = record
  67.         lsb_ID: long;
  68.         lsb_SummedLongs: long;
  69.         lsb_ChkSum: longint;
  70.         lsb_HostID: long;
  71.         lsb_Next: long;
  72.         lsb_LoadData: array [0..122] of long;
  73.         end;
  74.  
  75.     pFileSysHeaderBlock = ^tFileSysHeaderBlock;
  76.     tFileSysHeaderBlock = record
  77.         fhb_ID: long;
  78.         fhb_SummedLongs: long;
  79.         fhb_ChkSum: longint;
  80.         fhb_HostID: long;
  81.         fhb_Next: long;
  82.         fhb_Flags: long;
  83.         fhb_Reserved1: array [0..1] of long;
  84.         fhb_DosType: long;
  85.         fhb_Version: long;
  86.         fhb_PatchFlags: long;
  87.         fhb_Type: long;
  88.         fhb_Task: long;
  89.         fhb_Lock: long;
  90.         fhb_Handler: long;
  91.         fhb_StackSize: long;
  92.         fhb_Priority: longint;
  93.         fhb_Startup: longint;
  94.         fhb_SegListBlocks: longint;
  95.         fhb_GlobalVec: longint;
  96.         fhb_Reserved2: array [0..22] of long;
  97.         fhb_Reserved3: array [0..20] of long;
  98.         end;
  99.  
  100.     pRigidDiskBlock = ^tRigidDiskBlock;
  101.     tRigidDiskBlock = record
  102.         rdb_ID: long;
  103.         rdb_SummedLongs: long;
  104.         rdb_ChkSum: longint;
  105.         rdb_HostID: long;
  106.         rdb_BlockBytes: long;
  107.         rdb_Flags: long;
  108.         rdb_BadBlockList: long;
  109.         rdb_PartitionList: long;
  110.         rdb_FileSysHeaderList: long;
  111.         rdb_DriveInit: long;
  112.         rdb_Reserved1: array [0..5] of long;
  113.         rdb_Cylinders: long;
  114.         rdb_Sectors: long;
  115.         rdb_Heads: long;
  116.         rdb_Interleave: long;
  117.         rdb_Park: long;
  118.         rdb_Reserved2: array [0..2] of long;
  119.         rdb_WritePreComp: long;
  120.         rdb_ReducedWrite: long;
  121.         rdb_StepRate: long;
  122.         rdb_Reserved3: array [0..4] of long;
  123.         rdb_RDBBlocksLo: long;
  124.         rdb_RDBBlocksHi: long;
  125.         rdb_LoCylinder: long;
  126.         rdb_HiCylinder: long;
  127.         rdb_CylBlocks: long;
  128.         rdb_AutoParkSeconds: long;
  129.         rdb_Reserved4: array [0..1] of long;
  130.         rdb_DiskVendor: array [0..7] of byte;
  131.         rdb_DiskProduct: array [0..15] of byte;
  132.         rdb_DiskRevision: array [0..3] of byte;
  133.         rdb_ControllerVendor: array [0..7] of byte;
  134.         rdb_ControllerProduct: array [0..15] of byte;
  135.         rdb_ControllerRevision: array [0..3] of byte;
  136.         rdb_Reserved5: array [0..9] of long;
  137.         end;
  138.  
  139.     pBootBlock = ^tBootBlock;
  140.     tBootBlock = record
  141.         bb_id: long;
  142.         bb_chksum: longint;
  143.         bb_dosblock: longint;
  144.         end;
  145.  
  146.  
  147.  
  148. const
  149.     IDNAME_PARTITION = $50415254;
  150.     FSRNAME = 'FileSystem.resource';
  151.     IDNAME_LOADSEG = $4C534547;
  152.     PBFB_NOMOUNT = 1;
  153.     PBFF_NOMOUNT = 2;
  154.     BBNAME_DOS = $444F5300;
  155.     RDBFB_LAST = 0;
  156.     RDBFF_LAST = 1;
  157.     PBFB_BOOTABLE = 0;
  158.     BBID_KICK = $4B49434B;
  159.     PBFF_BOOTABLE = 1;
  160.     RDBFB_CTRLRID = 5;
  161.     RDBFB_LASTTID = 2;
  162.     RDBFF_CTRLRID = $20;
  163.     RDBFF_LASTTID = 4;
  164.     RDB_LOCATION_LIMIT = $10;
  165.     IDNAME_BADBLOCK = $42414442;
  166.     RDBFB_DISKID = 4;
  167.     IDNAME_FILESYSHEADER = $46534844;
  168.     IDNAME_RIGIDDISK = $5244534B;
  169.     RDBFF_DISKID = $10;
  170.     RDBFB_LASTLUN = 1;
  171.     BOOTSECTS = 2;
  172.     RDBFF_LASTLUN = 2;
  173.     RDBFB_NORESELECT = 3;
  174.     BBID_DOS = $444F5300;
  175.     RDBFF_NORESELECT = 8;
  176.     BBNAME_KICK = $4B49434B;
  177.  
  178.  
  179. IMPLEMENTATION
  180. end.
  181.