Skip to content

Prelude

Stones are encoded with a version agnostic header, the Prelude, ensuring that version-specific fields can be handled separately from version and format detection. This is a 32-byte header at the start of the stone.

FieldTypeSizeDescription
Magicstr4Always 0x006d6f73
DataVersion-dependent24Version-specific header of the stone
Versionuint4Version number, i.e. 1

It’s the magic number of the Stone format.

The Magic field always contains ['\0', 'M', 'O', 'S']. It is defined after AerynOS’s package manager: moss.

In the Rust language it is defined as:

pub const STONE_MAGIC: &[u8; 4] = b"\0mos";

The content of the Data field depends on the Version field. Documentation about Stone versions is available in the next pages.

A number that uniquely identifies the version of the Stone format in use.