CNMT
Metadata file
This is the file that ends in ".cnmt{.nca}"
or "meta0.ncd"
.
It starts with a header:
Offset | Size | Description |
---|---|---|
0x0 | 8 | Title ID |
0x8 | 4 | |
0xC | 1 | Type (see Title Types) |
0xD | 1 | |
0xE | 2 | Offset to table relative to the end of this 0x20-byte header. |
0x10 | 2 | Number of entries |
0x12 | 14 |
An optional header can follow, depending on the title type.
At the end of the file following the entries is a 0x20-byte block, presumably a hash.
With update-format, there's additional data after the end of the entries specified in the header and before the ending hash.
Application header
Offset | Size | Description |
---|---|---|
0x20 | 8 | Patch title ID |
0x28 | 8 |
Patch header
Offset | Size | Description |
---|---|---|
0x20 | 8 | Original title ID |
0x28 | 8 |
Add-on content header
Offset | Size | Description |
---|---|---|
0x20 | 8 | Application title ID |
0x28 | 8 |
Content records
Each entry is 0x38 bytes:
Offset | Size | Description |
---|---|---|
0x0 | 32 | Hash |
0x20 | 16 | NcaId [same as first 16-bytes of hash] |
0x30 | 6 | Size, same as the output from Content_Manager_services#GetEntrySize. |
0x36 | 1 | Type (0=meta, 1=program, 2=data, 3=control, 4=offline-manual html, 5=legal html) |
0x37 | 1 |