BCOS Home » The BCOS Project » BCOS Specifications » BCOS File Format Specifications |
BCOS File Type SpecificationPreliminary Draft |
Project Map |
For the BCOS project, files are given standard file types so that software can easily determine the file format used by the file without guessing.
A 32-bit file type number is split into a pair of 16-bit components. The first 16-bit component is the "file type major" which specifies the type of data (e.g. graphics data, text data, an executable file, etc) and the second 16-bit component is the "file type minor" which specifies the exact format for the file. For example, the file type major might indicate that the file contains graphics data, while the file type minor would indicate if the file is in the OS's native graphics file format or a JPG, a GIF, a BMP, etc. For all native file formats except for special OS specific system files, the file type minor is always zero. For special OS specific system files (which all use native file formats) the file type major is always 0xFFFF, however these file types and file formats aren't intended to be used by normal applications.
The list of file type numbers (Table 1-1. File Type Numbers) is the authoritative list of all valid file type numbers, including a link to the specification that defines each file format where possible.
Major | Minor | Description | Specification |
---|---|---|---|
0x0000 | |||
0x0000 | 0x0000 | Unknown file type | None |
0xC000 | |||
0xC000 | 0x0000 | Compressed file | BCOS Compressed Native File Format Specification |
0xFFFF | |||
0xFFFF | 0x0000 | Boot Loader | None |
0xFFFF | 0x0010 | Faulty RAM List | BCOS Faulty RAM List File Format Specification |
0xFFFF | 0x0020 | Boot Script | |
0xFFFF | 0xC000 | Boot Image | |
0xFFFF | 0xE000 | 80x86 Boot Abstraction Layer | |
0xFFFF | 0xE001 | 80x86 BAL Log Output Module | |
0xFFFF | 0xE002 | 80x86 BAL CPU Detection Module | |
0xFFFF | 0xE00F | 80x86 32-bit Kernel Setup | |
0xFFFF | 0xE010 | 80x86 32-bit Kernel Module | |
0xFFFF | 0xE10F | 80x86 64-bit Kernel Setup | |
0xFFFF | 0xE110 | 80x86 64-bit Kernel Module |