Difference between revisions of "Unit Filesystem"

From Ultibo.org
Jump to: navigation, search
(Created page with "Return to Unit Reference === Description === ---- ''To be documented'' === Constants === ---- ''To be documented'' === Type definitions === ---- ''To...")
 
 
(64 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
----
 
----
  
''To be documented''
+
'''Ultibo FileSystem Interface unit'''
 +
 
 +
Numbering of Devices, Partitions, Volumes, Drives etc
 +
 
 +
''Example:''
 +
 
 +
Machine with 2 Floppy drives, 2 Fixed drives
 +
 
 +
Fixed Drive 1 has 2 Partitions (1 Primary and 1 Extended)
 +
 
 +
Fixed Drive 2 has 1 Partition (1 Primary)
 +
 
 +
\Floppy0 = Device 00h/Partition 0
 +
 
 +
\Floppy1 = Device 01h/Partition 0
 +
 
 +
\Harddisk0\Partition1 = Device 80h/Partition 1
 +
 
 +
\Harddisk0\Extended1 = Device 80h/Extended 1
 +
 
 +
\Harddisk0\Partition2 = Device 80h/Partition 2
 +
 
 +
\Harddisk1\Partition1 = Device 81h/Partition 1
 +
 
 +
\Volume1 = \Floppy0
 +
 
 +
\Volume2 = \Floppy1
 +
 
 +
\Volume3 = \Harddisk0\Partition1
 +
 
 +
\Volume4 = \Harddisk1\Partition1
 +
 
 +
\Volume5 = \Harddisk0\Partition2
 +
 
 +
A: = \Volume1
 +
 
 +
B: = \Volume2
 +
 
 +
C: = \Volume3  (Alternate Name = \HarddiskVolume1)
 +
 
 +
D: = \Volume4  (Alternate Name = \HarddiskVolume2)
 +
 
 +
E: = \Volume5  (Alternate Name = \HarddiskVolume3)
  
 
=== Constants ===
 
=== Constants ===
 
----
 
----
  
''To be documented''
+
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem specific constants''' <code> FILESYS_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_LOGGING_DESCRIPTION = 'Filesystem Logging';</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FILESYS_STORAGE_TIMER_INTERVAL = 100;</code>
 +
| Timer interval for device additions or insertions
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem lock state''' <code> FILESYS_LOCK_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_LOCK_NONE = 0;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_LOCK_READ = 1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_LOCK_WRITE = 2;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_LOCK_AUTO = 3;</code>
 +
| Not intended for use in all situations, use with extreme caution.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem cache''' <code> FILESYS_CACHE_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_CACHE_THREAD_NAME = 'Filesystem Cache';</code>
 +
| Thread name for Filesystem cache threads
 +
|-
 +
| <code>FILESYS_CACHE_THREAD_PRIORITY = THREAD_PRIORITY_HIGHER;</code>
 +
| Thread priority for Filesystem cache threads
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FILESYS_CACHE_TIMER_INTERVAL = 50;</code>
 +
| 50ms timer interval for Filesystem cache
 +
|-
 +
| <code>FILESYS_CACHE_FLUSH_TIMEOUT = 3000;</code>
 +
| Filesystem cache flush timeout 3 seconds
 +
|-
 +
| <code>FILESYS_CACHE_DISCARD_TIMEOUT = 180000;</code>
 +
| Filesystem cache discard timeout 3 minutes
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem entry timer''' <code> FILESYS_ENTRY_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_ENTRY_TIMER_INTERVAL = 1000;</code>
 +
| 1000ms timer interval for Filesystem entries
 +
|-
 +
| <code>FILESYS_ENTRY_DELETE_TIMEOUT = 30000;</code>
 +
| Filesystem entry delete timeout 30 seconds
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem cache timer''' <code> CACHE_TIMER_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>CACHE_TIMER_KEY_NONE = TIMER_KEY_NONE;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>CACHE_TIMER_KEY_MAX = TIMER_KEY_MAX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>CACHE_TIMER_KEY_MIN = TIMER_KEY_MIN;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem entry timer key''' <code> ENTRY_TIMER_KEY_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>ENTRY_TIMER_KEY_NONE = TIMER_KEY_NONE;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>ENTRY_TIMER_KEY_MAX = TIMER_KEY_MAX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENTRY_TIMER_KEY_MIN = TIMER_KEY_MIN;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem partition, device and volume''' <code> *_PARTITION, *_DEVICE, *_VOLUME </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>MIN_FLOPPY_DEVICE = $00;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_FLOPPY_DEVICE = $7F;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_FIXED_DEVICE = $80;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_FIXED_DEVICE = $FF;</code>
 +
| Extends over CDROM/Other
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_CDROM_DEVICE = $E0;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_CDROM_DEVICE = $EF;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_OTHER_DEVICE = $F0;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_OTHER_DEVICE = $FF;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>INVALID_PARTITION = -1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>INVALID_DEVICE = -1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>INVALID_VOLUME = 0;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_PARTITION = 0;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_PARTITION = 3;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_EXTENDED = 1;</code>
 +
| Only 2 partitions in second level
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_FLOPPY_DRIVE = MIN_DRIVE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_FLOPPY_DRIVE = MIN_DRIVE + 1;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_FIXED_DRIVE = MIN_DRIVE + 2;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_FIXED_DRIVE = MAX_DRIVE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MIN_SECTOR_SIZE = 512;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MAX_SECTOR_SIZE = 4096;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ISO_SECTOR_SIZE = 2048;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>VOLUME_PREFIX = '\Volume';</code>
 +
| eg \Volume1
 +
|-
 +
| <code>EXTENDED_PREFIX = '\Extended';</code>
 +
| eg \Extended1
 +
|-
 +
| <code>PARTITION_PREFIX = '\Partition';</code>
 +
| eg \Partition1
 +
|-
 +
| <code>CONTROLLER_PREFIX = '\Controller';</code>
 +
| eg \Controller0
 +
|-
 +
| <code>CDROM_DEVICE_PREFIX = '\Cdrom';</code>
 +
| eg \Cdrom0
 +
|-
 +
| <code>OTHER_DEVICE_PREFIX = '\Other';</code>
 +
| eg \Other0
 +
|-
 +
| <code>FIXED_DEVICE_PREFIX = '\Harddisk';</code>
 +
| eg \Harddisk0
 +
|-
 +
| <code>FLOPPY_DEVICE_PREFIX = '\Floppy';</code>
 +
| eg \Floppy0
 +
|-
 +
| <code>UNKNOWN_DEVICE_PREFIX = '\Unknown';</code>
 +
| eg \Unknown0
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>VOLUME_PATH_PREFIX = '\\?';</code>
 +
| eg \\?\Volume1\Home
 +
|-
 +
| <code>DEVICE_PATH_PREFIX = '\\.';</code>
 +
| eg \\.\Harddisk0\Partition1\Home
 +
|-
 +
| <code>REPARSE_PATH_PREFIX = '\??\';</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>BOOT_RECORD_SIGNATURE = $AA55;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PARTITION_RECORD_SIGNATURE = $AA55;</code>
 +
| &nbsp;
 +
|-
 +
| <code>BOOT_SECTOR_SIGNATURE = $AA55;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem find flag''' <code> FIND_FLAG_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FIND_FLAG_NONE = $00000000;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FIND_FLAG_FILE_NAMES = $00000001;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem find wildcard''' <code> FIND_WILDCARD_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FIND_WILDCARD_NAME = '*.*';</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FIND_WILDCARD_STREAM = '*';</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''File mode''' <code> fm*Mask </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>fmOpenMask = $000F;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>fmShareMask = $00F0;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''File attribute''' <code> fa* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>faDot = $01000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faDotDot = $02000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faFile = $04000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faStream = $08000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faFlagName = $00100000;</code>
 +
| Used for FAT case flags
 +
|-
 +
| <code>faFlagExt = $00200000;</code>
 +
| Used for FAT case flags
 +
|-
 +
| <code>faFlagBoth = (faFlagName or faFlagExt);</code>
 +
| &nbsp;
 +
|-
 +
| <code>faFlagLong = $00400000;</code>
 +
| Not currently used
 +
|-
 +
| <code>faFlagMetafile = $00800000;</code>
 +
| Used for NTFS Metafiles
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>faFlagMask = $0FFF0000;</code>
 +
| Used to preserve internal attributes
 +
|-
 +
| <code>faFindMask = $0000FFFF;</code>
 +
| Used to mask internal attributes
 +
|-
 +
| <code>faMatchMask = (faFile or faStream or faVolumeID or faDirectory);</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Additional File Attribute Flags for NTFS/EXTFS/NSS''
 +
|-
 +
| <code>faDevice = $00000040;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faNormal = $00000080;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faTemporary = $00000100;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faSparse = $00000200;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faReparse = $00000400;</code>
 +
| See also faSymLink in filutilh.inc (SysUtils)
 +
|-
 +
| <code>faCompressed = $00000800;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faOffline = $00001000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faNotIndexed = $00002000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faEncrypted = $00004000;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>faMftDirectory = $10000000;</code>
 +
| Used only by FileName Attribute
 +
|-
 +
| <code>faMftIndexView = $20000000;</code>
 +
| Used by both the StandardInformation and FileName attributes
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|Note: NTFS does not store the faVolumeID or faDirectory attributes
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Additional File Attribute constants''
 +
|-
 +
| <code>faNone = $00000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>faStandard = (faReadOnly or faHidden or faSysFile or faArchive);</code>
 +
| &nbsp;
 +
|-
 +
| <code>faLongName = (faReadOnly or faHidden or faSysFile or faVolumeID);</code>
 +
| &nbsp;
 +
|-
 +
| <code>faLongMask = (faReadOnly or faHidden or faSysFile or faVolumeID or faDirectory or faArchive);</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem volume attribute''' <code> va* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>vaNone = $00000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaCaseSensitive = $00000001;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaCasePreserved = $00000002;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaUnicode = $00000004;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaPersistentAcls = $00000008;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaFileCompression = $00000010;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaVolumeQuotas = $00000020;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaSparseFiles = $00000040;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaReparsePoints = $00000080;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaRemoteStorage = $00000100;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaLongNamesApi = $00004000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaVolumeCompressed = $00008000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaObjectIds = $00010000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaEncryption = $00020000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaNamedStreams = $00040000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>vaReadOnly = $00080000;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Additional Volume Attribute constants''
 +
|-
 +
| <code>vaBootCatalog = $01000000;</code>
 +
| Used to indicate support for ISO Boot Catalogs
 +
|-
 +
| <code>vaVirtualVolume = $02000000;</code>
 +
| Used to indicate Volume is Virtual or on a Virtual Device
 +
|-
 +
| <code>vaFolderEncryption = $04000000;</code>
 +
| Used to indicate support for Folder Encryption (New files in folder are automatically encrypted)
 +
|-
 +
| <code>vaFolderCompression = $08000000;</code>
 +
| Used to indicate support for Folder Compression (New files in folder are automatically compressed)
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem device attribute''' <code> da* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>daNone = $00000000;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>daWriteable = $00000001;</code>
 +
| &nbsp;
 +
|-
 +
| <code>daVirtual = $00000002;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem image attribute''' <code> ia* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>iaNone = $00000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>iaDisk = $00000001;</code>
 +
| Memory/File/Device (All others always Disk)
 +
|-
 +
| <code>iaPartition = $00000002;</code>
 +
| Memory/File/Device
 +
|-
 +
| <code>iaVolume = $00000004;</code>
 +
| Memory/File/Device
 +
|-
 +
| <code>iaDrive = $00000008;</code>
 +
| Memory/File/Device
 +
|-
 +
| <code>iaCDROM = $00000010;</code>
 +
| Memory/File/Device/Iso
 +
|-
 +
| <code>iaDVD = $00000020;</code>
 +
| Memory/File/Device/Iso
 +
|-
 +
| <code>iaFlat = $00000040;</code>
 +
| Bochs
 +
|-
 +
| <code>iaSparse = $00000080;</code>
 +
| Bochs
 +
|-
 +
| <code>iaGrowing = $00000100;</code>
 +
| Bochs
 +
|-
 +
| <code>iaFixed = $00000200;</code>
 +
| Vpc/Vbox/Vmware
 +
|-
 +
| <code>iaDynamic = $00000400;</code>
 +
| Vpc/Vbox/Vmware
 +
|-
 +
| <code>iaSplit = $00000800;</code>
 +
| Vpc/Vmware/WIM/Ghost/Portlock/Powerquest
 +
|-
 +
| <code>iaUndoable = $00001000;</code>
 +
| Vpc/Vbox/Vmware
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>iaReadable = $00010000;</code>
 +
| All
 +
|-
 +
| <code>iaWriteable = $00020000;</code>
 +
| All
 +
|-
 +
| <code>iaEraseable = $00040000;</code>
 +
| All
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem catalog attribute''' <code> ca* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>caNone = $00000000;</code>
 +
| &nbsp;
 +
|-
 +
| <code>caDefault = $00000001;</code>
 +
| Initial/Default Entry
 +
|-
 +
| <code>caBootable = $00000002;</code>
 +
| Boot Indicator
 +
|-
 +
| <code>caNoEmulation = $00000004;</code>
 +
| No Emulation
 +
|-
 +
| <code>caFloppy12M = $00000008;</code>
 +
| 1.2M
 +
|-
 +
| <code>caFloppy144M = $00000010;</code>
 +
| 1.44M
 +
|-
 +
| <code>caFloppy288M = $00000020;</code>
 +
| 2.88M
 +
|-
 +
| <code>caHardDisk = $00000040;</code>
 +
| Hard Disk
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem miscellaneous''' <code> NAME_HASH_SIZE* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>NAME_HASH_SIZE = 8;</code>
 +
| Used for Internal Name Hash Generation only
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem partition Id''' <code> pid* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|See http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MAX_PARTITION_ID = 255;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnused = 0;</code>
 +
| Empty
 +
|-
 +
| <code>pidFAT12 = 1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidXENIXROOT = 2;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidXENIXUSR = 3;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT16 = 4;</code>
 +
| under 32M
 +
|-
 +
| <code>pidExtended = 5;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT16HUGE = 6;</code>
 +
| over 32M
 +
|-
 +
| <code>pidHPFSNTFS = 7;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidAIXOS2 = 8;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidAIX = 9;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOS2BOOT = 10;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT32 = 11;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT32LBA = 12;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown013 = 13;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT16LBA = 14;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidExtLBA = 15;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOPUS = 16;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDEN12 = 17;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidCompaqDiag = 18;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown019 = 19;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDEN16 = 20;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown021 = 21;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDEN16HUGE = 22;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDENHPFS = 23;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidASTSWAP = 24;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidWillowtech = 25;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown026 = 26;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDEN32 = 27;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDEN32LBA = 28;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown029 = 29;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDEN16LBA = 30;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown031 = 31;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidWillowsoft = 32;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOxygen = 33;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOxygenExtended = 34;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved035 = 35;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNECMSDOS = 36;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown037 = 37;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown038 = 38;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown039 = 39;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown040 = 40;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown041 = 41;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown042 = 42;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown043 = 43;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown044 = 44;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown045 = 45;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown046 = 46;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown047 = 47;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown048 = 48;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved049 = 49;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidAlienNOS = 50;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved051 = 51;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved052 = 52;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOS2JFS = 53;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved054 = 54;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown055 = 55;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidTheos057 = 56;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPlan9 = 57;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidTheos058 = 58;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidTheos059 = 59;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPowerQuest = 60;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHiddenNetware = 61;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown062 = 62;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown063 = 63;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidVENIX286 = 64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPersonalRISC = 65;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSFS = 66;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPTSDOS = 67;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidGoBack = 68;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidEUMEL069 = 69;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidEUMEL070 = 70;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidEUMEL071 = 71;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidEUMEL072 = 72;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown073 = 73;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidAdaOS = 74;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown075 = 75;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOberon = 76;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidQNX4077 = 77;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidQNX4078 = 78;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidQNX4079 = 79;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOnTrack080 = 80;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNOVELL081 = 81;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidCPM = 82;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOnTrack083 = 83;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOnTrack084 = 84;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidEZDrive = 85;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidGoldenBow = 86;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown087 = 87;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown088 = 88;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown089 = 89;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown090 = 90;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown091 = 91;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPriamEdisk = 92;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown093 = 93;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown094 = 94;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown095 = 95;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown096 = 96;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSpeedStor097 = 97;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown098 = 98;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSysV = 99;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNetware286 = 100;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNWFS = 101;</code>
 +
| Traditional/Netware 6 Master
 +
|-
 +
| <code>pidUnknown102 = 102;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNovell103 = 103;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNovell104 = 104;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNSS = 105;</code>
 +
| NSS/Netware 6
 +
|-
 +
| <code>pidUnknown106 = 106;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown107 = 107;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown108 = 108;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown109 = 109;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown110 = 110;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown111 = 111;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidDiskSecure = 112;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown113 = 113;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown114 = 114;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved115 = 115;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved116 = 116;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPCIX = 117;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved118 = 118;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown119 = 119;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown120 = 120;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown121 = 121;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown122 = 122;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown123 = 123;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown124 = 124;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown125 = 125;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown126 = 126;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown127 = 127;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidMinix = 128;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLinuxMinix = 129;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLinuxSwap = 130;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLinuxNative = 131;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidHIDDENC = 132;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLinuxExtended = 133;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT16Stripe = 134;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNTFSStripe = 135;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown136 = 136;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown137 = 137;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown138 = 138;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown139 = 139;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown140 = 140;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown141 = 141;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown142 = 142;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown143 = 143;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown144 = 144;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown145 = 145;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown146 = 146;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidAmoeba = 147;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidAmoebaBBT = 148;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown149 = 149;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown150 = 150;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown151 = 151;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown152 = 152;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown153 = 153;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown154 = 154;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown155 = 155;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown156 = 156;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown157 = 157;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown158 = 158;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown159 = 159;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPhoenixPM = 160;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved161 = 161;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown162 = 162;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved163 = 163;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved164 = 164;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFreeBSD = 165;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOpenBSD = 166;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNeXTStep = 167;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown168 = 168;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown169 = 169;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown170 = 170;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidDarwinBoot = 171;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown172 = 172;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown173= 173;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown174 = 174;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown175 = 175;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown176 = 176;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown177 = 177;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown178 = 178;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown179 = 179;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved180 = 180;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown181 = 181;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT16MirrorA = 182;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNTFSMirrorA = 183;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidBSDIswap = 184;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown185 = 185;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown186 = 186;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown187 = 187;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown188 = 188;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown189 = 189;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown190= 190;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown191 = 191;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown192 = 192;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidDRDOSFAT12 = 193;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown194 = 194;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown195 = 195;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidDRDOSFAT16 = 196;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown197 = 197;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidFAT16MirrorB = 198;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidNTFSMirrorB = 199;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown200 = 200;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown201 = 201;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown202 = 202;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown203 = 203;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown204 = 204;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown205 = 205;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown206 = 206;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown207 = 207;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown208 = 208;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown209 = 209;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidTinyEFAT = 210;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidEFAT = 211;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSecuredEFAT = 212;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOpticalEFAT = 213;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown214 = 214;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown215 = 215;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidCPM86 = 216;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown217 = 217;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown218 = 218;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidConcurrentCPM = 219;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown220 = 220;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown221 = 221;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown222 = 222;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown223 = 223;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown224 = 224;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSpeedStorFAT12 = 225;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown226 = 226;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown227 = 227;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSpeedStorFAT16 = 228;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved229 = 229;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidReserved230 = 230;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown231 = 231;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown232 = 232;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown233 = 233;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown234 = 234;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidBeOSBFS1 = 235;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown236 = 236;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown237 = 237;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown238 = 238;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown239 = 239;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLinuxRISC = 240;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidStorageDimension = 241;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidDOS33Secondary = 242;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSpeedStor243 = 243;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSpeedStor244 = 244;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidPrologue = 245;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidSpeedStor246 = 246;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidOSGEFAT = 247;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown248 = 248;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidUnknown249 = 249;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidBochsX86 = 250;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidVMware = 251;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidVMwareSwap = 252;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLinuxRAID = 253;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidLANstep = 254;</code>
 +
| &nbsp;
 +
|-
 +
| <code>pidXenixBBT = 255;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|<code>PARTITION_NAMES:array[0..MAX_PARTITION_ID] of String = (</code>
 +
|-
 +
| <code>'Unused',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT12',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'XENIX ROOT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'XENIX USR',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT16 (up to 32M)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Extended',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT16 (over 32M)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'HPFS or NTFS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'AIX or OS/2',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'AIX',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OS/2 Boot Manager',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT32',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT32 (LBA)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT16 (LBA)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Extended (LBA)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OPUS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden FAT12',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Compaq Diagnostic',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden FAT16 (<32M)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden FAT16 (>32M)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden HPFS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'AST SWAP',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Willowtech',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden FAT32',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden FAT32 (LBA)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden FAT16 (LBA)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Willowsoft',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Oxygen',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Oxygen Extended',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'NEC MS-DOS 3.X',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Alien NOS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OS/2 JFS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Theos',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Plan 9',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Theos',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Theos',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'PowerQuest Recovery',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden Netware',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'VENIX 80286',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Personal RISC',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SFS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'PTS-DOS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'GoBack',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'EUMEL/Elan',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'EUMEL/Elan',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'EUMEL/Elan',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'EUMEL/Elan',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'AdaOS Aquila',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Oberon',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'First QNX 4.0',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Second QNX 4.0',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Third QNX 4.0',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OnTrack DM',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'NOVELL',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'CP/M',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OnTrack DM',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OnTrack DM',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'EZ Drive',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'GoldenBow',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Priam Edisk',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SpeedStor',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Sys V / Mach / HURD',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Netware 286',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Netware 386',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Novell',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Novell',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Netware NSS',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'DiskSecure',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'PC/IX',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Minix v1.1-1.4a',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Linux / Minix',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Linux Swap',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Linux Native',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Hidden C:',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Linux Extended',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT16 Stripe Set',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'NTFS Stripe Set',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Amoeba',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Amoeba BBT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Phoenix Power Management',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FreeBSD',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OpenBSD',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'NeXTStep',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Apple Darwin Boot',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT16 Mirror (Master)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'NTFS Mirror (Master)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'BSDI Swap',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'DR-DOS FAT12',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'DR-DOS FAT16',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'FAT16 Mirror (Slave)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'NTFS Mirror (Slave)',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Tiny EFAT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'EFAT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Secured EFAT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Optical EFAT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'CP/M-86',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Concurrent CP/M',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SpeedStor FAT12',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SpeedStor FAT16',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Reserved',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'BeOS BFS-1',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Linux/PA-RISC',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Storage Dimension',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'DOS 3.3+ Secondary',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SpeedStor',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SpeedStor',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Prologue',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'SpeedStor',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'OSG EFAT',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Unknown',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'BochsX86',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'VMware',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'VMware Swap',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Linux RAID',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'LANstep',</code>
 +
| &nbsp;
 +
|-
 +
| <code>'Xenix BBT');</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem device description''' <code> FILESYS_*_DEVICE_DESCRIPTION </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_ATA_DEVICE_DESCRIPTION = 'ATA Storage Device';</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FILESYS_ATAPI_DEVICE_DESCRIPTION = 'ATAPI Storage Device';</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_SCSI_DEVICE_DESCRIPTION = 'SCSI Storage Device';</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_USB_DEVICE_DESCRIPTION = 'USB Storage Device';</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_MMC_DEVICE_DESCRIPTION = 'MMC/SD Storage Device';</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem controller description''' <code> FILESYS_*_CONTROLLER_DESCRIPTION </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_ATA_CONTROLLER_DESCRIPTION = 'ATA Storage Controller';</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FILESYS_ATAPI_CONTROLLER_DESCRIPTION = 'ATAPI Storage Controller';</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_SCSI_CONTROLLER_DESCRIPTION = 'SCSI Storage Controller';</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_USB_CONTROLLER_DESCRIPTION = 'USB Storage Controller';</code>
 +
| &nbsp;
 +
|-
 +
| <code>FILESYS_MMC_CONTROLLER_DESCRIPTION = 'MMC/SD Storage Controller';</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''FileSystem logging''' <code> FILESYS_LOG_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FILESYS_LOG_LEVEL_DEBUG = LOG_LEVEL_DEBUG;</code>
 +
| FileSystem debugging messages
 +
|-
 +
| <code>FILESYS_LOG_LEVEL_INFO = LOG_LEVEL_INFO;</code>
 +
| FileSystem informational messages, such as a filesystem being mounted or dismounted
 +
|-
 +
| <code>FILESYS_LOG_LEVEL_WARN = LOG_LEVEL_WARN;</code>
 +
| FileSystem warning messages
 +
|-
 +
| <code>FILESYS_LOG_LEVEL_ERROR = LOG_LEVEL_ERROR;</code>
 +
| FileSystem error messages
 +
|-
 +
| <code>FILESYS_LOG_LEVEL_NONE = LOG_LEVEL_NONE;</code>
 +
| No FileSystem messages
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Type definitions ===
 
=== Type definitions ===
 
----
 
----
  
''To be documented''
+
 
 +
'''Storage device event'''
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PStorageDeviceEvent = ^TStorageDeviceEvent;</code>
 +
 
 +
<code>TStorageDeviceEvent = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Timer:TTimerHandle;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Device:PStorageDevice;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div> 
 +
 
 +
'''Cache timer'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PCacheTimerItem = ^TCacheTimerItem;</code>
 +
 
 +
<code>TCacheTimerItem = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Key:Integer;</code>
 +
| Ordering key for timer list
 +
|-
 +
| <code>Page:TObject;</code>
 +
| The cache page referenced by this timer list item
 +
|-
 +
| <code>Prev:PCacheTimerItem;</code>
 +
| Previous item in timer list
 +
|-
 +
| <code>Next:PCacheTimerItem;</code>
 +
| Next item in timer list
 +
|-
 +
|}
 +
</div></div> 
 +
 
 +
'''Entry timer'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PEntryTimerItem = ^TEntryTimerItem;</code>
 +
 
 +
<code>TEntryTimerItem = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Key:Integer;</code>
 +
| Ordering key for timer list
 +
|-
 +
| <code>Entry:TObject;</code>
 +
| The disk entry referenced by this timer list item
 +
|-
 +
| <code>Prev:PEntryTimerItem;</code>
 +
| Previous item in timer list
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Media type'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TMediaType = (mtUNKNOWN,mtINVALID,mtFLOPPY,mtFIXED,mtREMOVABLE,mtCDROM,mtDVD,mtOTHER);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Floppy type'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TFloppyType = (ftUNKNOWN,ftINVALID,ft360K,ft12M,ft720K,ft144M,ft288M,ftATAPI);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 +
'''Image type'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TImageType = (itUNKNOWN,itINVALID,itMEMORY,itFILE,itDEVICE,itISO,itBOCHS,itVMWARE,itVPC,itVBOX);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Cache state'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TCacheState = (csCLEAN,csDIRTY);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Cache mode'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TCacheMode = (cmNONE,cmREADONLY,cmREADWRITE);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 +
'''Cache page type'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TCachePageType = (ptNONE,ptDEVICE);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 +
'''Cache page state'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TCachePageState = (psUNKNOWN,psEMPTY,psCLEAN,psDIRTY);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Cache page content'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TCachePageContent = (pcUNKNOWN,pcDATA,pcDIRECTORY,pcENTRY,pcSYSTEM);</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Cache statistics'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PCacheStatistics = ^TCacheStatistics;</code>
 +
 
 +
<code>TCacheStatistics = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|''Information''
 +
|-
 +
| <code>PageSize:LongWord;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>PageCount:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>CacheSize:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>CacheMode:TCacheMode;</code>
 +
| &nbsp;
 +
|-
 +
| <code>CacheState:TCacheState;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FlushTimeout:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>DiscardTimeout:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|''Read/Write''
 +
|-
 +
| <code>ReadCached:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ReadDirect:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WriteBack:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WriteThrough:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WriteDirect:Int64;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|''Hit/Miss''
 +
|-
 +
| <code>HitCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MissCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|''Allocate Success/Failure''
 +
|-
 +
| <code>FailCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SuccessCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|''Page Flush/Discard''
 +
|-
 +
| <code>FlushCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>DiscardCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>UnknownCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|''Page Times''
 +
|-
 +
| <code>OldestClean:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>NewestClean:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>OldestDirty:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>NewestDirty:Int64;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div> 
 +
 
 +
'''Search'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>TSearchRec = SysUtils.TRawbyteSearchRec;</code>
 +
 
 +
<code>TSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: TSearchRec is always defined in SysUtils
 +
|-
 +
| <code>Time: Integer;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Size: Integer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Attr: Integer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Name: TFileName;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ExcludeAttr: Integer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle: THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindData: TWin32FindData;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''File search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TFileSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FindData:TWin32FindData;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div> 
 +
 +
'''Disk search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TDiskSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>MediaType:TMediaType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FloppyType:TFloppyType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Verbose:Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Partition search'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TPartitionSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Index:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Verbose:Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Volume search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TVolumeSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Attributes:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VolumeLabel:String;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VolumeGUID:String;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VolumeSerial:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>DriveType:TDriveType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FileSysType:TFileSysType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Verbose:Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 +
'''Drive search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TDriveSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Attributes:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VolumeLabel:String;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VolumeGUID:String;</code>
 +
| &nbsp;
 +
|-
 +
| <code>VolumeSerial:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>DriveType:TDriveType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FileSysType:TFileSysType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Verbose:Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 +
'''Image search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TImageSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>ImageNo:Integer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ImageType:TImageType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MediaType:TMediaType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FloppyType:TFloppyType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Attributes:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SectorSize:Word;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SectorCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Cylinders:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Heads:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Sectors:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PartitionId:Byte;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Verbose:Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 +
'''Catalog search'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TCatalogSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Path:String;</code>
 +
| &nbsp;
 +
|-
 +
| <code>CatalogNo:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MediaType:TMediaType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FloppyType:TFloppyType;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Attributes:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SectorSize:Word;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SectorCount:Int64;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Mount search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TMountSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Junction search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TJunctionSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Stream search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TStreamSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>Context:Pointer;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FindData:TWin32FindStreamData;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Link search'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TLinkSearchRec = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>Name:String;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FindHandle:THandle;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Context:Pointer;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''FAT12/FAT16 BIOS parameter block'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TBiosPB = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>BytesPerSector:Word;</code>
 +
| 512,1024,2048,4096 - Usually 512
 +
|-
 +
| <code>SectorsPerCluster:Byte;</code>
 +
| 1,2,4,8,16,32,64,128
 +
|-
 +
| <code>ReservedSectors:Word;</code>
 +
| FAT12/16 - Usually 1, FAT32 - Usually 32
 +
|-
 +
| <code>NumberOfFats:Byte;</code>
 +
| Usually 2
 +
|-
 +
| <code>RootEntryCount:Word;</code>
 +
| FAT32 always 0, FAT16 usually 512 (RootEntryCount * 32 must be even multiple of BytesPerSector)
 +
|-
 +
| <code>TotalSectors16:Word;</code>
 +
| Total Sectors on the drive or 0 if TotalSectors32 used
 +
|-
 +
| <code>MediaId:Byte;</code>
 +
| F8 for Fixed media, F0 usually for Removable media
 +
|-
 +
| <code>SectorsPerFat16:Word;</code>
 +
| FAT32 always 0, Number of Sectors per FAT
 +
|-
 +
| <code>SectorsPerTrack:Word;</code>
 +
| Sectors Per Track for Int13
 +
|-
 +
| <code>NumberOfHeads:Word;</code>
 +
| Number of Header for Int13 eg 1.44MB = 2
 +
|-
 +
| <code>HiddenSectors:LongWord;</code>
 +
| Number of Hidden Sectors preceeding Partition (Only valid on Partitioned media)
 +
|-
 +
| <code>TotalSectors32:LongWord;</code>
 +
| Total Sectors on the drive or 0 if TotalSectors16 used
 +
|-
 +
|}
 +
</div></div> 
 +
 
 +
'''FAT32 BIOS parameter block'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TExtBiosPB = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>BytesPerSector:Word;</code>
 +
| 512,1024,2048,4096 - Usually 512
 +
|-
 +
| <code>SectorsPerCluster:Byte;</code>
 +
| 1,2,4,8,16,32,64,128
 +
|-
 +
| <code>ReservedSectors:Word;</code>
 +
| FAT12/16 - Usually 1, FAT32 - Usually 32
 +
|-
 +
| <code>NumberOfFats:Byte;</code>
 +
| Usually 2
 +
|-
 +
| <code>RootEntryCount:Word;</code>
 +
| FAT32 always 0, FAT16 usually 512 (RootEntryCount * 32 must be even multiple of BytesPerSector)
 +
|-
 +
| <code>TotalSectors16:Word;</code>
 +
| Total Sectors on the drive or 0 if TotalSectors32 used
 +
|-
 +
| <code>MediaId:Byte;</code>
 +
| F8 for Fixed media, F0 usually for Removable media
 +
|-
 +
| <code>SectorsPerFat16:Word;</code>
 +
| FAT32 always 0, Number of Sectors per FAT
 +
|-
 +
| <code>SectorsPerTrack:Word;</code>
 +
| Sectors Per Track for Int13
 +
|-
 +
| <code>NumberOfHeads:Word;</code>
 +
| Number of Header for Int13 eg 1.44MB = 2
 +
|-
 +
| <code>HiddenSectors:LongWord;</code>
 +
| Number of Hidden Sectors preceeding Partition (Only valid on Partitioned media)
 +
|-
 +
| <code>TotalSectors32:LongWord;</code>
 +
| Total Sectors on the drive or 0 if TotalSectors16 used
 +
|-
 +
| <code>SectorsPerFat32:LongWord;</code>
 +
| Number of Sectors per FAT
 +
|-
 +
| <code>ExtendedFlags:Word;</code>
 +
| Bits 0-3  -- Zero-based number of active FAT. Only valid if mirroring.
 +
Bits 0-3 - is disabled.
 +
 
 +
Bits 4-6 - Reserved.
 +
 
 +
Bit 7 - 0 means the FAT is mirrored at runtime into all FATs.
 +
 
 +
Bit 7 - 1 means only one FAT is active, it is the one referenced.
 +
 
 +
Bit 7 - in bits 0-3.
 +
 
 +
Bits 8-15 -- Reserved.
 +
|-
 +
| <code>FileSysVersion:Word;</code>
 +
| FAT32 Version (Current 0:0)
 +
|-
 +
| <code>RootCluster:LongWord;</code>
 +
| Usually Cluster 2
 +
|-
 +
| <code>FileSysInfoSector:Word;</code>
 +
| Usually 1
 +
|-
 +
| <code>BackupBootSector:Word;</code>
 +
| Usually 6
 +
|-
 +
| <code>Reserved:array[0..11] of Byte;</code>
 +
| Always 0
 +
|-
 +
|}
 +
</div></div> 
 +
 
 +
'''NTFS BIOS parameter block'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TNtfsBiosPB = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>BytesPerSector:Word;</code>
 +
| 512,1024,2048,4096 - Usually 512
 +
|-
 +
| <code>SectorsPerCluster:Byte;</code>
 +
| 1,2,4,8,16,32,64,128 - Usually 8
 +
|-
 +
| <code>ReservedSectors:Word;</code>
 +
| Must always be 0 on NTFS (Win2K Volume Manager ?)
 +
|-
 +
| <code>Reserved1:array[0..2] of Byte;</code>
 +
| Must always be 0 on NTFS
 +
|-
 +
| <code>Reserved2:Word;</code>
 +
| Must always be 0 on NTFS
 +
|-
 +
| <code>MediaId:Byte;</code>
 +
| F8 for Fixed media, F0 usually for Removable media
 +
|-
 +
| <code>Reserved3:Word;</code>
 +
| Must always be 0 on NTFS
 +
|-
 +
| <code>SectorsPerTrack:Word;</code>
 +
| Sectors Per Track for Int13
 +
|-
 +
| <code>NumberOfHeads:Word;</code>
 +
| Number of Header for Int13 eg 1.44MB = 2
 +
|-
 +
| <code>HiddenSectors:LongWord;</code>
 +
| Number of Hidden Sectors preceeding Partition
 +
|-
 +
| <code>Reserved4:LongWord;</code>
 +
| Must always be 0 on NTFS
 +
|-
 +
| <code>Reserved5:LongWord;</code>
 +
| Not used by NTFS - Usually 80008000
 +
|-
 +
| <code>TotalSectors:Int64;</code>
 +
| Total Sectors on the drive
 +
|-
 +
| <code>MFTCluster:Int64;</code>
 +
| Start Cluster of $MFT
 +
|-
 +
| <code>MFTMirror:Int64;</code>
 +
| Start Cluster of $MFTMirr
 +
|-
 +
| <code>ClustersPerFile:LongInt;</code>
 +
| Clusters Per File Record (Can be negative) (F6 = 1024 - See Notes)
 +
|-
 +
| <code>ClustersPerIndex:LongInt;</code>
 +
| Clusters Per Index Record (Can be negative) (F6 = 1024 - See Notes)
 +
|-
 +
| <code>VolumeSerial:Int64;</code>
 +
| Volume Serial Number
 +
|-
 +
| <code>Checksum:LongWord;</code>
 +
| Checksum (Not Used)
 +
|-
 +
|}
 +
</div></div> 
 +
 
 +
'''Partition entry'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TPartitionEntry = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>BootIndicator:Byte;</code>
 +
| 80 for active partition
 +
|-
 +
| <code>StartHead:Byte;</code>
 +
| Either Bits 0-3 only or Bits 0-7 depending on BIOS
 +
|-
 +
| <code>StartSector:Byte;</code>
 +
| Bits 0-5 = Sector, Bits 6-7 = Bits 8-9 of Cylinder
 +
|-
 +
| <code>StartCylinder:Byte;</code>
 +
| Bits 0-7 Only, Bits 8-9 in Sector
 +
|-
 +
| <code>TypeIndicator:Byte;</code>
 +
| See Table in Interrupt List and Below
 +
|-
 +
| <code>EndHead:Byte;</code>
 +
| Either Bits 0-3 only or Bits 0-7 depending on BIOS
 +
|-
 +
| <code>EndSector:Byte;</code>
 +
| Bits 0-5 = Sector, Bits 6-7 = Bits 8-9 of Cylinder
 +
|-
 +
| <code>EndCylinder:Byte;</code>
 +
| Bits 0-7 Only, Bits 8-9 in Sector
 +
|-
 +
| <code>SectorOffset:LongWord;</code>
 +
| Offset in sectors from current position to Start of Partition
 +
|-
 +
| <code>SectorCount:LongWord;</code>
 +
| Size in Sectors of the Partition
 +
|-
 +
|}
 +
</div></div> 
 +
 +
'''Partition table'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
 
 +
<code>TPartitionTable = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>PartitionEntry:array[MIN_PARTITION..MAX_PARTITION] of TPartitionEntry;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Master boot code'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TMasterBootCode = array[0..445] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Master boot record'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PMasterBootRecord = ^TMasterBootRecord;</code>
 +
 
 +
<code>TMasterBootRecord = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: Standard Master Boot Record
 +
|-
 +
| <code>BootCode:TMasterBootCode;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PartitionTable:TPartitionTable;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Signature:Word;</code>
 +
| Magic Number $AA55
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Ext master boot code'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TExtMasterBootCode = array[0..439] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Ext master boot record'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PExtMasterBootRecord = ^TExtMasterBootRecord;</code>
 +
 
 +
<code>TExtMasterBootRecord = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: NT/2000/XP Master Boot Record
 +
|-
 +
| <code>BootCode:TExtMasterBootCode;</code>
 +
| &nbsp;
 +
|-
 +
| <code>DiskSignature:LongWord;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Reserved1:Word;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PartitionTable:TPartitionTable;</code>
 +
| &nbsp;
 +
|-
 +
| <code>Signature:Word;</code>
 +
| Magic Number $AA55
 +
|-
 +
|}
 +
</div></div> 
 +
 +
'''Partition record'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PPartitionRecord = ^TPartitionRecord;</code>
 +
 
 +
<code>TPartitionRecord = packed record </code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: Similar to TMasterBootRecord
 +
|-
 +
| <code>Dummy:array[0..445] of Byte;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PartitionTable:TPartitionTable;</code>
 +
| Only first 2 ever used
 +
|-
 +
| <code>Signature:Word;</code>
 +
| Magic Number $AA55
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Disk sector'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PDiskSector = ^TDiskSector;</code>
 +
 
 +
<code>TDiskSector = array[0..511] of Byte;</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| &nbsp;
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''Boot sector jump'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TBootSectorJump = array[0..2] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Boot sector code'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TBootSectorCode = array[0..447] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Boot sector'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PBootSector = ^TBootSector;</code>
 +
 
 +
<code>TBootSector = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: FAT12/FAT16 Boot Sector
 +
|-
 +
| <code>BootJump:TBootSectorJump;</code>
 +
| JMP - EBh,??h,90h or E9h,??h,??h
 +
|-
 +
| <code>OEMName:array[0..7] of Char;</code>
 +
| MSWIN4.0/MSWIN4.1/MSDOS5.0
 +
|-
 +
| <code>BPB:TBiosPB;</code>
 +
| See Above
 +
|-
 +
| <code>DriveNumber:Byte;</code>
 +
| BIOS Int13 Drive No 00h, 80h, FFh etc
 +
|-
 +
| <code>Reserved1:Byte;</code>
 +
| Always 00h
 +
|-
 +
| <code>BootSignature:Byte;</code>
 +
| Always 29h
 +
|-
 +
| <code>VolumeSerial:LongWord;</code>
 +
| Serial No (Date/Time when Formatted)
 +
|-
 +
| <code>VolumeName:array[0..10] of Char;</code>
 +
| Volume Label or "NO NAME"
 +
|-
 +
| <code>SystemName:array[0..7] of Char;</code>
 +
| System Type FAT12, FAT16, FAT32 etc
 +
|-
 +
| <code>BootCode:TBootSectorCode;</code>
 +
| Executable Code
 +
|-
 +
| <code>Signature:Word;</code>
 +
| Magic Number $AA55
 +
|-
 +
|}
 +
</div></div> 
 +
 +
'''Ext boot sector jump'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TExtBootSectorJump = array[0..2] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Ext boot sector code'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TExtBootSectorCode = array[0..419] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''Ext boot sector'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PExtBootSector = ^TExtBootSector;</code>
 +
 
 +
<code>TExtBootSector = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: FAT32 Boot Sector
 +
|-
 +
| <code>BootJump:TExtBootSectorJump;</code>
 +
| JMP - EBh,??h,90h or E9h,??h,??h
 +
|-
 +
| <code>OEMName:array[0..7] of Char;</code>
 +
| MSWIN4.1
 +
|-
 +
| <code>BPB:TExtBiosPB;</code>
 +
| See Above
 +
|-
 +
| <code>DriveNumber:Byte;</code>
 +
| BIOS Int13 Drive No 00h, 80h, FFh etc
 +
|-
 +
| <code>Reserved1:Byte;</code>
 +
| Always 00h
 +
|-
 +
| <code>BootSignature:Byte;</code>
 +
| Always 29h
 +
|-
 +
| <code>VolumeSerial:LongWord;</code>
 +
| Serial No (Date/Time when Formatted)
 +
|-
 +
| <code>VolumeName:array[0..10] of Char;</code>
 +
| Volume Label or "NO NAME"
 +
|-
 +
| <code>SystemName:array[0..7] of Char;</code>
 +
| System Type FAT12, FAT16, FAT32 etc
 +
|-
 +
| <code>BootCode:TExtBootSectorCode;</code>
 +
| Executable Code
 +
|-
 +
| <code>Signature:Word;</code>
 +
| Magic Number $AA55
 +
|-
 +
|}
 +
</div></div>
 +
 +
'''NTFS boot sector jump'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TNtfsBootSectorJump = array[0..2] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''NTFS boot sector code'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>TNtfsBootSectorCode = array[0..425] of Byte;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''NTFS boot sector'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PNtfsBootSector = ^TNtfsBootSector;</code>
 +
 
 +
<code>TNtfsBootSector = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: NTFS Boot Sector
 +
|-
 +
| <code>BootJump:TNtfsBootSectorJump;</code>
 +
| JMP - EBh,??h,90h
 +
|-
 +
| <code>OEMName:array[0..7] of Char;</code>
 +
| Always NTFS
 +
|-
 +
| <code>BPB:TNtfsBiosPB;</code>
 +
| See Above (73 Bytes BPB and ExtBPB)
 +
|-
 +
| <code>BootCode:TNtfsBootSectorCode;</code>
 +
| Executable Code
 +
|-
 +
| <code>Signature:Word;</code>
 +
| Magic Number $AA55
 +
|-
 +
|}
 +
</div></div>
 +
 +
'''EXTFS boot sector'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PExtfsBootSector = ^TExtfsBootSector;</code>
 +
 
 +
<code>TExtfsBootSector = packed record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Note: EXTFS Boot Sector
 +
|-
 +
| &nbsp;
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
 
 +
'''FileSystem logging'''
 +
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 +
<code>PFileSysLogging = ^TFileSysLogging;</code>
 +
 
 +
<code>TFileSysLogging = record</code>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|''Logging Properties''
 +
|-
 +
| <code>Logging:TLoggingDevice;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 
 +
=== Class definitions ===
 +
----
 +
 
 +
 
 +
'''FileSystem specific classes'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFileSysDriver|<code>TFileSysDriver = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFileSysList|<code>TFileSysList = class(TLinkedObjList)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFileSysListEx|<code>TFileSysListEx = class(TLinkedObjList)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFileSysTree|<code>TFileSysTree = class(TLinkedObjTree)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskDrive|<code>TDiskDrive = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TRawHandle|<code>TRawHandle = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TEnumHandle|<code>TEnumHandle = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFileHandle|<code>TFileHandle = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFindHandle|<code>TFindHandle = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskController|<code>TDiskController = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskDevice|<code>TDiskDevice = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskPartition|<code>TDiskPartition = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskVolume|<code>TDiskVolume = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskImage|<code>TDiskImage = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TRecognizer|<code>TRecognizer = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TRedirector|<code>TRedirector = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskPartitioner|<code>TDiskPartitioner = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskFormatter|<code>TDiskFormatter = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskDefragger|<code>TDiskDefragger = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskConverter|<code>TDiskConverter = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskRepairer|<code>TDiskRepairer = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskResizer|<code>TDiskResizer = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskCopier|<code>TDiskCopier = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskImager|<code>TDiskImager = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFileSystem|<code>TFileSystem = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskChunk|<code>TDiskChunk = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskTable|<code>TDiskTable = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskBlock|<code>TDiskBlock = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskEntry|<code>TDiskEntry = class(TTreeObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskCatalog|<code>TDiskCatalog = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskReparse|<code>TDiskReparse = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskSecurity|<code>TDiskSecurity = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskAcl|<code>TDiskAcl = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDiskAce|<code>TDiskAce = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCache|<code>TCache = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCacheEx|<code>TCacheEx = class(TCache)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[THashCache|<code>THashCache = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TIncrementalCache|<code>TIncrementalCache = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCachePage|<code>TCachePage = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[THashCachePage|<code>THashCachePage = class(TCachePage)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TIncrementalCachePage|<code>TIncrementalCachePage = class(THashCachePage)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCacheTimer|<code>TCacheTimer = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[THashCacheTimer|<code>THashCacheTimer = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TIncrementalCacheTimer|<code>TIncrementalCacheTimer = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCacheThread|<code>TCacheThread = class(TThread)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[THashCacheThread|<code>THashCacheThread = class(TThread)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TIncrementalCacheThread|<code>TIncrementalCacheThread = class(TThread)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TEntryTimer|<code>TEntryTimer = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDefaultRecognizer|<code>TDefaultRecognizer = class(TRecognizer)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TDefaultPartitioner|<code>TDefaultPartitioner = class(TDiskPartitioner)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TExtDiskController|<code>TExtDiskController = class(TDiskController)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TATADiskController|<code>TATADiskController = class(TDiskController)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TATAPIDiskController|<code>TATAPIDiskController = class(TDiskController)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TSCSIDiskController|<code>TSCSIDiskController = class(TDiskController)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TUSBDiskController|<code>TUSBDiskController = class(TExtDiskController)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TMMCDiskController|<code>TMMCDiskController = class(TExtDiskController)</code>]]
 +
|-
 +
|}
 +
 
 +
'''FileSystem advanced classes'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFSHandleStream|<code>TFSHandleStream = class(TStream)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFSFileStream|<code>TFSFileStream = class(TFSHandleStream)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFSHandleStreamEx|<code>TFSHandleStreamEx = class(TStreamEx)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TFSFileStreamEx|<code>TFSFileStreamEx = class(TFSHandleStreamEx)</code>]]
 +
|-
 +
|}
 +
<br />
  
 
=== Public variables ===
 
=== Public variables ===
 
----
 
----
  
''To be documented''
+
 
 +
'''FileSystem logging'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>FILESYS_DEFAULT_LOG_LEVEL:LongWord = FILESYS_LOG_LEVEL_DEBUG;</code>
 +
| style="width: 40%;"|Minimum level for FileSystem messages. Only messages with level greater than or equal to this will be printed.
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>FILESYS_LOG_ENABLED:Boolean;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 
 +
'''FileSystem specific variables'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>FileSysDriver:TFileSysDriver;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
<br />
  
 
=== Function declarations ===
 
=== Function declarations ===
 
----
 
----
  
''To be documented''
 
  
 +
'''Initialization functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysInit;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStart:LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStop:LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStartCompleted:Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Returns True if the filesystem has been started</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysAsyncStart(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''FileSystem functions (Delphi/FreePascal RTL Equivalent)'''
 +
 +
'''Drive functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetPathDrive(const APath:String):Byte; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveType(ADrive:Byte):TDriveType; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveData(ADrive:Byte):TDriveData; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveAttr(ADrive:Byte):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveLabel(ADrive:Byte):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetDriveLabel(ADrive:Byte; const ALabel:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveSerial(ADrive:Byte):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetDriveSerial(ADrive:Byte; ASerial:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSIsDriveValid(ADrive:Byte):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetValidDrives:LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetValidDriveNames:TStringList; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetValidDriveStrings:String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveFreeSpace(ADrive:Byte):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveFreeSpaceEx(ADrive:Byte):Int64; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveTotalSpace(ADrive:Byte):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveTotalSpaceEx(ADrive:Byte):Int64; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDriveInformation(const APath:String; var AClusterSize:LongWord; var ATotalClusterCount,AFreeClusterCount:Int64):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetCurrentDrive:Byte; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetCurrentDrive(const ADrive:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''File functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileOpen(const AFileName:String; AMode:Integer):THandle; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileCreate(const AFileName:String):THandle; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSDeleteFile(const AFileName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FSFileClose(AHandle:Integer); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSRenameFile(const AOldName,ANewName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSeek(AHandle:THandle; AOffset,AOrigin:LongInt):LongInt; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileFlush(AHandle:Integer):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileTruncate(AHandle:Integer):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetEndOfFile(AHandle:THandle):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSEndOfFile(AHandle:Integer):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFilePos(AHandle:THandle):LongInt; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSize(AHandle:THandle):LongInt; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileAge(const AFileName:String):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileExists(const AFileName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileGetAttr(const AFileName:String):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileGetDate(AHandle:Integer):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSetAttr(const AFileName:String; AAttr:Integer):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSetDate(AHandle:Integer; AAge:Integer):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileRead(AHandle:THandle; var ABuffer; ACount:LongInt):LongInt; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileWrite(AHandle:THandle; const ABuffer; ACount:LongInt):LongInt; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Directory functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCreateDir(const ADirName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSRemoveDir(const ADirName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSRenameDir(const AOldName,ANewName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetCurrentDir:String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetCurrentDir(const ADirName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSDirectoryExists(const ADirName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FSForceDirectories(ADirName:String); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FSDeleteTree(const ADirName:String); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Search functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindFirst(const APath:String; AAttr:Integer; var ASearchRec:TSearchRec):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindNext(var ASearchRec:TSearchRec):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FSFindClose(var ASearchRec:TSearchRec); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Additional functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileCopy(const ASourceFile,ADestFile:String; AFailIfExists:Boolean):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileCopyEx(const ASourceFile,ADestFile:String; AFailIfExists:Boolean; AUseSourceDate:Boolean; ADestDate:Integer; AUseSourceAttr:Boolean; ADestAttr:Integer):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetShortName(const AFileName:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetLongName(const AFileName:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetTrueName(const AFileName:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSAddSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSDeleteSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Extended functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSeekEx(AHandle:THandle; const AOffset:Int64; AOrigin:LongInt):Int64; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSEndOfFileEx(AHandle:Integer):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFilePosEx(AHandle:THandle):Int64; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSizeEx(AHandle:THandle):Int64; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileAgeEx(const AFileName:String):TFileTime; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileGetAttrEx(AHandle:Integer):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileGetDateEx(AHandle:Integer):TFileTime; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFileSetDateEx(AHandle:Integer; AAge:TFileTime):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetFileTime(AHandle:THandle; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFileTime(AHandle:THandle; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindFirstEx(const APath:String; var ASearchRec:TFileSearchRec):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindNextEx(var ASearchRec:TFileSearchRec):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FSFindCloseEx(var ASearchRec:TFileSearchRec); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''FileSystem functions (Win32 Compatibility)'''
 +
 +
'''Drive functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSDefineDosDevice(const ADeviceName,ATargetPath:String; AFlags:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDiskType(const ARootPath:String):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Equivalent to Win32 GetDriveType</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDiskFreeSpace(const ARootPath:String; var ASectorsPerCluster,ABytesPerSector,ANumberOfFreeClusters,ATotalNumberOfClusters:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetDiskFreeSpaceEx(const APathName:String; var AFreeBytesAvailableToCaller,ATotalNumberOfBytes,ATotalNumberOfFreeBytes:QWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetLogicalDrives:LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetLogicalDriveStrings:String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetVolumeInformation(const ARootPath:String; var AVolumeName:String; var AVolumeSerialNumber,AMaximumComponentLength,AFileSystemFlags:LongWord; var ASystemName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSQueryDosDevice(const ARootPath:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetVolumeLabel(const AVolume:String; const ALabel:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''File functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSAreFileApisANSI:Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCloseFile(AHandle:THandle):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Equivalent to Win32 CloseHandle</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCopyFile(const AExistingName,ANewName:String; AFailIfExists:Boolean):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCreateFile(const AFileName:String; AAccessMode,AShareMode,ACreateFlags,AFileAttributes:LongWord):THandle; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindCloseFile(AHandle:THandle):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Equivalent to Win32 FindClose</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindFirstFile(const AFileName:String; var AFindData:TWin32FindData):THandle; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFindNextFile(AHandle:THandle; var AFindData:TWin32FindData):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSFlushFileBuffers(AHandle:THandle):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetFileAttributes(const AFileName:String):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetFileInformationByHandle(AHandle:THandle; var AFileInformation:TByHandleFileInformation):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetFileSize(AHandle:THandle; var AFileSizeHigh:LongWord):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetFullPathName(const AFileName:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetShortPathName(const ALongPath:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSMoveFile(const AExistingName,ANewName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSReadFile(AHandle:THandle; var ABuffer; ABytesToRead:LongWord; var ABytesRead:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFileApisToANSI:Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFileApisToOEM:Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFileAttributes(const AFileName:String; AFileAttributes:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFilePointer(AHandle:THandle; ADistanceToMove:LongInt; var ADistanceToMoveHigh:LongInt; AMoveMethod:LongWord):LongWord; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFilePointerEx(AHandle:THandle; const ADistanceToMove:Int64; var ANewFilePointer:Int64; AMoveMethod:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSWriteFile(AHandle:THandle;const ABuffer; ABytesToWrite:LongWord; var ABytesWritten:LongWord):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetLongPathName(const AShortPath:String):String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFileShortName(const AFileName,AShortName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetFileShortNameEx(AHandle:THandle; const AShortName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCreateHardLink(const ALinkName,AFileName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCreateSymbolicLink(const ALinkName,ATargetName:String; ADirectory:Boolean):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Directory functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSCreateDirectory(const APathName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSGetCurrentDirectory:String; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSRemoveDirectory(const APathName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FSSetCurrentDirectory(const APathName:String):Boolean; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''RTL text IO functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Handler for platform TextIOReadChar function</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Handler for platform TextIOWriteChar function</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Handler for platform TextIOWriteBuffer function</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''RTL FileSystem functions'''
 +
 +
'''System file functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoClose(Handle:THandle);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoErase(Name:PChar; NameChangeable:Boolean);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoRename(Name1,Name2:PChar; Name1Changeable,Name2Changeable:Boolean);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SystemDoWrite(Handle:THandle; Address:Pointer; Len:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SystemDoRead(Handle:THandle; Address:Pointer; Len:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SystemDoFilePos(Handle:THandle):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoSeek(Handle:THandle; Pos:LongInt);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SystemDoSeekEnd(Handle:THandle):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SystemDoFileSize(Handle:THandle):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoTruncate(Handle:THandle; Pos:LongInt);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoOpen(var F; Name:PFileTextRecChar; Flags:LongInt; NameChangeable:Boolean);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| FileRec and TextRec have both Handle and Mode as the first items so they could use the same routine for opening/creating.
 +
- When (Flags and $00100) The file will be Appended
 +
<br />- When (Flags and $01000) The file will be Truncated/rewritten
 +
<br />- When (Flags and $10000) There is no check for Close (needed for TextFiles)
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''System directory functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoMkDir(const Dir:RawByteString);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoRmDir(const Dir:RawByteString);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoChDir(const Dir:RawByteString);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SystemDoGetDir(Drive:Byte; var Dir:RawByteString);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Dos disk functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosDiskFree(Drive:Byte):Int64;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosDiskSize(Drive:Byte):Int64;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Dos FindFirst/FindNext functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosFindMatchingFile(var f:SearchRec):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Internal Only</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosFindFirst(const Path:PathStr; Attr:Word; var f:SearchRec):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| FindFirst/FindNext/FindClose - To be compatible with the DOS. FindFirst/FindNext we always allow faReadOnly and faArchive but only allow other attributes if requested. This is done by matching all files and filtering with FindMatchingFile.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosFindNext(var f:SearchRec):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure DosFindClose(var f:SearchRec);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Dos file functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosGetFTime(var f; var Time:LongInt):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosSetFTime(var f; Time:LongInt):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosGetFAttr(var f; var Attr:Word):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosSetFAttr(var f; Attr:Word):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosGetShortName(var p:ShortString):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DosGetLongName(var p:ShortString):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''SysUtils file functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileOpen(const FileName:RawByteString; Mode:Integer):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileCreate(const FileName:RawByteString; ShareMode:Integer):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsDeleteFile(const FileName:RawByteString):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SysUtilsFileClose(Handle:THandle);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsRenameFile(const OldName,NewName:RawByteString):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileSeek(Handle:THandle; Offset,Origin:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileTruncate(Handle:THandle;Size:Int64):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileAge(const FileName:RawByteString):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileExists(const FileName:RawByteString; FollowLink:Boolean):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileGetAttr(const FileName:RawByteString):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileGetDate(Handle:THandle):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileSetAttr(const FileName:RawByteString; Attr:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileSetDate(Handle:THandle; Age:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileRead(Handle:THandle; out Buffer; Count:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileWrite(Handle:THandle; const Buffer; Count:LongInt):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsFileSeekEx(Handle:THandle; Offset:Int64; Origin:LongInt):Int64;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsInternalFindFirst(const Path:RawByteString; Attr:LongInt; out SearchRec:TSearchRec; var Name:RawByteString):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsInternalFindNext(var SearchRec:TSearchRec; var Name:RawByteString):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SysUtilsInternalFindClose(var Handle:THandle);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''SysUtils disk functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsDiskFree(Drive:Byte):Int64;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsDiskSize(Drive:Byte):Int64;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| No Volume Support
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUtilsDirectoryExists(const Directory:RawByteString; FollowLink:Boolean):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''FileSystem logging functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysLoggingStart(Logging:PLoggingDevice):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of LoggingDeviceStart API for FileSystem Logging</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications, use LoggingDeviceStart instead.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysLoggingStop(Logging:PLoggingDevice):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of LoggingDeviceStop API for FileSystem Logging</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications, use LoggingDeviceStop instead.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysLoggingOutput(Logging:PLoggingDevice; const Data:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of LoggingDeviceOutput API for FileSystem Logging</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications, use LoggingDeviceOutput instead.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysLoggingSetTarget(Logging:PLoggingDevice; const Target:String):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of LoggingDeviceSetTarget API for FileSystem Logging</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications, use LoggingDeviceSetTarget instead.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''FileSystem helper functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysRedirectInput(Handle:THandle):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Redirect standard input to the file specified by Handle</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Handle
 +
| The file handle to redirect input to (or INVALID_HANDLE_VALUE to stop redirection)
 +
|-
 +
! Return
 +
| True if completed successfully or False if an error occurred
 +
|-
 +
! Note
 +
| Redirects the input of the text file Input which also redirects the input of Read, ReadLn and the standard C library.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysRedirectOutput(Handle:THandle):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Redirect standard output to the file specified by Handle</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Handle
 +
| The file handle to redirect output to (or INVALID_HANDLE_VALUE to stop redirection)
 +
|-
 +
! Return
 +
| True if completed successfully or False if an error occurred
 +
|-
 +
! Note
 +
| Redirects the output of the text files Output, ErrOutput, StdOut and StdErr which also redirects the output of Write, WriteLn and the standard C library.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStorageGetMediaType(Storage:PStorageDevice):TMediaType;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStorageGetController(Storage:PStorageDevice):TDiskController;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysStorageDeviceAdd(Event:PStorageDeviceEvent);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysStorageDeviceInsert(Event:PStorageDeviceEvent);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStorageDeviceRemove(Storage:PStorageDevice):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStorageDeviceEject(Storage:PStorageDevice):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStorageDeviceEnum(Storage:PStorageDevice; Data:Pointer):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysStorageDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ComparePartitions(APartition1,APartition2:Pointer):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Sort partitions in order of start sector</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysLog(Level:Integer;const AText:String);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysLogInfo(const AText:String); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysLogWarn(const AText:String); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysLogError(const AText:String); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FileSysLogDebug(const AText:String); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure CacheCheckTimer(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure EntryCheckTimer(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure EntryProcessTimer(Data:Pointer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function MediaTypeToString(AType:TMediaType):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FloppyTypeToString(AType:TFloppyType):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ImageTypeToString(AType:TImageType):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function DriveTypeToString(AType:TDriveType):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FileSysTypeToString(AType:TFileSysType):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function StringToFileSysType(const AFileSysType:String):TFileSysType;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function PartitionIdToString(AId:Byte):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function StringToPartitionId(const APartitionId:String):Byte;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CacheModeToString(ACacheMode:TCacheMode):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CacheStateToString(ACacheState:TCacheState):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CachePageTimeToDateTime(const APageTime:Int64):TDateTime;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
Return to [[Unit_Reference|Unit Reference]]
 
Return to [[Unit_Reference|Unit Reference]]

Latest revision as of 04:18, 8 August 2024

Return to Unit Reference


Description


Ultibo FileSystem Interface unit

Numbering of Devices, Partitions, Volumes, Drives etc

Example:

Machine with 2 Floppy drives, 2 Fixed drives

Fixed Drive 1 has 2 Partitions (1 Primary and 1 Extended)

Fixed Drive 2 has 1 Partition (1 Primary)

\Floppy0 = Device 00h/Partition 0

\Floppy1 = Device 01h/Partition 0

\Harddisk0\Partition1 = Device 80h/Partition 1

\Harddisk0\Extended1 = Device 80h/Extended 1

\Harddisk0\Partition2 = Device 80h/Partition 2

\Harddisk1\Partition1 = Device 81h/Partition 1

\Volume1 = \Floppy0

\Volume2 = \Floppy1

\Volume3 = \Harddisk0\Partition1

\Volume4 = \Harddisk1\Partition1

\Volume5 = \Harddisk0\Partition2

A: = \Volume1

B: = \Volume2

C: = \Volume3 (Alternate Name = \HarddiskVolume1)

D: = \Volume4 (Alternate Name = \HarddiskVolume2)

E: = \Volume5 (Alternate Name = \HarddiskVolume3)

Constants



FileSystem specific constants FILESYS_*
FILESYS_LOGGING_DESCRIPTION = 'Filesystem Logging';  
 
FILESYS_STORAGE_TIMER_INTERVAL = 100; Timer interval for device additions or insertions


FileSystem lock state FILESYS_LOCK_*
FILESYS_LOCK_NONE = 0;  
FILESYS_LOCK_READ = 1;  
FILESYS_LOCK_WRITE = 2;  
FILESYS_LOCK_AUTO = 3; Not intended for use in all situations, use with extreme caution.


FileSystem cache FILESYS_CACHE_*
FILESYS_CACHE_THREAD_NAME = 'Filesystem Cache'; Thread name for Filesystem cache threads
FILESYS_CACHE_THREAD_PRIORITY = THREAD_PRIORITY_HIGHER; Thread priority for Filesystem cache threads
 
FILESYS_CACHE_TIMER_INTERVAL = 50; 50ms timer interval for Filesystem cache
FILESYS_CACHE_FLUSH_TIMEOUT = 3000; Filesystem cache flush timeout 3 seconds
FILESYS_CACHE_DISCARD_TIMEOUT = 180000; Filesystem cache discard timeout 3 minutes


FileSystem entry timer FILESYS_ENTRY_*
FILESYS_ENTRY_TIMER_INTERVAL = 1000; 1000ms timer interval for Filesystem entries
FILESYS_ENTRY_DELETE_TIMEOUT = 30000; Filesystem entry delete timeout 30 seconds


FileSystem cache timer CACHE_TIMER_*
CACHE_TIMER_KEY_NONE = TIMER_KEY_NONE;  
CACHE_TIMER_KEY_MAX = TIMER_KEY_MAX;  
CACHE_TIMER_KEY_MIN = TIMER_KEY_MIN;  


FileSystem entry timer key ENTRY_TIMER_KEY_*
ENTRY_TIMER_KEY_NONE = TIMER_KEY_NONE;  
ENTRY_TIMER_KEY_MAX = TIMER_KEY_MAX;  
ENTRY_TIMER_KEY_MIN = TIMER_KEY_MIN;  


FileSystem partition, device and volume *_PARTITION, *_DEVICE, *_VOLUME
MIN_FLOPPY_DEVICE = $00;  
MAX_FLOPPY_DEVICE = $7F;  
 
MIN_FIXED_DEVICE = $80;  
MAX_FIXED_DEVICE = $FF; Extends over CDROM/Other
 
MIN_CDROM_DEVICE = $E0;  
MAX_CDROM_DEVICE = $EF;  
 
MIN_OTHER_DEVICE = $F0;  
MAX_OTHER_DEVICE = $FF;  
 
INVALID_PARTITION = -1;  
INVALID_DEVICE = -1;  
INVALID_VOLUME = 0;  
 
MIN_PARTITION = 0;  
MAX_PARTITION = 3;  
MAX_EXTENDED = 1; Only 2 partitions in second level
 
MIN_FLOPPY_DRIVE = MIN_DRIVE;  
MAX_FLOPPY_DRIVE = MIN_DRIVE + 1;  
 
MIN_FIXED_DRIVE = MIN_DRIVE + 2;  
MAX_FIXED_DRIVE = MAX_DRIVE;  
 
MIN_SECTOR_SIZE = 512;  
MAX_SECTOR_SIZE = 4096;  
ISO_SECTOR_SIZE = 2048;  
 
VOLUME_PREFIX = '\Volume'; eg \Volume1
EXTENDED_PREFIX = '\Extended'; eg \Extended1
PARTITION_PREFIX = '\Partition'; eg \Partition1
CONTROLLER_PREFIX = '\Controller'; eg \Controller0
CDROM_DEVICE_PREFIX = '\Cdrom'; eg \Cdrom0
OTHER_DEVICE_PREFIX = '\Other'; eg \Other0
FIXED_DEVICE_PREFIX = '\Harddisk'; eg \Harddisk0
FLOPPY_DEVICE_PREFIX = '\Floppy'; eg \Floppy0
UNKNOWN_DEVICE_PREFIX = '\Unknown'; eg \Unknown0
 
VOLUME_PATH_PREFIX = '\\?'; eg \\?\Volume1\Home
DEVICE_PATH_PREFIX = '\\.'; eg \\.\Harddisk0\Partition1\Home
REPARSE_PATH_PREFIX = '\??\';  
 
BOOT_RECORD_SIGNATURE = $AA55;  
PARTITION_RECORD_SIGNATURE = $AA55;  
BOOT_SECTOR_SIGNATURE = $AA55;  


FileSystem find flag FIND_FLAG_*
FIND_FLAG_NONE = $00000000;  
FIND_FLAG_FILE_NAMES = $00000001;  


FileSystem find wildcard FIND_WILDCARD_*
FIND_WILDCARD_NAME = '*.*';  
FIND_WILDCARD_STREAM = '*';  


File mode fm*Mask
fmOpenMask = $000F;  
fmShareMask = $00F0;  


File attribute fa*
faDot = $01000000;  
faDotDot = $02000000;  
faFile = $04000000;  
faStream = $08000000;  
faFlagName = $00100000; Used for FAT case flags
faFlagExt = $00200000; Used for FAT case flags
faFlagBoth = (faFlagName or faFlagExt);  
faFlagLong = $00400000; Not currently used
faFlagMetafile = $00800000; Used for NTFS Metafiles
 
faFlagMask = $0FFF0000; Used to preserve internal attributes
faFindMask = $0000FFFF; Used to mask internal attributes
faMatchMask = (faFile or faStream or faVolumeID or faDirectory);  
 
Additional File Attribute Flags for NTFS/EXTFS/NSS
faDevice = $00000040;  
faNormal = $00000080;  
faTemporary = $00000100;  
faSparse = $00000200;  
faReparse = $00000400; See also faSymLink in filutilh.inc (SysUtils)
faCompressed = $00000800;  
faOffline = $00001000;  
faNotIndexed = $00002000;  
faEncrypted = $00004000;  
 
faMftDirectory = $10000000; Used only by FileName Attribute
faMftIndexView = $20000000; Used by both the StandardInformation and FileName attributes
 
Note: NTFS does not store the faVolumeID or faDirectory attributes
 
Additional File Attribute constants
faNone = $00000000;  
faStandard = (faReadOnly or faHidden or faSysFile or faArchive);  
faLongName = (faReadOnly or faHidden or faSysFile or faVolumeID);  
faLongMask = (faReadOnly or faHidden or faSysFile or faVolumeID or faDirectory or faArchive);  


FileSystem volume attribute va*
vaNone = $00000000;  
vaCaseSensitive = $00000001;  
vaCasePreserved = $00000002;  
vaUnicode = $00000004;  
vaPersistentAcls = $00000008;  
vaFileCompression = $00000010;  
vaVolumeQuotas = $00000020;  
vaSparseFiles = $00000040;  
vaReparsePoints = $00000080;  
vaRemoteStorage = $00000100;  
vaLongNamesApi = $00004000;  
vaVolumeCompressed = $00008000;  
vaObjectIds = $00010000;  
vaEncryption = $00020000;  
vaNamedStreams = $00040000;  
vaReadOnly = $00080000;  
 
Additional Volume Attribute constants
vaBootCatalog = $01000000; Used to indicate support for ISO Boot Catalogs
vaVirtualVolume = $02000000; Used to indicate Volume is Virtual or on a Virtual Device
vaFolderEncryption = $04000000; Used to indicate support for Folder Encryption (New files in folder are automatically encrypted)
vaFolderCompression = $08000000; Used to indicate support for Folder Compression (New files in folder are automatically compressed)


FileSystem device attribute da*
daNone = $00000000;  
daWriteable = $00000001;  
daVirtual = $00000002;  


FileSystem image attribute ia*
iaNone = $00000000;  
iaDisk = $00000001; Memory/File/Device (All others always Disk)
iaPartition = $00000002; Memory/File/Device
iaVolume = $00000004; Memory/File/Device
iaDrive = $00000008; Memory/File/Device
iaCDROM = $00000010; Memory/File/Device/Iso
iaDVD = $00000020; Memory/File/Device/Iso
iaFlat = $00000040; Bochs
iaSparse = $00000080; Bochs
iaGrowing = $00000100; Bochs
iaFixed = $00000200; Vpc/Vbox/Vmware
iaDynamic = $00000400; Vpc/Vbox/Vmware
iaSplit = $00000800; Vpc/Vmware/WIM/Ghost/Portlock/Powerquest
iaUndoable = $00001000; Vpc/Vbox/Vmware
 
iaReadable = $00010000; All
iaWriteable = $00020000; All
iaEraseable = $00040000; All


FileSystem catalog attribute ca*
caNone = $00000000;  
caDefault = $00000001; Initial/Default Entry
caBootable = $00000002; Boot Indicator
caNoEmulation = $00000004; No Emulation
caFloppy12M = $00000008; 1.2M
caFloppy144M = $00000010; 1.44M
caFloppy288M = $00000020; 2.88M
caHardDisk = $00000040; Hard Disk


FileSystem miscellaneous NAME_HASH_SIZE*
NAME_HASH_SIZE = 8; Used for Internal Name Hash Generation only


FileSystem partition Id pid*
See http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
 
MAX_PARTITION_ID = 255;  
pidUnused = 0; Empty
pidFAT12 = 1;  
pidXENIXROOT = 2;  
pidXENIXUSR = 3;  
pidFAT16 = 4; under 32M
pidExtended = 5;  
pidFAT16HUGE = 6; over 32M
pidHPFSNTFS = 7;  
pidAIXOS2 = 8;  
pidAIX = 9;  
pidOS2BOOT = 10;  
pidFAT32 = 11;  
pidFAT32LBA = 12;  
pidUnknown013 = 13;  
pidFAT16LBA = 14;  
pidExtLBA = 15;  
pidOPUS = 16;  
pidHIDDEN12 = 17;  
pidCompaqDiag = 18;  
pidUnknown019 = 19;  
pidHIDDEN16 = 20;  
pidUnknown021 = 21;  
pidHIDDEN16HUGE = 22;  
pidHIDDENHPFS = 23;  
pidASTSWAP = 24;  
pidWillowtech = 25;  
pidUnknown026 = 26;  
pidHIDDEN32 = 27;  
pidHIDDEN32LBA = 28;  
pidUnknown029 = 29;  
pidHIDDEN16LBA = 30;  
pidUnknown031 = 31;  
pidWillowsoft = 32;  
pidOxygen = 33;  
pidOxygenExtended = 34;  
pidReserved035 = 35;  
pidNECMSDOS = 36;  
pidUnknown037 = 37;  
pidUnknown038 = 38;  
pidUnknown039 = 39;  
pidUnknown040 = 40;  
pidUnknown041 = 41;  
pidUnknown042 = 42;  
pidUnknown043 = 43;  
pidUnknown044 = 44;  
pidUnknown045 = 45;  
pidUnknown046 = 46;  
pidUnknown047 = 47;  
pidUnknown048 = 48;  
pidReserved049 = 49;  
pidAlienNOS = 50;  
pidReserved051 = 51;  
pidReserved052 = 52;  
pidOS2JFS = 53;  
pidReserved054 = 54;  
pidUnknown055 = 55;  
pidTheos057 = 56;  
pidPlan9 = 57;  
pidTheos058 = 58;  
pidTheos059 = 59;  
pidPowerQuest = 60;  
pidHiddenNetware = 61;  
pidUnknown062 = 62;  
pidUnknown063 = 63;  
pidVENIX286 = 64;  
pidPersonalRISC = 65;  
pidSFS = 66;  
pidPTSDOS = 67;  
pidGoBack = 68;  
pidEUMEL069 = 69;  
pidEUMEL070 = 70;  
pidEUMEL071 = 71;  
pidEUMEL072 = 72;  
pidUnknown073 = 73;  
pidAdaOS = 74;  
pidUnknown075 = 75;  
pidOberon = 76;  
pidQNX4077 = 77;  
pidQNX4078 = 78;  
pidQNX4079 = 79;  
pidOnTrack080 = 80;  
pidNOVELL081 = 81;  
pidCPM = 82;  
pidOnTrack083 = 83;  
pidOnTrack084 = 84;  
pidEZDrive = 85;  
pidGoldenBow = 86;  
pidUnknown087 = 87;  
pidUnknown088 = 88;  
pidUnknown089 = 89;  
pidUnknown090 = 90;  
pidUnknown091 = 91;  
pidPriamEdisk = 92;  
pidUnknown093 = 93;  
pidUnknown094 = 94;  
pidUnknown095 = 95;  
pidUnknown096 = 96;  
pidSpeedStor097 = 97;  
pidUnknown098 = 98;  
pidSysV = 99;  
pidNetware286 = 100;  
pidNWFS = 101; Traditional/Netware 6 Master
pidUnknown102 = 102;  
pidNovell103 = 103;  
pidNovell104 = 104;  
pidNSS = 105; NSS/Netware 6
pidUnknown106 = 106;  
pidUnknown107 = 107;  
pidUnknown108 = 108;  
pidUnknown109 = 109;  
pidUnknown110 = 110;  
pidUnknown111 = 111;  
pidDiskSecure = 112;  
pidUnknown113 = 113;  
pidUnknown114 = 114;  
pidReserved115 = 115;  
pidReserved116 = 116;  
pidPCIX = 117;  
pidReserved118 = 118;  
pidUnknown119 = 119;  
pidUnknown120 = 120;  
pidUnknown121 = 121;  
pidUnknown122 = 122;  
pidUnknown123 = 123;  
pidUnknown124 = 124;  
pidUnknown125 = 125;  
pidUnknown126 = 126;  
pidUnknown127 = 127;  
pidMinix = 128;  
pidLinuxMinix = 129;  
pidLinuxSwap = 130;  
pidLinuxNative = 131;  
pidHIDDENC = 132;  
pidLinuxExtended = 133;  
pidFAT16Stripe = 134;  
pidNTFSStripe = 135;  
pidUnknown136 = 136;  
pidUnknown137 = 137;  
pidUnknown138 = 138;  
pidUnknown139 = 139;  
pidUnknown140 = 140;  
pidUnknown141 = 141;  
pidUnknown142 = 142;  
pidUnknown143 = 143;  
pidUnknown144 = 144;  
pidUnknown145 = 145;  
pidUnknown146 = 146;  
pidAmoeba = 147;  
pidAmoebaBBT = 148;  
pidUnknown149 = 149;  
pidUnknown150 = 150;  
pidUnknown151 = 151;  
pidUnknown152 = 152;  
pidUnknown153 = 153;  
pidUnknown154 = 154;  
pidUnknown155 = 155;  
pidUnknown156 = 156;  
pidUnknown157 = 157;  
pidUnknown158 = 158;  
pidUnknown159 = 159;  
pidPhoenixPM = 160;  
pidReserved161 = 161;  
pidUnknown162 = 162;  
pidReserved163 = 163;  
pidReserved164 = 164;  
pidFreeBSD = 165;  
pidOpenBSD = 166;  
pidNeXTStep = 167;  
pidUnknown168 = 168;  
pidUnknown169 = 169;  
pidUnknown170 = 170;  
pidDarwinBoot = 171;  
pidUnknown172 = 172;  
pidUnknown173= 173;  
pidUnknown174 = 174;  
pidUnknown175 = 175;  
pidUnknown176 = 176;  
pidUnknown177 = 177;  
pidUnknown178 = 178;  
pidUnknown179 = 179;  
pidReserved180 = 180;  
pidUnknown181 = 181;  
pidFAT16MirrorA = 182;  
pidNTFSMirrorA = 183;  
pidBSDIswap = 184;  
pidUnknown185 = 185;  
pidUnknown186 = 186;  
pidUnknown187 = 187;  
pidUnknown188 = 188;  
pidUnknown189 = 189;  
pidUnknown190= 190;  
pidUnknown191 = 191;  
pidUnknown192 = 192;  
pidDRDOSFAT12 = 193;  
pidUnknown194 = 194;  
pidUnknown195 = 195;  
pidDRDOSFAT16 = 196;  
pidUnknown197 = 197;  
pidFAT16MirrorB = 198;  
pidNTFSMirrorB = 199;  
pidUnknown200 = 200;  
pidUnknown201 = 201;  
pidUnknown202 = 202;  
pidUnknown203 = 203;  
pidUnknown204 = 204;  
pidUnknown205 = 205;  
pidUnknown206 = 206;  
pidUnknown207 = 207;  
pidUnknown208 = 208;  
pidUnknown209 = 209;  
pidTinyEFAT = 210;  
pidEFAT = 211;  
pidSecuredEFAT = 212;  
pidOpticalEFAT = 213;  
pidUnknown214 = 214;  
pidUnknown215 = 215;  
pidCPM86 = 216;  
pidUnknown217 = 217;  
pidUnknown218 = 218;  
pidConcurrentCPM = 219;  
pidUnknown220 = 220;  
pidUnknown221 = 221;  
pidUnknown222 = 222;  
pidUnknown223 = 223;  
pidUnknown224 = 224;  
pidSpeedStorFAT12 = 225;  
pidUnknown226 = 226;  
pidUnknown227 = 227;  
pidSpeedStorFAT16 = 228;  
pidReserved229 = 229;  
pidReserved230 = 230;  
pidUnknown231 = 231;  
pidUnknown232 = 232;  
pidUnknown233 = 233;  
pidUnknown234 = 234;  
pidBeOSBFS1 = 235;  
pidUnknown236 = 236;  
pidUnknown237 = 237;  
pidUnknown238 = 238;  
pidUnknown239 = 239;  
pidLinuxRISC = 240;  
pidStorageDimension = 241;  
pidDOS33Secondary = 242;  
pidSpeedStor243 = 243;  
pidSpeedStor244 = 244;  
pidPrologue = 245;  
pidSpeedStor246 = 246;  
pidOSGEFAT = 247;  
pidUnknown248 = 248;  
pidUnknown249 = 249;  
pidBochsX86 = 250;  
pidVMware = 251;  
pidVMwareSwap = 252;  
pidLinuxRAID = 253;  
pidLANstep = 254;  
pidXenixBBT = 255;  
 
PARTITION_NAMES:array[0..MAX_PARTITION_ID] of String = (
'Unused',  
'FAT12',  
'XENIX ROOT',  
'XENIX USR',  
'FAT16 (up to 32M)',  
'Extended',  
'FAT16 (over 32M)',  
'HPFS or NTFS',  
'AIX or OS/2',  
'AIX',  
'OS/2 Boot Manager',  
'FAT32',  
'FAT32 (LBA)',  
'Unknown',  
'FAT16 (LBA)',  
'Extended (LBA)',  
'OPUS',  
'Hidden FAT12',  
'Compaq Diagnostic',  
'Unknown',  
'Hidden FAT16 (<32M)',  
'Unknown',  
'Hidden FAT16 (>32M)',  
'Hidden HPFS',  
'AST SWAP',  
'Willowtech',  
'Unknown',  
'Hidden FAT32',  
'Hidden FAT32 (LBA)',  
'Unknown',  
'Hidden FAT16 (LBA)',  
'Unknown',  
'Willowsoft',  
'Oxygen',  
'Oxygen Extended',  
'Reserved',  
'NEC MS-DOS 3.X',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Reserved',  
'Alien NOS',  
'Reserved',  
'Reserved',  
'OS/2 JFS',  
'Reserved',  
'Unknown',  
'Theos',  
'Plan 9',  
'Theos',  
'Theos',  
'PowerQuest Recovery',  
'Hidden Netware',  
'Unknown',  
'Unknown',  
'VENIX 80286',  
'Personal RISC',  
'SFS',  
'PTS-DOS',  
'GoBack',  
'EUMEL/Elan',  
'EUMEL/Elan',  
'EUMEL/Elan',  
'EUMEL/Elan',  
'Unknown',  
'AdaOS Aquila',  
'Unknown',  
'Oberon',  
'First QNX 4.0',  
'Second QNX 4.0',  
'Third QNX 4.0',  
'OnTrack DM',  
'NOVELL',  
'CP/M',  
'OnTrack DM',  
'OnTrack DM',  
'EZ Drive',  
'GoldenBow',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Priam Edisk',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'SpeedStor',  
'Unknown',  
'Sys V / Mach / HURD',  
'Netware 286',  
'Netware 386',  
'Unknown',  
'Novell',  
'Novell',  
'Netware NSS',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'DiskSecure',  
'Unknown',  
'Unknown',  
'Reserved',  
'Reserved',  
'PC/IX',  
'Reserved',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Minix v1.1-1.4a',  
'Linux / Minix',  
'Linux Swap',  
'Linux Native',  
'Hidden C:',  
'Linux Extended',  
'FAT16 Stripe Set',  
'NTFS Stripe Set',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Amoeba',  
'Amoeba BBT',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Phoenix Power Management',  
'Reserved',  
'Unknown',  
'Reserved',  
'Reserved',  
'FreeBSD',  
'OpenBSD',  
'NeXTStep',  
'Unknown',  
'Unknown',  
'Unknown',  
'Apple Darwin Boot',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Reserved',  
'Unknown',  
'FAT16 Mirror (Master)',  
'NTFS Mirror (Master)',  
'BSDI Swap',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'DR-DOS FAT12',  
'Unknown',  
'Unknown',  
'DR-DOS FAT16',  
'Unknown',  
'FAT16 Mirror (Slave)',  
'NTFS Mirror (Slave)',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Tiny EFAT',  
'EFAT',  
'Secured EFAT',  
'Optical EFAT',  
'Unknown',  
'Unknown',  
'CP/M-86',  
'Unknown',  
'Unknown',  
'Concurrent CP/M',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'SpeedStor FAT12',  
'Unknown',  
'Unknown',  
'SpeedStor FAT16',  
'Reserved',  
'Reserved',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'BeOS BFS-1',  
'Unknown',  
'Unknown',  
'Unknown',  
'Unknown',  
'Linux/PA-RISC',  
'Storage Dimension',  
'DOS 3.3+ Secondary',  
'SpeedStor',  
'SpeedStor',  
'Prologue',  
'SpeedStor',  
'OSG EFAT',  
'Unknown',  
'Unknown',  
'BochsX86',  
'VMware',  
'VMware Swap',  
'Linux RAID',  
'LANstep',  
'Xenix BBT');  


FileSystem device description FILESYS_*_DEVICE_DESCRIPTION
FILESYS_ATA_DEVICE_DESCRIPTION = 'ATA Storage Device';  
FILESYS_ATAPI_DEVICE_DESCRIPTION = 'ATAPI Storage Device';  
FILESYS_SCSI_DEVICE_DESCRIPTION = 'SCSI Storage Device';  
FILESYS_USB_DEVICE_DESCRIPTION = 'USB Storage Device';  
FILESYS_MMC_DEVICE_DESCRIPTION = 'MMC/SD Storage Device';  


FileSystem controller description FILESYS_*_CONTROLLER_DESCRIPTION
FILESYS_ATA_CONTROLLER_DESCRIPTION = 'ATA Storage Controller';  
FILESYS_ATAPI_CONTROLLER_DESCRIPTION = 'ATAPI Storage Controller';  
FILESYS_SCSI_CONTROLLER_DESCRIPTION = 'SCSI Storage Controller';  
FILESYS_USB_CONTROLLER_DESCRIPTION = 'USB Storage Controller';  
FILESYS_MMC_CONTROLLER_DESCRIPTION = 'MMC/SD Storage Controller';  


FileSystem logging FILESYS_LOG_*
FILESYS_LOG_LEVEL_DEBUG = LOG_LEVEL_DEBUG; FileSystem debugging messages
FILESYS_LOG_LEVEL_INFO = LOG_LEVEL_INFO; FileSystem informational messages, such as a filesystem being mounted or dismounted
FILESYS_LOG_LEVEL_WARN = LOG_LEVEL_WARN; FileSystem warning messages
FILESYS_LOG_LEVEL_ERROR = LOG_LEVEL_ERROR; FileSystem error messages
FILESYS_LOG_LEVEL_NONE = LOG_LEVEL_NONE; No FileSystem messages


Type definitions



Storage device event

PStorageDeviceEvent = ^TStorageDeviceEvent;

TStorageDeviceEvent = record

Timer:TTimerHandle;  
Device:PStorageDevice;  

Cache timer

PCacheTimerItem = ^TCacheTimerItem;

TCacheTimerItem = record

Key:Integer; Ordering key for timer list
Page:TObject; The cache page referenced by this timer list item
Prev:PCacheTimerItem; Previous item in timer list
Next:PCacheTimerItem; Next item in timer list

Entry timer

PEntryTimerItem = ^TEntryTimerItem;

TEntryTimerItem = record

Key:Integer; Ordering key for timer list
Entry:TObject; The disk entry referenced by this timer list item
Prev:PEntryTimerItem; Previous item in timer list

Media type

TMediaType = (mtUNKNOWN,mtINVALID,mtFLOPPY,mtFIXED,mtREMOVABLE,mtCDROM,mtDVD,mtOTHER);

Floppy type

TFloppyType = (ftUNKNOWN,ftINVALID,ft360K,ft12M,ft720K,ft144M,ft288M,ftATAPI);

Image type

TImageType = (itUNKNOWN,itINVALID,itMEMORY,itFILE,itDEVICE,itISO,itBOCHS,itVMWARE,itVPC,itVBOX);

Cache state

TCacheState = (csCLEAN,csDIRTY);

Cache mode

TCacheMode = (cmNONE,cmREADONLY,cmREADWRITE);

Cache page type

TCachePageType = (ptNONE,ptDEVICE);

Cache page state

TCachePageState = (psUNKNOWN,psEMPTY,psCLEAN,psDIRTY);

Cache page content

TCachePageContent = (pcUNKNOWN,pcDATA,pcDIRECTORY,pcENTRY,pcSYSTEM);

Cache statistics

PCacheStatistics = ^TCacheStatistics;

TCacheStatistics = record

Information
PageSize:LongWord;  
PageCount:LongWord;  
CacheSize:LongWord;  
CacheMode:TCacheMode;  
CacheState:TCacheState;  
FlushTimeout:LongWord;  
DiscardTimeout:LongWord;  
Read/Write
ReadCached:Int64;  
ReadDirect:Int64;  
WriteBack:Int64;  
WriteThrough:Int64;  
WriteDirect:Int64;  
Hit/Miss
HitCount:Int64;  
MissCount:Int64;  
Allocate Success/Failure
FailCount:Int64;  
SuccessCount:Int64;  
Page Flush/Discard
FlushCount:Int64;  
DiscardCount:Int64;  
UnknownCount:Int64;  
Page Times
OldestClean:Int64;  
NewestClean:Int64;  
OldestDirty:Int64;  
NewestDirty:Int64;  

Search

TSearchRec = SysUtils.TRawbyteSearchRec;

TSearchRec = record

Note: TSearchRec is always defined in SysUtils
Time: Integer;  
Size: Integer;  
Attr: Integer;  
Name: TFileName;  
ExcludeAttr: Integer;  
FindHandle: THandle;  
FindData: TWin32FindData;  

File search

TFileSearchRec = record

FindHandle:THandle;  
FindData:TWin32FindData;  

Disk search

TDiskSearchRec = record

Name:String;  
MediaType:TMediaType;  
FloppyType:TFloppyType;  
FindHandle:THandle;  
Context:LongWord;  
Verbose:Boolean;  

Partition search

TPartitionSearchRec = record

Name:String;  
Index:LongWord;  
FindHandle:THandle;  
Context:LongWord;  
Verbose:Boolean;  

Volume search

TVolumeSearchRec = record

Name:String;  
Attributes:LongWord;  
VolumeLabel:String;  
VolumeGUID:String;  
VolumeSerial:LongWord;  
DriveType:TDriveType;  
FileSysType:TFileSysType;  
FindHandle:THandle;  
Context:LongWord;  
Verbose:Boolean;  

Drive search

TDriveSearchRec = record

Name:String;  
Attributes:LongWord;  
VolumeLabel:String;  
VolumeGUID:String;  
VolumeSerial:LongWord;  
DriveType:TDriveType;  
FileSysType:TFileSysType;  
FindHandle:THandle;  
Context:LongWord;  
Verbose:Boolean;  

Image search

TImageSearchRec = record

Name:String;  
ImageNo:Integer;  
ImageType:TImageType;  
MediaType:TMediaType;  
FloppyType:TFloppyType;  
Attributes:LongWord;  
SectorSize:Word;  
SectorCount:Int64;  
Cylinders:LongWord;  
Heads:LongWord;  
Sectors:LongWord;  
PartitionId:Byte;  
FindHandle:THandle;  
Context:LongWord;  
Verbose:Boolean;  

Catalog search

TCatalogSearchRec = record

Name:String;  
Path:String;  
CatalogNo:LongWord;  
MediaType:TMediaType;  
FloppyType:TFloppyType;  
Attributes:LongWord;  
SectorSize:Word;  
SectorCount:Int64;  
FindHandle:THandle;  
Context:LongWord;  

Mount search

TMountSearchRec = record

Name:String;  
FindHandle:THandle;  
Context:LongWord;  

Junction search

TJunctionSearchRec = record

Name:String;  
FindHandle:THandle;  
Context:LongWord;  

Stream search

TStreamSearchRec = record

FindHandle:THandle;  
Context:Pointer;  
FindData:TWin32FindStreamData;  

Link search

TLinkSearchRec = record

Name:String;  
FindHandle:THandle;  
Context:Pointer;  

FAT12/FAT16 BIOS parameter block

TBiosPB = packed record

BytesPerSector:Word; 512,1024,2048,4096 - Usually 512
SectorsPerCluster:Byte; 1,2,4,8,16,32,64,128
ReservedSectors:Word; FAT12/16 - Usually 1, FAT32 - Usually 32
NumberOfFats:Byte; Usually 2
RootEntryCount:Word; FAT32 always 0, FAT16 usually 512 (RootEntryCount * 32 must be even multiple of BytesPerSector)
TotalSectors16:Word; Total Sectors on the drive or 0 if TotalSectors32 used
MediaId:Byte; F8 for Fixed media, F0 usually for Removable media
SectorsPerFat16:Word; FAT32 always 0, Number of Sectors per FAT
SectorsPerTrack:Word; Sectors Per Track for Int13
NumberOfHeads:Word; Number of Header for Int13 eg 1.44MB = 2
HiddenSectors:LongWord; Number of Hidden Sectors preceeding Partition (Only valid on Partitioned media)
TotalSectors32:LongWord; Total Sectors on the drive or 0 if TotalSectors16 used

FAT32 BIOS parameter block

TExtBiosPB = packed record

BytesPerSector:Word; 512,1024,2048,4096 - Usually 512
SectorsPerCluster:Byte; 1,2,4,8,16,32,64,128
ReservedSectors:Word; FAT12/16 - Usually 1, FAT32 - Usually 32
NumberOfFats:Byte; Usually 2
RootEntryCount:Word; FAT32 always 0, FAT16 usually 512 (RootEntryCount * 32 must be even multiple of BytesPerSector)
TotalSectors16:Word; Total Sectors on the drive or 0 if TotalSectors32 used
MediaId:Byte; F8 for Fixed media, F0 usually for Removable media
SectorsPerFat16:Word; FAT32 always 0, Number of Sectors per FAT
SectorsPerTrack:Word; Sectors Per Track for Int13
NumberOfHeads:Word; Number of Header for Int13 eg 1.44MB = 2
HiddenSectors:LongWord; Number of Hidden Sectors preceeding Partition (Only valid on Partitioned media)
TotalSectors32:LongWord; Total Sectors on the drive or 0 if TotalSectors16 used
SectorsPerFat32:LongWord; Number of Sectors per FAT
ExtendedFlags:Word; Bits 0-3 -- Zero-based number of active FAT. Only valid if mirroring.

Bits 0-3 - is disabled.

Bits 4-6 - Reserved.

Bit 7 - 0 means the FAT is mirrored at runtime into all FATs.

Bit 7 - 1 means only one FAT is active, it is the one referenced.

Bit 7 - in bits 0-3.

Bits 8-15 -- Reserved.

FileSysVersion:Word; FAT32 Version (Current 0:0)
RootCluster:LongWord; Usually Cluster 2
FileSysInfoSector:Word; Usually 1
BackupBootSector:Word; Usually 6
Reserved:array[0..11] of Byte; Always 0

NTFS BIOS parameter block

TNtfsBiosPB = packed record

BytesPerSector:Word; 512,1024,2048,4096 - Usually 512
SectorsPerCluster:Byte; 1,2,4,8,16,32,64,128 - Usually 8
ReservedSectors:Word; Must always be 0 on NTFS (Win2K Volume Manager ?)
Reserved1:array[0..2] of Byte; Must always be 0 on NTFS
Reserved2:Word; Must always be 0 on NTFS
MediaId:Byte; F8 for Fixed media, F0 usually for Removable media
Reserved3:Word; Must always be 0 on NTFS
SectorsPerTrack:Word; Sectors Per Track for Int13
NumberOfHeads:Word; Number of Header for Int13 eg 1.44MB = 2
HiddenSectors:LongWord; Number of Hidden Sectors preceeding Partition
Reserved4:LongWord; Must always be 0 on NTFS
Reserved5:LongWord; Not used by NTFS - Usually 80008000
TotalSectors:Int64; Total Sectors on the drive
MFTCluster:Int64; Start Cluster of $MFT
MFTMirror:Int64; Start Cluster of $MFTMirr
ClustersPerFile:LongInt; Clusters Per File Record (Can be negative) (F6 = 1024 - See Notes)
ClustersPerIndex:LongInt; Clusters Per Index Record (Can be negative) (F6 = 1024 - See Notes)
VolumeSerial:Int64; Volume Serial Number
Checksum:LongWord; Checksum (Not Used)

Partition entry

TPartitionEntry = packed record

BootIndicator:Byte; 80 for active partition
StartHead:Byte; Either Bits 0-3 only or Bits 0-7 depending on BIOS
StartSector:Byte; Bits 0-5 = Sector, Bits 6-7 = Bits 8-9 of Cylinder
StartCylinder:Byte; Bits 0-7 Only, Bits 8-9 in Sector
TypeIndicator:Byte; See Table in Interrupt List and Below
EndHead:Byte; Either Bits 0-3 only or Bits 0-7 depending on BIOS
EndSector:Byte; Bits 0-5 = Sector, Bits 6-7 = Bits 8-9 of Cylinder
EndCylinder:Byte; Bits 0-7 Only, Bits 8-9 in Sector
SectorOffset:LongWord; Offset in sectors from current position to Start of Partition
SectorCount:LongWord; Size in Sectors of the Partition

Partition table

TPartitionTable = packed record

PartitionEntry:array[MIN_PARTITION..MAX_PARTITION] of TPartitionEntry;  

Master boot code

TMasterBootCode = array[0..445] of Byte;

Master boot record

PMasterBootRecord = ^TMasterBootRecord;

TMasterBootRecord = packed record

Note: Standard Master Boot Record
BootCode:TMasterBootCode;  
PartitionTable:TPartitionTable;  
Signature:Word; Magic Number $AA55

Ext master boot code

TExtMasterBootCode = array[0..439] of Byte;

Ext master boot record

PExtMasterBootRecord = ^TExtMasterBootRecord;

TExtMasterBootRecord = packed record

Note: NT/2000/XP Master Boot Record
BootCode:TExtMasterBootCode;  
DiskSignature:LongWord;  
Reserved1:Word;  
PartitionTable:TPartitionTable;  
Signature:Word; Magic Number $AA55

Partition record

PPartitionRecord = ^TPartitionRecord;

TPartitionRecord = packed record

Note: Similar to TMasterBootRecord
Dummy:array[0..445] of Byte;  
PartitionTable:TPartitionTable; Only first 2 ever used
Signature:Word; Magic Number $AA55

Disk sector

PDiskSector = ^TDiskSector;

TDiskSector = array[0..511] of Byte;

   

Boot sector jump

TBootSectorJump = array[0..2] of Byte;

Boot sector code

TBootSectorCode = array[0..447] of Byte;

Boot sector

PBootSector = ^TBootSector;

TBootSector = packed record

Note: FAT12/FAT16 Boot Sector
BootJump:TBootSectorJump; JMP - EBh,??h,90h or E9h,??h,??h
OEMName:array[0..7] of Char; MSWIN4.0/MSWIN4.1/MSDOS5.0
BPB:TBiosPB; See Above
DriveNumber:Byte; BIOS Int13 Drive No 00h, 80h, FFh etc
Reserved1:Byte; Always 00h
BootSignature:Byte; Always 29h
VolumeSerial:LongWord; Serial No (Date/Time when Formatted)
VolumeName:array[0..10] of Char; Volume Label or "NO NAME"
SystemName:array[0..7] of Char; System Type FAT12, FAT16, FAT32 etc
BootCode:TBootSectorCode; Executable Code
Signature:Word; Magic Number $AA55

Ext boot sector jump

TExtBootSectorJump = array[0..2] of Byte;

Ext boot sector code

TExtBootSectorCode = array[0..419] of Byte;

Ext boot sector

PExtBootSector = ^TExtBootSector;

TExtBootSector = packed record

Note: FAT32 Boot Sector
BootJump:TExtBootSectorJump; JMP - EBh,??h,90h or E9h,??h,??h
OEMName:array[0..7] of Char; MSWIN4.1
BPB:TExtBiosPB; See Above
DriveNumber:Byte; BIOS Int13 Drive No 00h, 80h, FFh etc
Reserved1:Byte; Always 00h
BootSignature:Byte; Always 29h
VolumeSerial:LongWord; Serial No (Date/Time when Formatted)
VolumeName:array[0..10] of Char; Volume Label or "NO NAME"
SystemName:array[0..7] of Char; System Type FAT12, FAT16, FAT32 etc
BootCode:TExtBootSectorCode; Executable Code
Signature:Word; Magic Number $AA55

NTFS boot sector jump

TNtfsBootSectorJump = array[0..2] of Byte;

NTFS boot sector code

TNtfsBootSectorCode = array[0..425] of Byte;

NTFS boot sector

PNtfsBootSector = ^TNtfsBootSector;

TNtfsBootSector = packed record

Note: NTFS Boot Sector
BootJump:TNtfsBootSectorJump; JMP - EBh,??h,90h
OEMName:array[0..7] of Char; Always NTFS
BPB:TNtfsBiosPB; See Above (73 Bytes BPB and ExtBPB)
BootCode:TNtfsBootSectorCode; Executable Code
Signature:Word; Magic Number $AA55

EXTFS boot sector

PExtfsBootSector = ^TExtfsBootSector;

TExtfsBootSector = packed record

Note: EXTFS Boot Sector
   

FileSystem logging

PFileSysLogging = ^TFileSysLogging;

TFileSysLogging = record

Logging Properties
Logging:TLoggingDevice;  


Class definitions



FileSystem specific classes

TFileSysDriver = class(TObject)
TFileSysList = class(TLinkedObjList)
TFileSysListEx = class(TLinkedObjList)
TFileSysTree = class(TLinkedObjTree)
TDiskDrive = class(TListObject)
TRawHandle = class(TListObject)
TEnumHandle = class(TListObject)
TFileHandle = class(TListObject)
TFindHandle = class(TListObject)
TDiskController = class(TListObject)
TDiskDevice = class(TListObject)
TDiskPartition = class(TListObject)
TDiskVolume = class(TListObject)
TDiskImage = class(TListObject)
TRecognizer = class(TListObject)
TRedirector = class(TListObject)
TDiskPartitioner = class(TObject)
TDiskFormatter = class(TObject)
TDiskDefragger = class(TObject)
TDiskConverter = class(TObject)
TDiskRepairer = class(TObject)
TDiskResizer = class(TObject)
TDiskCopier = class(TObject)
TDiskImager = class(TObject)
TFileSystem = class(TListObject)
TDiskChunk = class(TListObject)
TDiskTable = class(TListObject)
TDiskBlock = class(TListObject)
TDiskEntry = class(TTreeObject)
TDiskCatalog = class(TListObject)
TDiskReparse = class(TObject)
TDiskSecurity = class(TObject)
TDiskAcl = class(TListObject)
TDiskAce = class(TListObject)
TCache = class(TObject)
TCacheEx = class(TCache)
THashCache = class(TObject)
TIncrementalCache = class(TObject)
TCachePage = class(TObject)
THashCachePage = class(TCachePage)
TIncrementalCachePage = class(THashCachePage)
TCacheTimer = class(TObject)
THashCacheTimer = class(TObject)
TIncrementalCacheTimer = class(TObject)
TCacheThread = class(TThread)
THashCacheThread = class(TThread)
TIncrementalCacheThread = class(TThread)
TEntryTimer = class(TObject)
TDefaultRecognizer = class(TRecognizer)
TDefaultPartitioner = class(TDiskPartitioner)
TExtDiskController = class(TDiskController)
TATADiskController = class(TDiskController)
TATAPIDiskController = class(TDiskController)
TSCSIDiskController = class(TDiskController)
TUSBDiskController = class(TExtDiskController)
TMMCDiskController = class(TExtDiskController)

FileSystem advanced classes

TFSHandleStream = class(TStream)
TFSFileStream = class(TFSHandleStream)
TFSHandleStreamEx = class(TStreamEx)
TFSFileStreamEx = class(TFSHandleStreamEx)


Public variables



FileSystem logging

FILESYS_DEFAULT_LOG_LEVEL:LongWord = FILESYS_LOG_LEVEL_DEBUG; Minimum level for FileSystem messages. Only messages with level greater than or equal to this will be printed.
FILESYS_LOG_ENABLED:Boolean;

FileSystem specific variables

FileSysDriver:TFileSysDriver;


Function declarations



Initialization functions

procedure FileSysInit;
Description: To be documented
Note None documented


function FileSysStart:LongWord;
Description: To be documented
Note None documented


function FileSysStop:LongWord;
Description: To be documented
Note None documented


function FileSysStartCompleted:Boolean;
Description: Returns True if the filesystem has been started
Note None documented


procedure FileSysAsyncStart(Data:Pointer);
Description: To be documented
Note None documented


FileSystem functions (Delphi/FreePascal RTL Equivalent)

Drive functions

function FSGetPathDrive(const APath:String):Byte; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveType(ADrive:Byte):TDriveType; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveData(ADrive:Byte):TDriveData; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveAttr(ADrive:Byte):LongWord; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveLabel(ADrive:Byte):String; inline;
Description: To be documented
Note No Volume Support


function FSSetDriveLabel(ADrive:Byte; const ALabel:String):Boolean; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveSerial(ADrive:Byte):LongWord; inline;
Description: To be documented
Note No Volume Support


function FSSetDriveSerial(ADrive:Byte; ASerial:LongWord):Boolean; inline;
Description: To be documented
Note No Volume Support


function FSIsDriveValid(ADrive:Byte):Boolean; inline;
Description: To be documented
Note No Volume Support


function FSGetValidDrives:LongWord; inline;
Description: To be documented
Note No Volume Support


function FSGetValidDriveNames:TStringList; inline;
Description: To be documented
Note No Volume Support


function FSGetValidDriveStrings:String; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveFreeSpace(ADrive:Byte):LongWord; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveFreeSpaceEx(ADrive:Byte):Int64; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveTotalSpace(ADrive:Byte):LongWord; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveTotalSpaceEx(ADrive:Byte):Int64; inline;
Description: To be documented
Note No Volume Support


function FSGetDriveInformation(const APath:String; var AClusterSize:LongWord; var ATotalClusterCount,AFreeClusterCount:Int64):Boolean; inline;
Description: To be documented
Note None documented


function FSGetCurrentDrive:Byte; inline;
Description: To be documented
Note No Volume Support


function FSSetCurrentDrive(const ADrive:String):Boolean; inline;
Description: To be documented
Note No Volume Support


File functions

function FSFileOpen(const AFileName:String; AMode:Integer):THandle; inline;
Description: To be documented
Note None documented


function FSFileCreate(const AFileName:String):THandle; inline;
Description: To be documented
Note None documented


function FSDeleteFile(const AFileName:String):Boolean; inline;
Description: To be documented
Note None documented


procedure FSFileClose(AHandle:Integer); inline;
Description: To be documented
Note None documented


function FSRenameFile(const AOldName,ANewName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSFileSeek(AHandle:THandle; AOffset,AOrigin:LongInt):LongInt; inline;
Description: To be documented
Note None documented


function FSFileFlush(AHandle:Integer):Boolean; inline;
Description: To be documented
Note None documented


function FSFileTruncate(AHandle:Integer):Boolean; inline;
Description: To be documented
Note None documented


function FSSetEndOfFile(AHandle:THandle):Boolean; inline;
Description: To be documented
Note None documented


function FSEndOfFile(AHandle:Integer):Boolean; inline;
Description: To be documented
Note None documented


function FSFilePos(AHandle:THandle):LongInt; inline;
Description: To be documented
Note None documented


function FSFileSize(AHandle:THandle):LongInt; inline;
Description: To be documented
Note None documented


function FSFileAge(const AFileName:String):Integer; inline;
Description: To be documented
Note None documented


function FSFileExists(const AFileName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSFileGetAttr(const AFileName:String):Integer; inline;
Description: To be documented
Note None documented


function FSFileGetDate(AHandle:Integer):Integer; inline;
Description: To be documented
Note None documented


function FSFileSetAttr(const AFileName:String; AAttr:Integer):Integer; inline;
Description: To be documented
Note None documented


function FSFileSetDate(AHandle:Integer; AAge:Integer):Integer; inline;
Description: To be documented
Note None documented


function FSFileRead(AHandle:THandle; var ABuffer; ACount:LongInt):LongInt; inline;
Description: To be documented
Note None documented


function FSFileWrite(AHandle:THandle; const ABuffer; ACount:LongInt):LongInt; inline;
Description: To be documented
Note None documented


Directory functions

function FSCreateDir(const ADirName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSRemoveDir(const ADirName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSRenameDir(const AOldName,ANewName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSGetCurrentDir:String; inline;
Description: To be documented
Note No Volume Support


function FSSetCurrentDir(const ADirName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSDirectoryExists(const ADirName:String):Boolean; inline;
Description: To be documented
Note None documented


procedure FSForceDirectories(ADirName:String); inline;
Description: To be documented
Note None documented


procedure FSDeleteTree(const ADirName:String); inline;
Description: To be documented
Note None documented


Search functions

function FSFindFirst(const APath:String; AAttr:Integer; var ASearchRec:TSearchRec):Integer; inline;
Description: To be documented
Note None documented


function FSFindNext(var ASearchRec:TSearchRec):Integer; inline;
Description: To be documented
Note None documented


procedure FSFindClose(var ASearchRec:TSearchRec); inline;
Description: To be documented
Note None documented


Additional functions

function FSFileCopy(const ASourceFile,ADestFile:String; AFailIfExists:Boolean):Boolean; inline;
Description: To be documented
Note None documented


function FSFileCopyEx(const ASourceFile,ADestFile:String; AFailIfExists:Boolean; AUseSourceDate:Boolean; ADestDate:Integer; AUseSourceAttr:Boolean; ADestAttr:Integer):Boolean; inline;
Description: To be documented
Note None documented


function FSGetShortName(const AFileName:String):String; inline;
Description: To be documented
Note None documented


function FSGetLongName(const AFileName:String):String; inline;
Description: To be documented
Note None documented


function FSGetTrueName(const AFileName:String):String; inline;
Description: To be documented
Note None documented


function FSAddSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String; inline;
Description: To be documented
Note None documented


function FSDeleteSlash(const AFilePath:String; ALeading,ATrailing:Boolean):String; inline;
Description: To be documented
Note None documented


Extended functions

function FSFileSeekEx(AHandle:THandle; const AOffset:Int64; AOrigin:LongInt):Int64; inline;
Description: To be documented
Note None documented


function FSEndOfFileEx(AHandle:Integer):Boolean; inline;
Description: To be documented
Note None documented


function FSFilePosEx(AHandle:THandle):Int64; inline;
Description: To be documented
Note None documented


function FSFileSizeEx(AHandle:THandle):Int64; inline;
Description: To be documented
Note None documented


function FSFileAgeEx(const AFileName:String):TFileTime; inline;
Description: To be documented
Note None documented


function FSFileGetAttrEx(AHandle:Integer):Integer; inline;
Description: To be documented
Note None documented


function FSFileGetDateEx(AHandle:Integer):TFileTime; inline;
Description: To be documented
Note None documented


function FSFileSetDateEx(AHandle:Integer; AAge:TFileTime):Integer; inline;
Description: To be documented
Note None documented


function FSGetFileTime(AHandle:THandle; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean; inline;
Description: To be documented
Note None documented


function FSSetFileTime(AHandle:THandle; ACreateTime,AAccessTime,AWriteTime:PFileTime):Boolean; inline;
Description: To be documented
Note None documented


function FSFindFirstEx(const APath:String; var ASearchRec:TFileSearchRec):Integer; inline;
Description: To be documented
Note None documented


function FSFindNextEx(var ASearchRec:TFileSearchRec):Integer; inline;
Description: To be documented
Note None documented


procedure FSFindCloseEx(var ASearchRec:TFileSearchRec); inline;
Description: To be documented
Note None documented


FileSystem functions (Win32 Compatibility)

Drive functions

function FSDefineDosDevice(const ADeviceName,ATargetPath:String; AFlags:LongWord):Boolean; inline;
Description: To be documented
Note None documented


function FSGetDiskType(const ARootPath:String):LongWord; inline;
Description: Equivalent to Win32 GetDriveType
Note None documented


function FSGetDiskFreeSpace(const ARootPath:String; var ASectorsPerCluster,ABytesPerSector,ANumberOfFreeClusters,ATotalNumberOfClusters:LongWord):Boolean; inline;
Description: To be documented
Note None documented


function FSGetDiskFreeSpaceEx(const APathName:String; var AFreeBytesAvailableToCaller,ATotalNumberOfBytes,ATotalNumberOfFreeBytes:QWord):Boolean; inline;
Description: To be documented
Note None documented


function FSGetLogicalDrives:LongWord; inline;
Description: To be documented
Note None documented


function FSGetLogicalDriveStrings:String; inline;
Description: To be documented
Note None documented


function FSGetVolumeInformation(const ARootPath:String; var AVolumeName:String; var AVolumeSerialNumber,AMaximumComponentLength,AFileSystemFlags:LongWord; var ASystemName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSQueryDosDevice(const ARootPath:String):String; inline;
Description: To be documented
Note None documented


function FSSetVolumeLabel(const AVolume:String; const ALabel:String):Boolean; inline;
Description: To be documented
Note None documented


File functions

function FSAreFileApisANSI:Boolean; inline;
Description: To be documented
Note None documented


function FSCloseFile(AHandle:THandle):Boolean; inline;
Description: Equivalent to Win32 CloseHandle
Note None documented


function FSCopyFile(const AExistingName,ANewName:String; AFailIfExists:Boolean):Boolean; inline;
Description: To be documented
Note None documented


function FSCreateFile(const AFileName:String; AAccessMode,AShareMode,ACreateFlags,AFileAttributes:LongWord):THandle; inline;
Description: To be documented
Note None documented


function FSFindCloseFile(AHandle:THandle):Boolean; inline;
Description: Equivalent to Win32 FindClose
Note None documented


function FSFindFirstFile(const AFileName:String; var AFindData:TWin32FindData):THandle; inline;
Description: To be documented
Note None documented


function FSFindNextFile(AHandle:THandle; var AFindData:TWin32FindData):Boolean; inline;
Description: To be documented
Note None documented


function FSFlushFileBuffers(AHandle:THandle):Boolean; inline;
Description: To be documented
Note None documented


function FSGetFileAttributes(const AFileName:String):LongWord; inline;
Description: To be documented
Note None documented


function FSGetFileInformationByHandle(AHandle:THandle; var AFileInformation:TByHandleFileInformation):Boolean; inline;
Description: To be documented
Note None documented


function FSGetFileSize(AHandle:THandle; var AFileSizeHigh:LongWord):LongWord; inline;
Description: To be documented
Note None documented


function FSGetFullPathName(const AFileName:String):String; inline;
Description: To be documented
Note None documented


function FSGetShortPathName(const ALongPath:String):String; inline;
Description: To be documented
Note None documented


function FSMoveFile(const AExistingName,ANewName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSReadFile(AHandle:THandle; var ABuffer; ABytesToRead:LongWord; var ABytesRead:LongWord):Boolean; inline;
Description: To be documented
Note None documented


function FSSetFileApisToANSI:Boolean; inline;
Description: To be documented
Note None documented


function FSSetFileApisToOEM:Boolean; inline;
Description: To be documented
Note None documented


function FSSetFileAttributes(const AFileName:String; AFileAttributes:LongWord):Boolean; inline;
Description: To be documented
Note None documented


function FSSetFilePointer(AHandle:THandle; ADistanceToMove:LongInt; var ADistanceToMoveHigh:LongInt; AMoveMethod:LongWord):LongWord; inline;
Description: To be documented
Note None documented


function FSSetFilePointerEx(AHandle:THandle; const ADistanceToMove:Int64; var ANewFilePointer:Int64; AMoveMethod:LongWord):Boolean; inline;
Description: To be documented
Note None documented


function FSWriteFile(AHandle:THandle;const ABuffer; ABytesToWrite:LongWord; var ABytesWritten:LongWord):Boolean; inline;
Description: To be documented
Note None documented


function FSGetLongPathName(const AShortPath:String):String; inline;
Description: To be documented
Note None documented


function FSSetFileShortName(const AFileName,AShortName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSSetFileShortNameEx(AHandle:THandle; const AShortName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSCreateHardLink(const ALinkName,AFileName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSCreateSymbolicLink(const ALinkName,ATargetName:String; ADirectory:Boolean):Boolean; inline;
Description: To be documented
Note None documented


Directory functions

function FSCreateDirectory(const APathName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSGetCurrentDirectory:String; inline;
Description: To be documented
Note None documented


function FSRemoveDirectory(const APathName:String):Boolean; inline;
Description: To be documented
Note None documented


function FSSetCurrentDirectory(const APathName:String):Boolean; inline;
Description: To be documented
Note None documented


RTL text IO functions

function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOReadChar function
Note Not intended to be called directly by applications


function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOWriteChar function
Note Not intended to be called directly by applications


function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
Description: Handler for platform TextIOWriteBuffer function
Note Not intended to be called directly by applications


RTL FileSystem functions

System file functions

procedure SystemDoClose(Handle:THandle);
Description: To be documented
Note None documented


procedure SystemDoErase(Name:PChar; NameChangeable:Boolean);
Description: To be documented
Note None documented


procedure SystemDoRename(Name1,Name2:PChar; Name1Changeable,Name2Changeable:Boolean);
Description: To be documented
Note None documented


function SystemDoWrite(Handle:THandle; Address:Pointer; Len:LongInt):LongInt;
Description: To be documented
Note None documented


function SystemDoRead(Handle:THandle; Address:Pointer; Len:LongInt):LongInt;
Description: To be documented
Note None documented


function SystemDoFilePos(Handle:THandle):LongInt;
Description: To be documented
Note None documented


procedure SystemDoSeek(Handle:THandle; Pos:LongInt);
Description: To be documented
Note None documented


function SystemDoSeekEnd(Handle:THandle):LongInt;
Description: To be documented
Note None documented


function SystemDoFileSize(Handle:THandle):LongInt;
Description: To be documented
Note None documented


procedure SystemDoTruncate(Handle:THandle; Pos:LongInt);
Description: To be documented
Note None documented


procedure SystemDoOpen(var F; Name:PFileTextRecChar; Flags:LongInt; NameChangeable:Boolean);
Description: To be documented
Note FileRec and TextRec have both Handle and Mode as the first items so they could use the same routine for opening/creating.

- When (Flags and $00100) The file will be Appended
- When (Flags and $01000) The file will be Truncated/rewritten
- When (Flags and $10000) There is no check for Close (needed for TextFiles)


System directory functions

procedure SystemDoMkDir(const Dir:RawByteString);
Description: To be documented
Note None documented


procedure SystemDoRmDir(const Dir:RawByteString);
Description: To be documented
Note None documented


procedure SystemDoChDir(const Dir:RawByteString);
Description: To be documented
Note None documented


procedure SystemDoGetDir(Drive:Byte; var Dir:RawByteString);
Description: To be documented
Note None documented


Dos disk functions

function DosDiskFree(Drive:Byte):Int64;
Description: To be documented
Note No Volume Support


function DosDiskSize(Drive:Byte):Int64;
Description: To be documented
Note No Volume Support


Dos FindFirst/FindNext functions

function DosFindMatchingFile(var f:SearchRec):Integer;
Description: Internal Only
Note None documented


function DosFindFirst(const Path:PathStr; Attr:Word; var f:SearchRec):Integer;
Description: To be documented
Note FindFirst/FindNext/FindClose - To be compatible with the DOS. FindFirst/FindNext we always allow faReadOnly and faArchive but only allow other attributes if requested. This is done by matching all files and filtering with FindMatchingFile.


function DosFindNext(var f:SearchRec):Integer;
Description: To be documented
Note None documented


procedure DosFindClose(var f:SearchRec);
Description: To be documented
Note None documented


Dos file functions

function DosGetFTime(var f; var Time:LongInt):Integer;
Description: To be documented
Note None documented


function DosSetFTime(var f; Time:LongInt):Integer;
Description: To be documented
Note None documented


function DosGetFAttr(var f; var Attr:Word):Integer;
Description: To be documented
Note None documented


function DosSetFAttr(var f; Attr:Word):Integer;
Description: To be documented
Note None documented


function DosGetShortName(var p:ShortString):Boolean;
Description: To be documented
Note None documented


function DosGetLongName(var p:ShortString):Boolean;
Description: To be documented
Note None documented


SysUtils file functions

function SysUtilsFileOpen(const FileName:RawByteString; Mode:Integer):THandle;
Description: To be documented
Note None documented


function SysUtilsFileCreate(const FileName:RawByteString; ShareMode:Integer):THandle;
Description: To be documented
Note None documented


function SysUtilsDeleteFile(const FileName:RawByteString):Boolean;
Description: To be documented
Note None documented


procedure SysUtilsFileClose(Handle:THandle);
Description: To be documented
Note None documented


function SysUtilsRenameFile(const OldName,NewName:RawByteString):Boolean;
Description: To be documented
Note None documented


function SysUtilsFileSeek(Handle:THandle; Offset,Origin:LongInt):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileTruncate(Handle:THandle;Size:Int64):Boolean;
Description: To be documented
Note None documented


function SysUtilsFileAge(const FileName:RawByteString):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileExists(const FileName:RawByteString; FollowLink:Boolean):Boolean;
Description: To be documented
Note None documented


function SysUtilsFileGetAttr(const FileName:RawByteString):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileGetDate(Handle:THandle):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileSetAttr(const FileName:RawByteString; Attr:LongInt):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileSetDate(Handle:THandle; Age:LongInt):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileRead(Handle:THandle; out Buffer; Count:LongInt):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileWrite(Handle:THandle; const Buffer; Count:LongInt):LongInt;
Description: To be documented
Note None documented


function SysUtilsFileSeekEx(Handle:THandle; Offset:Int64; Origin:LongInt):Int64;
Description: To be documented
Note None documented


function SysUtilsInternalFindFirst(const Path:RawByteString; Attr:LongInt; out SearchRec:TSearchRec; var Name:RawByteString):LongInt;
Description: To be documented
Note None documented


function SysUtilsInternalFindNext(var SearchRec:TSearchRec; var Name:RawByteString):LongInt;
Description: To be documented
Note None documented


procedure SysUtilsInternalFindClose(var Handle:THandle);
Description: To be documented
Note None documented


SysUtils disk functions

function SysUtilsDiskFree(Drive:Byte):Int64;
Description: To be documented
Note No Volume Support


function SysUtilsDiskSize(Drive:Byte):Int64;
Description: To be documented
Note No Volume Support


function SysUtilsDirectoryExists(const Directory:RawByteString; FollowLink:Boolean):Boolean;
Description: To be documented
Note None documented


FileSystem logging functions

function FileSysLoggingStart(Logging:PLoggingDevice):LongWord;
Description: Implementation of LoggingDeviceStart API for FileSystem Logging
Note Not intended to be called directly by applications, use LoggingDeviceStart instead.


function FileSysLoggingStop(Logging:PLoggingDevice):LongWord;
Description: Implementation of LoggingDeviceStop API for FileSystem Logging
Note Not intended to be called directly by applications, use LoggingDeviceStop instead.


function FileSysLoggingOutput(Logging:PLoggingDevice; const Data:String):LongWord;
Description: Implementation of LoggingDeviceOutput API for FileSystem Logging
Note Not intended to be called directly by applications, use LoggingDeviceOutput instead.


function FileSysLoggingSetTarget(Logging:PLoggingDevice; const Target:String):LongWord;
Description: Implementation of LoggingDeviceSetTarget API for FileSystem Logging
Note Not intended to be called directly by applications, use LoggingDeviceSetTarget instead.


FileSystem helper functions

function FileSysRedirectInput(Handle:THandle):Boolean;
Description: Redirect standard input to the file specified by Handle
Handle The file handle to redirect input to (or INVALID_HANDLE_VALUE to stop redirection)
Return True if completed successfully or False if an error occurred
Note Redirects the input of the text file Input which also redirects the input of Read, ReadLn and the standard C library.


function FileSysRedirectOutput(Handle:THandle):Boolean;
Description: Redirect standard output to the file specified by Handle
Handle The file handle to redirect output to (or INVALID_HANDLE_VALUE to stop redirection)
Return True if completed successfully or False if an error occurred
Note Redirects the output of the text files Output, ErrOutput, StdOut and StdErr which also redirects the output of Write, WriteLn and the standard C library.


function FileSysStorageGetMediaType(Storage:PStorageDevice):TMediaType;
Description: To be documented
Note None documented


function FileSysStorageGetController(Storage:PStorageDevice):TDiskController;
Description: To be documented
Note None documented


procedure FileSysStorageDeviceAdd(Event:PStorageDeviceEvent);
Description: To be documented
Note None documented


procedure FileSysStorageDeviceInsert(Event:PStorageDeviceEvent);
Description: To be documented
Note None documented


function FileSysStorageDeviceRemove(Storage:PStorageDevice):LongWord;
Description: To be documented
Note None documented


function FileSysStorageDeviceEject(Storage:PStorageDevice):LongWord;
Description: To be documented
Note None documented


function FileSysStorageDeviceEnum(Storage:PStorageDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function FileSysStorageDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented
Note None documented


function ComparePartitions(APartition1,APartition2:Pointer):Integer;
Description: Sort partitions in order of start sector
Note None documented


procedure FileSysLog(Level:Integer;const AText:String);
Description: To be documented
Note None documented


procedure FileSysLogInfo(const AText:String); inline;
Description: To be documented
Note None documented


procedure FileSysLogWarn(const AText:String); inline;
Description: To be documented
Note None documented


procedure FileSysLogError(const AText:String); inline;
Description: To be documented
Note None documented


procedure FileSysLogDebug(const AText:String); inline;
Description: To be documented
Note None documented


procedure CacheCheckTimer(Data:Pointer);
Description: To be documented
Note None documented


procedure EntryCheckTimer(Data:Pointer);
Description: To be documented
Note None documented


procedure EntryProcessTimer(Data:Pointer);
Description: To be documented
Note None documented


function MediaTypeToString(AType:TMediaType):String;
Description: To be documented
Note None documented


function FloppyTypeToString(AType:TFloppyType):String;
Description: To be documented
Note None documented


function ImageTypeToString(AType:TImageType):String;
Description: To be documented
Note None documented


function DriveTypeToString(AType:TDriveType):String;
Description: To be documented
Note None documented


function FileSysTypeToString(AType:TFileSysType):String;
Description: To be documented
Note None documented


function StringToFileSysType(const AFileSysType:String):TFileSysType;
Description: To be documented
Note None documented


function PartitionIdToString(AId:Byte):String;
Description: To be documented
Note None documented


function StringToPartitionId(const APartitionId:String):Byte;
Description: To be documented
Note None documented


function CacheModeToString(ACacheMode:TCacheMode):String;
Description: To be documented
Note None documented


function CacheStateToString(ACacheState:TCacheState):String;
Description: To be documented
Note None documented


function CachePageTimeToDateTime(const APageTime:Int64):TDateTime;
Description: To be documented
Note None documented


Return to Unit Reference