Compact File Set (CFS) is an open archive file format and software distribution container file format. Overview The Compact File Set (CFS) is an open archive file format and software distribution container file format. Basic CFS files are compatible with ISO files. It is intended to be similar enough to ISO-9660 that many systems and applications will be able to read CFS, and other applications will require only minor modifications. It is based on: ISO-9660 Joliet (file system) ISO-9660:1999 Compact ISO It is available for use in free or commercial applications without charge. It is supposed that no parts of the format are covered by patents. The primary application is expected to be container files for various archiving and distribution applications, but CFS may be useful when written directly to CD/DVD media. Goals Simplify use with data compression and with non seeking storage (pipes, sockets, tape). Simplify implementation of read and write applications compared to traditional ISO-9660/UDF based images. Improved consistency and interchange of data between different applications. Simplify implementation of applications that modify images. Increase storage efficiency by using less image space for media structures and duplicated directory data. Eliminate the folder count limitation imposed in ISO-9660 by the path table. Eliminate the file size limitations imposed by various compatibility restrictions with use of ISO-9660 and UDF. Main differences of CFS from ISO-9660 The layout and contents of the media header (first 40k) is fixed, always containing the same sequence of volume structures and data. All file names and text fields are stored as big-endian UCS-2, as specified in the Joliet extensions. Arbitrary limitations on file name and directory depth are removed, up to the limitations of the ISO-9660 file record structure, 110 16 bit characters. All directory data is written after the last block of file data. Readers are expected to handle files over 4GB in size. Path tables are optionally generated but are not used. Technical Information Media header The first 20 blocks (40K) of the logical image is the media header. The layout of the media header is compatible with the various descriptor and directory structures for ISO-9660. The first block of file data is stored in block 20, immediately following the media header. The media header has the following layout: block 0-11 all zero block 12 compatibility readme file text block 13 compatibility root folder block 14 compatibility little-endian path table block 15 compatibility big-endian