Difference between revisions of "Unit CDFS"

From Ultibo.org
Jump to: navigation, search
 
(15 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
----
 
----
  
'''Ultibo CDFS interface unit'''
+
'''Ultibo CDFS Interface unit'''
 
+
''To be documented''
+
  
 
=== Constants ===
 
=== Constants ===
Line 34: Line 32:
 
|-
 
|-
 
| <code>cdfsUDF = 5;</code>
 
| <code>cdfsUDF = 5;</code>
| &nbsp;
 
|-
 
|colspan="2"|&nbsp;
 
|-
 
|colspan="2"|<code>cdfsNames:array[0..5] of String = (</code>
 
|-
 
| <code>'CD001',</code>
 
| &nbsp;
 
|-
 
| <code>'CD001',</code>
 
| &nbsp;
 
|-
 
| <code>'CDROM',</code>
 
| &nbsp;
 
|-
 
| <code>'',</code>
 
| &nbsp;
 
|-
 
| <code>'CDAUDIO',</code>
 
| &nbsp;
 
|-
 
| <code>'');</code>
 
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 67: Line 43:
 
|-
 
|-
 
| <code>cdfsDotDotName = '..';</code>
 
| <code>cdfsDotDotName = '..';</code>
| &nbsp;
 
|-
 
| <code>cdfsBlankName = '';</code>
 
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 261: Line 234:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS bitmap mask constants''' <code> cdfsBitmapMask* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS bitmap mask''' <code> cdfsBitmapMask* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 278: Line 251:
 
<br />
 
<br />
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS volume flag constants''' <code> cdfsVolumeFlag* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS volume flag''' <code> cdfsVolumeFlag* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 292: Line 265:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS file flag constants''' <code> cdfsFileFlag* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS file flag''' <code> cdfsFileFlag* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 327: Line 300:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS permissions constants''' <code> cdfsPermission* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS permissions''' <code> cdfsPermission* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 383: Line 356:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS path table constants''' <code> cdfsPathTable* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS path table''' <code> cdfsPathTable* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 403: Line 376:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS volume descriptor constants''' <code> cdfsVolumeDescriptor* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS volume descriptor''' <code> cdfsVolumeDescriptor* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 426: Line 399:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS header constants''' <code> cdfsElTorito* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS header''' <code> cdfsElTorito* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 452: Line 425:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS signature constants''' <code> cdfsElToritoSignature* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS signature''' <code> cdfsElToritoSignature* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 463: Line 436:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS platform Id constants''' <code> cdfsElToritoPlatform* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS platform Id''' <code> cdfsElToritoPlatform* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 480: Line 453:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS media type constants''' <code> cdfsElToritoMedia* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS media type''' <code> cdfsElToritoMedia* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 523: Line 496:
 
<br />  
 
<br />  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 
<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;">'''CDFS extension flag constants''' <code> cdfsElToritoExtensionFlag* </code></div>
+
<div style="font-size: 14px; padding-left: 12px;">'''CDFS extension flag''' <code> cdfsElToritoExtensionFlag* </code></div>
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
Line 547: Line 520:
 
|}  
 
|}  
  
'''CDFS time types'''  
+
'''CDFS time'''  
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 582: Line 555:
 
</div></div>
 
</div></div>
 
   
 
   
'''CDFS date time types'''   
+
'''CDFS date time'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 620: Line 593:
 
</div></div>
 
</div></div>
  
'''CDFS directory record types'''
+
'''CDFS directory record'''
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 682: Line 655:
 
</div></div>
 
</div></div>
 
   
 
   
'''CDFS path record types'''
+
'''CDFS path record'''
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 714: Line 687:
 
</div></div>
 
</div></div>
  
'''CDFS extended record types'''   
+
'''CDFS extended record'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 794: Line 767:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''CDFS volume descriptor header types'''
+
'''CDFS volume descriptor header'''
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 820: Line 793:
 
</div></div>
 
</div></div>
  
'''CDFS volume descriptor boot types'''  
+
'''CDFS volume descriptor boot'''  
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 852: Line 825:
 
</div></div>
 
</div></div>
 
    
 
    
'''CDFS volume descriptor primary types'''   
+
'''CDFS volume descriptor primary'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 980: Line 953:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''CDFS volume descriptor supplementary types'''   
+
'''CDFS volume descriptor supplementary'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,108: Line 1,081:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''CDFS volume descriptor partition types'''   
+
'''CDFS volume descriptor partition'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,155: Line 1,128:
 
</div></div>
 
</div></div>
 
   
 
   
'''CDFS volume descriptor terminator types'''   
+
'''CDFS volume descriptor terminator'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,181: Line 1,154:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''ELTORITO validation record types'''   
+
'''EL TORITO validation record'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,213: Line 1,186:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''ELTORITO default record types'''   
+
'''EL TORITO default record'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,243: Line 1,216:
 
|-
 
|-
 
| <code>LoadRBA:LongWord;</code>
 
| <code>LoadRBA:LongWord;</code>
| Load RBA. This is the start address of the virtual disk. CD?s use Relative/Logical block addressing
+
| Load RBA. This is the start address of the virtual disk. CDs use Relative/Logical block addressing
 
|-
 
|-
 
| <code>Reserved2:array[0..19] of Byte; {Unused, must be 0}</code>
 
| <code>Reserved2:array[0..19] of Byte; {Unused, must be 0}</code>
Line 1,251: Line 1,224:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''ELTORITO section header types'''
+
'''EL TORITO section header'''
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,277: Line 1,250:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''ELTORITO section record types'''   
+
'''EL TORITO section record'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,307: Line 1,280:
 
|-
 
|-
 
| <code>LoadRBA:LongWord;</code>
 
| <code>LoadRBA:LongWord;</code>
| Load RBA. This is the start address of the virtual disk. CD?s use Relative/Logical block addressing
+
| Load RBA. This is the start address of the virtual disk. CDs use Relative/Logical block addressing
 
|-
 
|-
 
| <code>SelectionType:Byte;</code>
 
| <code>SelectionType:Byte;</code>
Line 1,318: Line 1,291:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''ELTORITO section extension types'''   
+
'''EL TORITO section extension'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,341: Line 1,314:
 
</div></div>   
 
</div></div>   
 
   
 
   
'''ELTORITO volume descriptor boot types'''   
+
'''EL TORITO volume descriptor boot'''   
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
 
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
Line 1,362: Line 1,335:
 
|-
 
|-
 
| <code>SystemIdentifier:array[0..31] of Char;</code>
 
| <code>SystemIdentifier:array[0..31] of Char;</code>
| Boot System Identifier, must be 'EL TORITO SPECIFICATION' padded with 0?s
+
| Boot System Identifier, must be 'EL TORITO SPECIFICATION' padded with 0s
 
|-
 
|-
 
| <code>Reserved1:array[0..31] of Byte;</code>
 
| <code>Reserved1:array[0..31] of Byte;</code>
Line 1,380: Line 1,353:
 
----
 
----
  
''To be documented''
+
 
 +
'''CDFS specific classes'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSRecognizer|<code>TCDFSRecognizer = class(TRecognizer)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSFormatter|<code>TCDFSFormatter = class(TDiskFormatter)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSResizer|<code>TCDFSResizer = class(TDiskResizer)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSCopier|<code>TCDFSCopier = class(TDiskCopier)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSFileSystem|<code>TCDFSFileSystem = class(TFileSystem)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskTable|<code>TCDFSDiskTable = class(TDiskTable)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskBlock|<code>TCDFSDiskBlock = class(TDiskBlock)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskEntry|<code>TCDFSDiskEntry = class(TDiskEntry)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskCatalog|<code>TCDFSDiskCatalog = class(TDiskCatalog)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskPath|<code>TCDFSDiskPath = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskExtended|<code>TCDFSDiskExtended = class(TObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskDescriptor|<code>TCDFSDiskDescriptor = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskHeader|<code>TCDFSDiskHeader = class(TListObject)</code>]]
 +
|-
 +
|}
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| [[TCDFSDiskExtension|<code>TCDFSDiskExtension = class(TListObject)</code>]]
 +
|-
 +
|}
 +
<br /> 
  
 
=== Public variables ===
 
=== Public variables ===
Line 1,399: Line 1,445:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,411: Line 1,457:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,426: Line 1,472:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Allows byte order swapping on copy
 
| Allows byte order swapping on copy
 
|-
 
|-
Line 1,438: Line 1,484:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Allows byte order swapping on copy
 
| Allows byte order swapping on copy
 
|-
 
|-
Line 1,450: Line 1,496:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Accounts for unicode and byte ordering
 
| Accounts for unicode and byte ordering
 
|-
 
|-
Line 1,462: Line 1,508:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Accounts for unicode and byte ordering
 
| Accounts for unicode and byte ordering
 
|-
 
|-
Line 1,474: Line 1,520:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Accounts for dot and dot dot special entries
 
| Accounts for dot and dot dot special entries
 
|-
 
|-
Line 1,486: Line 1,532:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Accounts for dot and dot dot special entries
 
| Accounts for dot and dot dot special entries
 
|-
 
|-
Line 1,498: Line 1,544:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,510: Line 1,556:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,522: Line 1,568:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,534: Line 1,580:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-

Latest revision as of 05:35, 31 August 2021

Return to Unit Reference


Description


Ultibo CDFS Interface unit

Constants



[Expand]
CDFS specific constants cdfs*


[Expand]
CDFS bitmap mask cdfsBitmapMask*


[Expand]
CDFS volume flag cdfsVolumeFlag*


[Expand]
CDFS file flag cdfsFileFlag*


[Expand]
CDFS permissions cdfsPermission*


[Expand]
CDFS path table cdfsPathTable*


[Expand]
CDFS volume descriptor cdfsVolumeDescriptor*


[Expand]
CDFS header cdfsElTorito*


[Expand]
CDFS signature cdfsElToritoSignature*


[Expand]
CDFS platform Id cdfsElToritoPlatform*


[Expand]
CDFS media type cdfsElToritoMedia*


[Expand]
CDFS extension flag cdfsElToritoExtensionFlag*


Type definitions



CDFS specific types

TCDFSType = (ctNONE,ctISO9660,ctJOLIET,ctSIERRA,ctROCKRIDGE,ctAUDIO,ctUDF);

CDFS time

[Expand]

PCDFSTime = ^TCDFSTime;

TCDFSTime = packed record

CDFS date time

[Expand]

PCDFSDateTime = ^TCDFSDateTime;

TCDFSDateTime = packed record

CDFS directory record

[Expand]

PCDFSDirectoryRecord = ^TCDFSDirectoryRecord;

TCDFSDirectoryRecord = packed record

CDFS path record

[Expand]

PCDFSPathRecord = ^TCDFSPathRecord;

TCDFSPathRecord = packed record

CDFS extended record

[Expand]

PCDFSExtendedRecord = ^TCDFSExtendedRecord;

TCDFSExtendedRecord = packed record

CDFS volume descriptor header

[Expand]

PCDFSVolumeDescriptorHeader = ^TCDFSVolumeDescriptorHeader;

TCDFSVolumeDescriptorHeader = packed record

CDFS volume descriptor boot

[Expand]

PCDFSVolumeDescriptorBoot = ^TCDFSVolumeDescriptorBoot;

TCDFSVolumeDescriptorBoot = packed record

CDFS volume descriptor primary

[Expand]

PCDFSVolumeDescriptorPrimary = ^TCDFSVolumeDescriptorPrimary;

TCDFSVolumeDescriptorPrimary = packed record

CDFS volume descriptor supplementary

[Expand]

PCDFSVolumeDescriptorSupplementary = ^TCDFSVolumeDescriptorSupplementary;

TCDFSVolumeDescriptorSupplementary = packed record

CDFS volume descriptor partition

[Expand]

PCDFSVolumeDescriptorPartition = ^TCDFSVolumeDescriptorPartition;

TCDFSVolumeDescriptorPartition = packed record

CDFS volume descriptor terminator

[Expand]

PCDFSVolumeDescriptorTerminator = ^TCDFSVolumeDescriptorTerminator;

TCDFSVolumeDescriptorTerminator = packed record

EL TORITO validation record

[Expand]

PELTORITOValidationRecord = ^TELTORITOValidationRecord;

TELTORITOValidationRecord = packed record

EL TORITO default record

[Expand]

PELTORITODefaultRecord = ^TELTORITODefaultRecord;

TELTORITODefaultRecord = packed record

EL TORITO section header

[Expand]

PELTORITOSectionHeader = ^TELTORITOSectionHeader;

TELTORITOSectionHeader = packed record

EL TORITO section record

[Expand]

PELTORITOSectionRecord = ^TELTORITOSectionRecord;

TELTORITOSectionRecord = packed record

EL TORITO section extension

[Expand]

PELTORITOSectionExtension = ^TELTORITOSectionExtension;

TELTORITOSectionExtension = packed record

EL TORITO volume descriptor boot

[Expand]

PELTORITOVolumeDescriptorBoot = ^TELTORITOVolumeDescriptorBoot;

TELTORITOVolumeDescriptorBoot = packed record


Class definitions



CDFS specific classes

TCDFSRecognizer = class(TRecognizer)
TCDFSFormatter = class(TDiskFormatter)
TCDFSResizer = class(TDiskResizer)
TCDFSCopier = class(TDiskCopier)
TCDFSFileSystem = class(TFileSystem)
TCDFSDiskTable = class(TDiskTable)
TCDFSDiskBlock = class(TDiskBlock)
TCDFSDiskEntry = class(TDiskEntry)
TCDFSDiskCatalog = class(TDiskCatalog)
TCDFSDiskPath = class(TListObject)
TCDFSDiskExtended = class(TObject)
TCDFSDiskDescriptor = class(TListObject)
TCDFSDiskHeader = class(TListObject)
TCDFSDiskExtension = class(TListObject)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure CDFSInit;
Description: To be documented


[Expand]
procedure CDFSQuit;
Description: To be documented


CDFS helper functions

[Expand]
function CDFSDataToPointer(const AData; ASize:Integer; ASwap:Boolean):Pointer;
Description: Creates a pointer and copies data from a buffer


[Expand]
function CDFSPointerToData(APointer:Pointer; var AData; ASize:Integer; ASwap:Boolean):Boolean;
Description: Copies data to a buffer from supplied pointer


[Expand]
function CDFSIdentifierToString(const AIdentifier; ASize:Integer; AUnicode:Boolean):String;
Description: Converts the supplied indentifier to a string


[Expand]
function CDFSStringToIdentifier(const AString:String; var AIdentifier; ASize:Integer; AUnicode:Boolean):Boolean;
Description: Converts the supplied string to an identifier


[Expand]
function CDFSIdentifierToFileName(const AIdentifier; ASize:Integer; AUnicode:Boolean):String;
Description: Converts the supplied identifier to a filename


[Expand]
function CDFSFileNameToIdentifier(const AFileName:String; var AIdentifier; ASize:Integer; AUnicode:Boolean):Boolean;
Description: Converts the supplied filename to an identifier


[Expand]
function CDFSTimeToFileTime(const ATime:TCDFSTime):TFileTime;
Description: Converts a CDFS Time in Local to a File Time in UTC


[Expand]
function FileTimeToCDFSTime(const AFileTime:TFileTime; var ATime:TCDFSTime):Boolean;
Description: Converts a File Time in UTC to a CDFS Time in Local


[Expand]
function CDFSDateTimeToFileTime(const ADateTime:TCDFSDateTime):TFileTime;
Description: Converts a CDFS Date Time in Local to a File Time in UTC


[Expand]
function FileTimeToCDFSDateTime(const AFileTime:TFileTime; var ADateTime:TCDFSDateTime):Boolean;
Description: Converts a File Time in UTC to a CDFS Date Time in Local


Return to Unit Reference