BCOS Home » The BCOS Project » BCOS Specifications » BCOS File Format Specifications

BCOS File Type Specification

Preliminary Draft

Project Map

Chapter 1: Introduction

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.

1.1. File Type Numbers

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.

1.2. File Type List

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.

Table 1-1. File Type Numbers
MajorMinorDescriptionSpecification
0x0000
0x00000x0000Unknown file typeNone
0xC000
0xC0000x0000Compressed fileBCOS Compressed Native File Format Specification
0xFFFF
0xFFFF0x0000Boot LoaderNone
0xFFFF0x0010Faulty RAM ListBCOS Faulty RAM List File Format Specification
0xFFFF0x0020Boot Script
0xFFFF0xC000Boot Image
0xFFFF0xE00080x86 Boot Abstraction Layer
0xFFFF0xE00180x86 BAL Log Output Module
0xFFFF0xE00280x86 BAL CPU Detection Module
0xFFFF0xE00F80x86 32-bit Kernel Setup
0xFFFF0xE01080x86 32-bit Kernel Module
0xFFFF0xE10F80x86 64-bit Kernel Setup
0xFFFF0xE11080x86 64-bit Kernel Module
Generated at 04:16:59 on the 19th of May, 2019 (UTC)